相关疑难解决方法(0)

重新运行完整的类,而不仅仅是 TestNG 中的 @Test

我浏览 stackoverflow 已经有几天了,试图找到如何重新运行整个测试类,而不仅仅是一个@Test步骤。许多人说 TestNG 和 不支持此功能IRetryAnalyzer,而有些人已经发布了解决方法,但实际上并没有用。有没有人设法做到这一点?并且只是为了澄清其原因,以避免回答说不支持的目的:TestNG 不仅是开发人员的工具。意思是 sw 测试人员也用于 e2e 测试。E2e 测试可以包含依赖于前一个测试的每个步骤。所以是的,重新运行整个测试类是有效的,而不是简单的@Test,这很容易通过IRetryAnalyzer.

我想要实现的一个例子是:

public class DemoTest extends TestBase {

@Test(alwaysRun = true, description = "Do this")
public void testStep_1() {
    driver.navigate().to("http://www.stackoverflow.com");
    Assert.assertEquals(driver.getCurrentUrl().contains("stackoverflow)"));

}

@Test(alwaysRun = true, dependsOnMethods = "testStep_1", description = "Do that")
public void testStep_2() {
    driver.press("button");
    Assert.assertEquals(true, driver.elementIsVisible("button"));

}

@Test(alwaysRun = true, dependsOnMethods = "testStep_2", description = "Do something else")
public void testStep_3() {
   driver.press("button2");
Assert.assertEquals(true, driver.elementIsVisible("button"));

}

}
Run Code Online (Sandbox Code Playgroud)

假设 …

testng automated-tests

9
推荐指数
1
解决办法
231
查看次数

TestNG retryAnalyzer 仅在方法 @Test 中定义时才起作用,在类的 @Test 中不起作用

这按预期工作,测试失败(由于haltTesting())并重复2x

public class A0001_A0003Test extends TestControl {

    private Kunde kunde = Kunde.FR_WEHLITZ;

    @Test(retryAnalyzer = TestRepeat.class, groups = {TestGroups.FAILED}, description = "verify adress")
    public void testkundenDaten_Angaben() throws Exception {
        bifiTestInitial();
        testActions.selectKunde(kunde);
        haltTesting();
    }
} 
Run Code Online (Sandbox Code Playgroud)

但因为我在一个类中有多个测试,所以我在类级别定义了重复分析器

@Test(retryAnalyzer = TestRepeat.class)
public class A0001_A0003Test extends TestControl {

    private Kunde kunde = Kunde.FR_WEHLITZ;

    @Test(groups = {TestGroups.FAILED}, description = "verify adress")
    public void testkundenDaten_Angaben() throws Exception {
        bifiTestInitial();
        testActions.selectKunde(kunde);
        haltTesting();
    }
} 
Run Code Online (Sandbox Code Playgroud)

但随后测试不再重复,文档说:

类级别@Test注解的作用是使该类的所有公共方法即使没有注解也成为测试方法。如果您想添加某些属性,您仍然可以在方法上重复 @Test 注释。

所以这应该是可能的,还是我期待错误的结果?

java testng selenium automated-tests repeat

5
推荐指数
1
解决办法
7797
查看次数

标签 统计

automated-tests ×2

testng ×2

java ×1

repeat ×1

selenium ×1