多个操作系统,浏览器,可使用Saucelabs和QAF框架并行执行 [英] Multiple OS, browsers for parallel execution using Saucelabs and QAF framework

查看:86
本文介绍了多个操作系统,浏览器,可使用Saucelabs和QAF框架并行执行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在将QAF自动化框架与Selenium Web驱动程序,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)中的OS/浏览器作为参数,但不确定为什么它不起作用.

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

解决方案

您可以使用Sauce Labs

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

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

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

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

  <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>

I'm using QAF Automation framework with Selenium Web Driver, Java, TestNG and been successful in executing one test at a time, remotely on Sauce labs. But my test executes for Windows OS, when I want it to execute on Mac OS. Not sure why windows is being selected by default.

The only properties I provided are:

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

Where should I mention in QAF Framework?

  1. multiple OS - Windows or Mac OS

  2. different browsers to use - Firefox, Chrome, Safari and IE.

I tried OS/browsers in config.xml file (testng.xml) as parameters but not sure why it's not working.

If you've worked with QAF frameworks before and successful with sauce parallel execution, please help!

解决方案

You can use Sauce Labs Platform Configurator to correctly configure the required test capabilities for your Appium and Selenium tests. It will generate code fore capabilities to use. For example, on selecting Api -> Selenium, Device -> Mac, Operating system - >Mac OS Sierra, Browser -> Chrome 61.0 it will generate following java code.

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

When usig QAF you can provide capability using property as below

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

You can use different combinations as documented in setting driver capabilities.

If you want to run your test on different browser/os combination you can do it in config file. Here is the example configuration file

  <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>

这篇关于多个操作系统,浏览器,可使用Saucelabs和QAF框架并行执行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆