我有一个场景,我需要使用相同的数据提供程序并行运行我的 selenium 测试。从我读过的内容来看,这是可能的,但无法让它工作。我有一个集线器和一个节点在一台机器上运行,另一个节点在另一台机器上运行。
我的数据提供者
// Data provider for Storage Rule Suite
@DataProvider(name = "StorageRuleDataProvider", parallel =true)
public static Object[][] getStorageData(Method m) {
return TestUtil.getData(m.getName(), TestBase.storageSuite);
}
我的测试
@Test(groups = { "CreateNewStorageRule" }, dependsOnGroups = { "StoragePage" }, dataProviderClass = TestDataProvider.class, dataProvider = "StorageRuleDataProvider", threadPoolSize = 20)
public void createNewStorageRuleTest(Hashtable<String, String> data){}
XML
<suite name="Storage Rule Suite" parallel="tests" data-provider-thread-count="20" >
当我在 xml 文件中运行测试时,我在每个节点上打开了两组浏览器,但是当它尝试登录时,有时它会在一个浏览器中输入两次凭据,而在另一个浏览器中什么也没有,有时在一个浏览器上什么也没有输入浏览器。