当前位置: 首页 > 知识库问答 >
问题:

TestNG工厂定期运行测试类

景俊良
2023-03-14

我有一个TestNG@Factory类,一个创建驱动程序的基类和两个包含多个@test方法的测试类来运行测试。考虑到我下面的@Factory类。

public class SampleFactory {

    @Factory(dataProvider="DeviceDetails")
    public synchronized Object[] factoryMethod(String deviceID){
	    return new Object[] {new IndTest(deviceID),new IndTestTwo(deviceID)};
    }


    @DataProvider(name="DeviceDetails",parallel=true)
    public Object[][] passDeviceID(){
	    return new Object[][] {{"02157DF2DA5A1C09"},{"D5588B67"}};
    }
}

IndTestIndTest2是两个测试类。它们扩展基类并调用基类构造函数来创建驱动程序。特定设备ID在特定时间只能使用驱动程序的一个实例

我面临的问题是IndTest和IndTest2同时运行,测试试图同时在特定设备上运行不同的测试。我要求先调用IndTest类,在设备1和设备2上运行该类内部的测试,然后转移到IndTest2并执行相同的执行。下面是我目前使用的TestNG xml。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Test_Suite" skipfailedinvocationcounts="false" junit="false" parallel="classes"
data-provider-thread-count="100" annotations="JDK" group-by-instances="true"/>

等待您的想法:)

共有1个答案

慕凌
2023-03-14

看起来您需要调整TestNG。有一点xml。试一试下面的句子

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">

<suite name="Test_Suite" > 
    <test name="something">
        <classes>
            <class name="something.IndTest" />
            <class name="something.IndTest2" />
        </classes>
    </test> 
</suite>

然而,测试依赖性通常被认为是糟糕的做法。所有的测试都应该是独立的,这样它们就可以为您提供智能反馈,而不依赖于执行的顺序。

 类似资料:
  • 我试图用TestNG并行运行一个示例测试项目。但它是在一个线程中顺序执行的。我漏掉什么了吗? 谢了。

  • 我有一个testng xml文件,它被设置为运行一个特定的类,该类的方法包含以下组标记或被分组为以下类型之一: 并行测试 顺序测试 烟雾测试 虽然我的一些测试被指定为并行或顺序测试,但一些测试可能包含一个额外的标签“冒烟测试”。在这个场景中,我希望能够只运行那些被归类为“烟雾测试”的组件。当我运行测试时,它要么找不到任何测试,要么只是运行所有分组为“sequential-test”的测试。我似乎不

  • 我试图通过testng运行简单的Cucumber/Java测试。xml。 所以,我有testng。xml: 我用的是runner。类,在其中我将路径/选项/etc设置为功能文件、步骤和报告: 但是当我运行testng时。xml作为TestNG套件,它: 1) 通过我自己的设想, 但是 我做错了什么?

  • 我试图在Eclipse中使用Selenium运行TestNG。 当类文件作为TestNG测试运行时,我得到的测试Run=0。 问题会是什么? 我有testNg插件 testng。xml文件: 类: WebDriverTest类: BrowserInstance类: 注: 当我将testing.xml文件作为TestNG Suite运行时,结果是: 当我运行. java文件作为TestNG测试时,结

  • 问题内容: 我正在尝试使用testNG执行我的测试脚本并尝试以下代码,但是在控制台中针对运行,失败和跳过显示0。因此,我无法在脚本中验证结果。 Java: 我正在通过testng.xml文件执行上述脚本。 控制台结果: 问题答案: 您的代码块中有一个小错误。当您在注解中使用和编写方法时,我们应使用定义适当的方法 。我使用了自己的代码,并简单地将 返回类型 添加为 void ,如下所示: 当以方式执