如何使用selenium + testng并行运行测试用例
问题描述:
我想用不同的参数并行运行测试用例。我的testng.xml看起来像这样如何使用selenium + testng并行运行测试用例
<suite name="Automation Testing" preserve-order="true">
<parameter name="browser" value="@[email protected]"/>
<test name="Login">
<classes>
<class name="common.Login" > </class>
</classes>
</test>
</suite>
的Java类,它接受参数
@parameters({'browser'})
@beforesuite
public void login(String browser){
if(broswer.equals('ff')){
WebDriver driver = new FirefoxDriver()
}
}
我已经通过这个环节https://stackoverflow.com/questions/14625256/how-to-run-the-test-in-parallel-using-selenium-webdrivertestng了......但我还没有什么出它...请让我知道我该怎么做.....
答
如果你想让相同的测试用例在不同的浏览器上运行,有不同的方法。
在我们的xml文件中定义多个
<test>
并具有单独的参数。您需要为每个@ BROWSER @ @ @ @ BROWSER1,@ BROWSER2重新命名。然后运行parallel = tests,这会在不同的浏览器上触发相同的测试用例。但是,这种方法的问题是,您将不得不始终向您的ant提供固定数量的浏览xml另一种方法是向@ BROWSER @参数提供逗号分隔列表。使用数据提供者进行拆分并创建驱动程序实例。设置parallel =方法。
设置parallel =方法。控制基于浏览器的paralle从外部即触发运行,如果你正在使用像詹金斯与@浏览器不同的参数值@
你为什么不把并行=“测试”你的testng.xml – Paras 2014-12-08 05:48:20
各个地方建立你会通过@浏览器@从? – 2014-12-08 06:50:55
@pArAs ya,但我想运行不同的参数。可以说,第一个实例应该调用ff浏览器,第二个实例应该调用chrome浏览器。 – sharan 2014-12-08 12:51:20