1

我正在将 QAF 自动化框架与 Selenium Web Driver、Java、TestNG 一起使用,并成功地一次在 Sauce 实验室远程执行一项测试。但是当我希望它在 Mac OS 上执行时,我的测试是针对 Windows 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。

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

如果您之前使用过 QAF 框架并且成功地使用了并行执行,请帮助!

4

2 回答 2

0
  1. 要使用不同的浏览器,您需要为driver.name
  2. 设置能力或者提供能力作为地图或

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

或者

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

有关详细文档,请参阅设置驱动程序功能

于 2017-09-18T22:10:14.400 回答
0

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

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

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

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

您可以使用设置驱动程序功能中记录的不同组合。

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

  <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>
于 2017-09-20T05:18:54.520 回答