TestNG:全局设置调用计数

标签 testng

我希望多个包中的所有测试(假设 100 个测试,每个类 1 个)运行 3 次。我可以设置

@Test(invokingCount = SOME_CONSTANT)

但这仍然需要一百次更改。有没有一种方法可以在单个抽象类中设置调用计数(或其他参数),而无需将其添加到每个@Test

最佳答案

构建一个像这样的注释转换器实现

public class Transformer implements IAnnotationTransformer {

    @Override
    public void transform(ITestAnnotation annotation, Class testClass, Constructor testConstructor, Method testMethod) {
        int someNumber = 100;
        annotation.setInvocationCount(someNumber);
    }
}

然后,您可以使用 <listener> 连接此监听器。套件 xml 文件中的标记(或)通过创建服务加载程序文件 META-INF/services/org.testng.ITestNGListener然后添加 Transformer 的条目到这个文件中。

有关听众的更多信息,您可以查看this我的博客文章。

关于TestNG:全局设置调用计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45593426/

相关文章:

java - testNG 没有可运行的方法

java - 如何将 Selenide 与现有的 selenium webdriver 代码集成?

java - 目标窗口在 Selenium 中关闭

eclipse - ReportNG 带有 TestNG 的报告不是使用 WebDriver 生成的

testing - 如何使用 Jest 来测试iFrame的内容

Maven在运行testng测试用例时抛出错误

java - Selenium : method main requires 1 parameters but 0 were supplied in the @Test annotation

java - 如何使用 xslt 将 XML 中的值附加到 TestNG 可通过电子邮件发送的 HTML 报告

java - 如何从另一个java类中查找TestNG类中有多少个测试用例

java - 如何向 JUnit 测试添加参数?是否可以像 testNg 中那样添加它们?