我使用 Selenium 和 Testng 在 Linux 上使用 Intellij 设置了一个项目,使用带有 dataProviders 的工厂方法。在 Linux 上,该过程运行如下:
**Data 1:**
initialize
second
AfterTest
**Data 2**
initialize
second
AfterTest
但是当我将项目转移到 Windows 计算机上并安装所有库(仍然使用 intellij)时,我得到以下输出:
Initialize
Initialize(1)
second
second (1)
AfterTest
我不太清楚为什么会出现差异,因为它是相同的代码。请看下面的代码:
@DataProvider(name = "data")
public static Object[][] data() {
// This is where I get the data from
}
@Factory(dataProvider = "data")
public TestSuite1(Data data)
{
super();
this.data = data;
}
@Test(priority = 1, description = "First test")
public void initialize()
{
System.out.println("DO THIS FIRST");
}
@Test(priority = 2, description = "Do this after")
public void second()
{
System.out.println("DO THIS AFTER");
}
@AfterClass
public void AfterTest() throws InterruptedException
{
System.out.println("I HAVE FINISHED THE TEST");
}
最佳答案
我在这里看到:https://howtodoinjava.com/testng/testng-factory-annotation-tutorial/ “@Factory”必须与“@DataProvider”一起使用才能测试...
我在您的代码中没有看到“@DataProvider”...并且它似乎没有为 TestNG 使用正确的代码形式...
这可能就是存在差异的原因......
关于Java Selenium Testng - Factory 无法在 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676516/