如何解决数据提供者并行执行测试NG
这个问题问了很多时间,但之前回答的所有解决方案都不适合我
基类只是初始化驱动程序:-
Note Here i am not using Threadlocal Class ( getter and setting) for Driver initialization
public static WebDriver initialize_WebDriver() throws Exception {
if (driver == null) {
if (prop.getProperty("browser").equalsIgnoreCase("chrome")) {
chromeSetup();
} else if (prop.getProperty("browser").equalsIgnoreCase("firefox")) {
firefoxSetup();}
}
测试类:这里@DataProvider
是从excel表中获取值并将其传递给网页上的search bar
但我想 open multiple browsers
并获取 1st value from excel sheet and send it to one browser(let say Chrome) and fetch 2nd value from excel sheet and send it to another browser ( FireFox)
但现在它同时打开浏览器和 fetching two
值 but both values are sent to only one browser
public class States extends TestBase {
@BeforeMethod()
public void startUp() throws Exception {
initialize_WebDriver();
}
@DataProvider(name = "excelRead",parallel = true)
public Object[][] excelRead() throws IOException,InvalidFormatException {
return FakeDate.fetchTestData(System.getProperty("user.dir") + File.separator + "excelFiles" + File.separator + "allDate.xlsx","Sheet2");
}
@Test(dataProvider = "excelRead",threadPoolSize=2)
public void HomePage(Hashtable<String,String> testData) {
driver.get(prop.getProperty("urlProd"));
System.out.println(" Search term : " + testData.get("Search term"));
homePage.search(testData.get("Search term"));
}
}
尝试了很多东西但无法解决它
这里是 XML
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYstem "https://testng.org/testng-1.0.dtd">
<suite name="Dataprovider" parallel="tests" data-provider-thread-count="2">
<test name="FireFox">
<classes>
<class name="Regression.States"/>
</classes>
</test>
<test name="Chrome">
<classes>
<class name="Regression.States"/>
</classes>
</test>
</suite>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。