Java Selenium Testng - Factory 无法在 Windows 上运行

标签 java selenium testng testng-dataprovider

我使用 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/

相关文章:

java - 如何通过Java代码或通过Selenium获取窗口ID

java - 如何使用 testng 标签进行冒烟、回归测试

http - testng - 登录后的 HTTP REST 测试

java - 如何使用 FTP 知道服务器上的文件是否完整?

java - 如何在 spring boot 中从属性文件为 @Order 注释设置值

java - 连接表@OneToMany/@ManyToOne

java - Eclipse 中的二十一点背景图像

Selenium C# 如何获取Element

Python Selenium 如何单击特定文本旁边的按钮?

java - 我可以在没有 XML 文件的情况下执行 TestNG 吗?