多个操作系统,使用Saucelabs和QAF框架进行并行执行的浏览器

时间:2017-09-04 17:52:36

标签: java selenium automation saucelabs qaf

我正在使用QAF自动化框架和Selenium Web Driver,Java,TestNG,并成功地在Sauce实验室远程执行一项测试。但我的测试是针对Windows操作系统执行的,当时我希望它在Mac OS上执行。不确定为什么默认选择窗口。

我提供的唯一属性是:

remote.server=http://username:ACCESS_KEY@ondemand.saucelabs.com:80/wd/hub
remote.port=80
driver.name=chromeRemoteDriver

在QAF框架中我应该在哪里提及?

  1. 多个操作系统 - Windows或Mac OS

  2. 使用不同的浏览器 - Firefox,Chrome,Safari和IE。

  3. 我在config.xml文件(testng.xml)中尝试使用OS /浏览器作为参数,但不确定它为什么不起作用。

    如果您之前使用过QAF框架并成功进行酱油并行执行,请提供帮助!

2 个答案:

答案 0 :(得分:0)

  1. 要使用不同的浏览器,您需要为driver.name
  2. 设置适当的值
  3. 设置功能eithre提供map或
  4. 功能

    <driver>.additional.capabilities={'<capabilityname1>'='<value1>','<capabilityname2>'=<value2>}

    <driver>.capabilities.<capabilityName1>=c1value <driver>.capabilities.<capabilityName2>=c2value

    有关详细文档,请参阅setting driver capabilities

答案 1 :(得分:0)

您可以使用Sauce Labs Platform Configurator为Appium和Selenium测试正确配置所需的测试功能。它将生成要使用的代码。例如,选择Api - &gt;硒,装置 - &gt; Mac,操作系统 - &gt; Mac OS Sierra,浏览器 - &gt; Chrome 61.0将生成以下java代码。

DesiredCapabilities caps = DesiredCapabilities.chrome();
caps.setCapability("platform", "macOS 10.12");
caps.setCapability("version", "61.0");

当使用usig QAF时,您可以使用以下属性提供功能

driver.name=chromeRemoteDriver
chrome.additional.capabilities={'platform': 'macOS 10.12','version': '61.0'}

您可以使用setting driver capabilities中记录的不同组合。

如果您想在不同的浏览器/操作系统组合上运行测试,可以在配置文件中执行。这是示例配置文件

  <suite name="AUT Test Automation" verbose="0" parallel="true">
  <parameter name="chrome.capabilities.version" value="61.0" />
  <parameter name="firefox.capabilities.version" value="55.0" />
  <test name="Tests on Mac Chrome">
        <parameter name="driver.name" value="chromeRemoteDriver" />
        <parameter name="chrome.capabilities.platform" value="macOS 10.12" />           
        ...
  </test>
  <test name="Tests on Windows Chrome">
        <parameter name="driver.name" value="chromeRemoteDriver" />
        <parameter name="chrome.capabilities.platform" value="Windows 10" />           
        ...
  </test>
  <test name="Tests on Mac Firefox">
        <parameter name="driver.name" value="firefoxRemoteDriver"/>
        <parameter name="firefox.capabilities.platform" value="macOS 10.12" />                                 

  <test name="Tests on Windows Firefox">
        <parameter name="driver.name" value="firefoxRemoteDriver"/>
        <parameter name="firefox.capabilities.platform" value="Windows 10" />                                 
        ...
  </test>
  </suite>