我正在使用testNG并行运行一些Selenium测试,我的suite.xml看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite thread-count="20" name="Suite" parallel="methods">
<test name="Test1" group-by-instances="true" junit="true">
<classes>
<class name="uk.co.Pack1"/>
<class name="uk.co.Pack2"/>
</classes>
</test>
</suite>
Pack1
包含2个测试, Pack2
包含1个测试,所以使用 parallel="methods"
我希望3个Chrome浏览器出现,但只有一个 .
如果我在单独的测试中使用其方法编写每个类,每个类都指定了一个方法,那么设置 parallel="tests"
它是有效的 - 但重复代码就像我不喜欢的最佳实践 .
任何人都可以帮助为什么这可能是?
谢谢 .
2 回答
我是初学者,我花了3个多小时,
每次我执行它都很顺利,但不是一个场景 .
你的两个 class 都有相同的父班吗?你是在父母班上发起你的“司机”吗?并为您的子类使用相同的驱动程序实例?
当我执行上述操作时,它调用相同的浏览器来运行所有测试,但运行了3个线程 .
尝试使用
parallel="tests"
而不是"methods" . 它将并行运行所有测试