﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<AxeAssessmentManifest xmlns="http://www.microsoft.com/axe/assessment/manifest" SchemaVersion="1.1">
    <VersionedId>
        <Guid>{821a1d14-36f5-4e58-8f34-07d313951422}</Guid>
        <Version>
            <Major>2</Major>
            <Minor>0</Minor>
            <Build>2401</Build>
            <Revision>28001</Revision>
        </Version>
    </VersionedId>
    <MinimumAxeVersionRequired>
        <Version>
            <Major>10</Major>
            <Minor>0</Minor>
            <Build>22000</Build>
            <Revision>0</Revision>
        </Version>
    </MinimumAxeVersionRequired>
    <Description>
        <ProgrammaticName>EdgeAutomationWorkload</ProgrammaticName>
        <DisplayName>Web Browsing energy efficiency</DisplayName>
        <ToolTip>Various energy efficiency workloads for Microsoft Edge</ToolTip>
        <Tags>
            <Tag>OEM</Tag>
            <Tag>ODM</Tag>
            <Tag>Energy Efficiency Test</Tag>
        </Tags>
        <Categories>
            <Category>Energy and Battery</Category>
        </Categories>
    </Description>
    <Properties>
        <Author>Microsoft Corporation</Author>
        <Url>https://go.microsoft.com/fwlink/?LinkID=293840</Url>
        <AuthorUrl>https://go.microsoft.com/fwlink/?LinkID=294051</AuthorUrl>
        <UpdateUrl>https://go.microsoft.com/fwlink/?LinkID=294052</UpdateUrl>
        <Copyright>© 2013 Microsoft Corporation. All rights reserved.</Copyright>
        <OnlyForProcessor>
            <X86 />
            <X64 />
            <ARM64 />
        </OnlyForProcessor>
        <VerifyOSVersion>
            <Version>
                <Major>10</Major>
                <Minor>0</Minor>
                <Build>19041</Build>
                <Revision>0</Revision>
            </Version>
        </VerifyOSVersion>
        <ShouldRunSilent />
        <PowerProfileNotBalancedWarn />
        <DriverVerifierWarn />
        <ProblemDevicesWarn />
        <RequiresDisplay />
        <EstimatedRunTime>1800000000</EstimatedRunTime>
        <WatchDogTimeOut>36000000000</WatchDogTimeOut>
        <ExitValueMeaning>
            <ZeroIsSuccess />
        </ExitValueMeaning>
        <JobKind>
            <BatteryLife />
        </JobKind>
        <UniversalAssessment />
    </Properties>
    <ParameterDefinitions>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>Iterations</ProgrammaticName>
                <DisplayName>Number of Iterations</DisplayName>
                <ToolTip>Specify the number of iterations the assessment should perform. Default value is 3.</ToolTip>
                <Categories>
                    <Category>Execution Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <Inclusion>
                <Required />
            </Inclusion>
            <DefaultValue>3</DefaultValue>
            <Constraints>
                <MinimumConstraint>1</MinimumConstraint>
                <MaximumConstraint>20</MaximumConstraint>
            </Constraints>
            <CommandLineFormat>-Iterations {0}</CommandLineFormat>
            <Ordinal>1</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>ScenarioIndex</ProgrammaticName>
                <DisplayName>Scenario Json File Index</DisplayName>
                <ToolTip>Specify the scenario json file the assessment should play.</ToolTip>
                <Categories>
                    <Category>Execution Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <Enumerations>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Browsing</ProgrammaticName>
                        <DisplayName>Browsing Websites</DisplayName>
                    </Description>
                    <Value>0</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Office</ProgrammaticName>
                        <DisplayName>Running Office Applications</DisplayName>
                    </Description>
                    <Value>1</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Skype</ProgrammaticName>
                        <DisplayName>Joining a Skype Meeting</DisplayName>
                    </Description>
                    <Value>2</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Netflix</ProgrammaticName>
                        <DisplayName>Playing a Netflix Video</DisplayName>
                    </Description>
                    <Value>3</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>YouTube</ProgrammaticName>
                        <DisplayName>Playing a YouTube Video (default)</DisplayName>
                    </Description>
                    <Value>4</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>BrowsingCN</ProgrammaticName>
                        <DisplayName>Browsing Websites (CN)</DisplayName>
                    </Description>
                    <Value>5</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>BrowsingHobl</ProgrammaticName>
                        <DisplayName>Browsing Websites (hobl)</DisplayName>
                    </Description>
                    <Value>6</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>BrowsingAbl</ProgrammaticName>
                        <DisplayName>Browsing Websites (abl)</DisplayName>
                    </Description>
                    <Value>7</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>BrowsingAuthentication</ProgrammaticName>
                        <DisplayName>Browsing Authentication</DisplayName>
                    </Description>
                    <Value>8</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>YoutubeToS</ProgrammaticName>
                        <DisplayName>Playing a YouTube Video (ToS)</DisplayName>
                    </Description>
                    <Value>9</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>BrowsingAblCN</ProgrammaticName>
                        <DisplayName>Browsing Websites (abl_CN)</DisplayName>
                    </Description>
                    <Value>10</Value>
                </Enumeration>
            </Enumerations>
            <Inclusion>
                <Required />
            </Inclusion>
            <DefaultValue>0</DefaultValue>
            <CommandLineFormat>-ScenarioIndex {0}</CommandLineFormat>
            <Ordinal>2</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>ScenarioDurationSecs</ProgrammaticName>
                <DisplayName>Scenario Duration (secs)</DisplayName>
                <ToolTip>Specify the duration for calls or streaming.</ToolTip>
                <Categories>
                    <Category>Workload Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <DefaultValue>1800</DefaultValue>
            <BenchmarkValue>1800</BenchmarkValue>
            <Constraints>
                <MinimumConstraint>300</MinimumConstraint>
            </Constraints>
            <CommandLineFormat>-ScenarioDurationSecs {0}</CommandLineFormat>
            <Ordinal>3</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>Mode</ProgrammaticName>
                <DisplayName>Mode</DisplayName>
                <ToolTip>Specify the execution mode (training, normal or native i.e. without WebDriver)</ToolTip>
                <Categories>
                    <Category>Execution Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <Enumerations>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Normal</ProgrammaticName>
                        <DisplayName>Normal</DisplayName>
                    </Description>
                    <Value>0</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Training</ProgrammaticName>
                        <DisplayName>Training</DisplayName>
                    </Description>
                    <Value>1</Value>
                </Enumeration>
                <Enumeration>
                    <Description>
                        <ProgrammaticName>Trained</ProgrammaticName>
                        <DisplayName>Trained</DisplayName>
                    </Description>
                    <Value>2</Value>
                </Enumeration>
            </Enumerations>
            <Inclusion>
                <Required />
            </Inclusion>
            <DefaultValue>0</DefaultValue>
            <CommandLineFormat>-Mode {0}</CommandLineFormat>
            <Ordinal>4</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>SenderEmailAddress</ProgrammaticName>
                <DisplayName>Sender Email Address</DisplayName>
                <ToolTip>Specify the sender email address</ToolTip>
                <Categories>
                    <Category>Workload Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <String />
            </Type>
            <Inclusion>
                <OptionalIncluded />
            </Inclusion>
            <CommandLineFormat>-SenderEmailAddress '{0}'</CommandLineFormat>
            <Ordinal>5</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>SenderEmailPassword</ProgrammaticName>
                <DisplayName>Sender Email Password</DisplayName>
                <ToolTip>Specify the sender email password</ToolTip>
                <Categories>
                    <Category>Workload Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <String />
            </Type>
            <Inclusion>
                <OptionalIncluded />
            </Inclusion>
            <CommandLineFormat>-SenderEmailPassword '{0}'</CommandLineFormat>
            <Ordinal>6</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>MeetingInvitationUrl</ProgrammaticName>
                <DisplayName>Meeting Invitation URL</DisplayName>
                <ToolTip>Specify the meeting invitation URL</ToolTip>
                <Categories>
                    <Category>Workload Parameters</Category>
                </Categories>
            </Description>
            <Type>
                <String />
            </Type>
            <Inclusion>
                <OptionalIncluded />
            </Inclusion>
            <CommandLineFormat>-MeetingInvitationUrl '{0}'</CommandLineFormat>
            <Ordinal>7</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>CredentialFilePath</ProgrammaticName>
                <DisplayName>Credential File Path</DisplayName>
                <ToolTip>Specify the credential file path (Template: scenario.browsing.credentials.json)</ToolTip>
                <Categories>
                    <Category>Workload Parameters</Category>
                </Categories>
            </Description>
            <Visibility>
                <Hidden />
            </Visibility>
            <Type>
                <String />
            </Type>
            <Inclusion>
                <OptionalIncluded />
            </Inclusion>
            <DefaultValue>parameters.browsing.credentials.json</DefaultValue>
            <BenchmarkValue>parameters.browsing.credentials.json</BenchmarkValue>
            <CommandLineFormat>-CredentialFilePath '{0}'</CommandLineFormat>
            <Ordinal>8</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>EmulationEnabled</ProgrammaticName>
                <DisplayName>Enable device emulation</DisplayName>
                <ToolTip>Enable DevTools device emulation for screen resolution</ToolTip>
                <Categories>
                    <Category>Device Emulation</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <DefaultValue>False</DefaultValue>
            <BenchmarkValue>False</BenchmarkValue>
            <CommandLineFormat>-EmulationEnabled</CommandLineFormat>
            <Ordinal>9</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>ScreenHeight</ProgrammaticName>
                <DisplayName>Screen height (pixels)</DisplayName>
                <ToolTip>Screen height pixel count</ToolTip>
                <Categories>
                    <Category>Device Emulation</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <PresentWith>
                <ParameterIds>
                    <ParameterId>
                        <ProgrammaticName>EmulationEnabled</ProgrammaticName>
                        <Value>True</Value>
                    </ParameterId>
                </ParameterIds>
            </PresentWith>
            <CommandLineFormat>-ScreenHeight {0}</CommandLineFormat>
            <Ordinal>10</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>ScreenWidth</ProgrammaticName>
                <DisplayName>Screen width (pixels)</DisplayName>
                <ToolTip>Screen width pixel count</ToolTip>
                <Categories>
                    <Category>Device Emulation</Category>
                </Categories>
            </Description>
            <Type>
                <Int32 />
            </Type>
            <PresentWith>
                <ParameterIds>
                    <ParameterId>
                        <ProgrammaticName>EmulationEnabled</ProgrammaticName>
                        <Value>True</Value>
                    </ParameterId>
                </ParameterIds>
            </PresentWith>
            <CommandLineFormat>-ScreenWidth {0}</CommandLineFormat>
            <Ordinal>11</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>PixelRatio</ProgrammaticName>
                <DisplayName>Pixel ratio</DisplayName>
                <ToolTip>Ratio of the resolution in physical pixels to the resolution in CSS pixels for the current display</ToolTip>
                <Categories>
                    <Category>Device Emulation</Category>
                </Categories>
            </Description>
            <Type>
                <Double />
            </Type>
            <PresentWith>
                <ParameterIds>
                    <ParameterId>
                        <ProgrammaticName>EmulationEnabled</ProgrammaticName>
                        <Value>True</Value>
                    </ParameterId>
                </ParameterIds>
            </PresentWith>
            <DefaultValue>1.0</DefaultValue>
            <BenchmarkValue>1.0</BenchmarkValue>
            <CommandLineFormat>-PixelRatio {0}</CommandLineFormat>
            <Ordinal>12</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>LocalDebuggingLaunch</ProgrammaticName>
                <DisplayName>Launch using local debugging port</DisplayName>
                <ToolTip>Launch Microsoft Edge process as the user before starting automation.</ToolTip>
                <Categories>
                    <Category>Options</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <DefaultValue>False</DefaultValue>
            <BenchmarkValue>False</BenchmarkValue>
            <CommandLineFormat>-LocalDebuggingLaunch</CommandLineFormat>
            <Ordinal>13</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>ForceImmediateSleepingTabs</ProgrammaticName>
                <DisplayName>Force tabs immediate timeout</DisplayName>
                <ToolTip>Enables Sleeping Tabs feature with an immediate timeout.</ToolTip>
                <Categories>
                    <Category>Options</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <DefaultValue>False</DefaultValue>
            <BenchmarkValue>False</BenchmarkValue>
            <CommandLineFormat>-ForceImmediateSleepingTabs</CommandLineFormat>
            <Ordinal>14</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>CollectHistograms</ProgrammaticName>
                <DisplayName>Collect histograms</DisplayName>
                <ToolTip>Save performance histograms to results at the end of the assessment execution.</ToolTip>
                <Categories>
                    <Category>Options</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <DefaultValue>False</DefaultValue>
            <BenchmarkValue>False</BenchmarkValue>
            <CommandLineFormat>-CollectHistograms</CommandLineFormat>
            <Ordinal>15</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>UserPreExecuteWorkloadCommand</ProgrammaticName>
                <DisplayName>Pre Execute Workload command</DisplayName>
                <ToolTip>The command of Pre Execute Workload.</ToolTip>
                <Categories>
                    <Category>Pre/Post Execute Workload</Category>
                </Categories>
            </Description>
            <Type>
                <String />
            </Type>
            <DefaultValue>%AssessmentSystemPath%\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy bypass -Command ..\universal\ReadRaritanPower.ps1 -ReadPower 'Python ..\universal\ReadRaritanPower.py' -Stage Pre</DefaultValue>
            <CommandLineFormat>{0}</CommandLineFormat>
            <ForUserPreExecuteWorkloadCommand>True</ForUserPreExecuteWorkloadCommand>
            <ForExecuteWorkloadCommand>False</ForExecuteWorkloadCommand>
            <Ordinal>16</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>WaitUserPreExecuteWorkload</ProgrammaticName>
                <DisplayName>Wait Pre Execute Workload</DisplayName>
                <ToolTip>Wait for the Pre Execute Workload.</ToolTip>
                <Categories>
                    <Category>Pre/Post Execute Workload</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <ForWaitUserPreExecuteWorkload>True</ForWaitUserPreExecuteWorkload>
            <ForExecuteWorkloadCommand>False</ForExecuteWorkloadCommand>
            <DefaultValue>True</DefaultValue>
            <Ordinal>17</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>UserPostExecuteWorkloadCommand</ProgrammaticName>
                <DisplayName>Post Execute Workload command</DisplayName>
                <ToolTip>The command of Post Execute Workload.</ToolTip>
                <Categories>
                    <Category>Pre/Post Execute Workload</Category>
                </Categories>
            </Description>
            <Type>
                <String />
            </Type>
            <DefaultValue>%AssessmentSystemPath%\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy bypass -Command ..\universal\ReadRaritanPower.ps1 -ReadPower 'Python ..\universal\ReadRaritanPower.py' -Stage Post</DefaultValue>
            <CommandLineFormat>{0}</CommandLineFormat>
            <ForExecuteWorkloadCommand>False</ForExecuteWorkloadCommand>
            <ForUserPostExecuteWorkloadCommand>True</ForUserPostExecuteWorkloadCommand>
            <Ordinal>18</Ordinal>
        </ParameterDefinition>
        <ParameterDefinition>
            <Description>
                <ProgrammaticName>WaitUserPostExecuteWorkload</ProgrammaticName>
                <DisplayName>Wait Post Execute Workload</DisplayName>
                <ToolTip>Wait for the Post Execute Workload.</ToolTip>
                <Categories>
                    <Category>Pre/Post Execute Workload</Category>
                </Categories>
            </Description>
            <Type>
                <Boolean />
            </Type>
            <ForExecuteWorkloadCommand>False</ForExecuteWorkloadCommand>
            <ForWaitUserPostExecuteWorkload>True</ForWaitUserPostExecuteWorkload>
            <DefaultValue>True</DefaultValue>
            <Ordinal>19</Ordinal>
        </ParameterDefinition>
    </ParameterDefinitions>
    <Execution>
        <CreateProcess>
            <ApplicationName>%AssessmentSystemPath%\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy bypass -Command .\EdgeAutomation.ps1</ApplicationName>
            <CreateNoWindow />
        </CreateProcess>
    </Execution>
    <Diagnostics>
        <TracingProfiles>
            <TracingProfile>
                <ProgrammaticName>EnergyDiagnostics</ProgrammaticName>
                <FileName>..\legacy\resources\E3.wprp</FileName>
                <ProfileName>E3Profile.Light.Memory</ProfileName>
                <MergeProfile>TraceMerge_Default</MergeProfile>
            </TracingProfile>
            <TracingProfile>
                <ProgrammaticName>EnergyDiagnosticsVerbose</ProgrammaticName>
                <FileName>..\legacy\resources\E3.wprp</FileName>
                <ProfileName>E3Profile.Verbose.Memory</ProfileName>
                <MergeProfile>TraceMerge_Default</MergeProfile>
            </TracingProfile>
        </TracingProfiles>
    </Diagnostics>
    <LocalizedStringDictionary />
</AxeAssessmentManifest>
