在一个包中,我有多个类。但是如何在testng中一个接一个地安排类的执行。 我的testng.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<suite name="AutomationTestWrangler">
<test name="Smoke Testcases">
<classes>
<class name="DataWrangler.LoginResigterComponents"/>
<class name="DataWrangler.Register"/>
<class name="DataWrangler.Login"/>
<class name="DataWrangler.Dashboard"/>
</classes>
</test>
</suite>
但执行按以下顺序执行。我的testng输出按顺序进行
DataWrangler.Register
DataWrangler.Login
DataWrangler.LoginResigterComponents
如何制定执行计划
DataWrangler.LoginResigterComponents
DataWrangler.Register
DataWrangler.Login
答案 0 :(得分:1)
我在几天之前就遇到了同样的问题。我发现有问题的代码是,我在不同的类中优先考虑一些测试方法。当我从testing.xml
执行所有类时,它首先执行优先级方法类。所以这可能是你的问题。
我这里的指南很少 -
xml
执行一堆类,那么您的类中的测试方法的依赖性会更好。priority
。如果为不同类的两种不同测试方法分配了相同的优先级并使用xml
文件执行代码,则无论您在xml
文件中维护的顺序如何,都将首先执行第一优先级测试方法。您可以尝试的另一种替代解决方案是在group-by-instances="true"
文件的<test>
标记中添加xml
例如 -
<test name="parallel-running-test" group-by-instances="true">
已更新: - 这是优先级的工作方式
第1课
public class MyFirstClassTest {
@Test(priority = 2)
public void myFirstClassTestOne(){
System.out.println("myFirstClassTestOne");
}
@Test (priority = 2)
public void myFirstClassTestTwo(){
System.out.println("myFirstClassTestTwo");
}
}
第2课
public class MySecondClassTest {
@Test(priority=1)
public void mySecondClassTestTwo(){
System.out.println("mySecondClassTestTwo");
}
}
<强> Testing.xml
强>
<suite name="Suite1" verbose="1" thread-count="2" >
<test name="parallel-running-test" >
<classes>
<class name="test.abc.MyFirstClassTest"/>
<class name="test.abc.MySecondClassTest"/>
</classes>
</test>
</suite>
结果
答案 1 :(得分:0)
在你的testng.xml中你必须定义:
<groups>
<dependencies>
<group name="a" />
<group name="b" depends-on="a" />
<group name="c" depends-on="a b" />
</dependencies>
</groups>
注释您的测试类如下:
@Test(groups = {"a"})
public class LoginResigterComponents
@Test(groups = {"b"})
public class Register
@Test(groups = {"c"})
public class Login
或者,您只能使用注释设置依赖项:
@Test(groups = {"a"})
public class LoginResigterComponents
@Test(groups = {"b"}, dependsOnGroups = {"a"})
public class Register
@Test(groups = {"c"}, dependsOnGroups = {"a b"})
public class Login
<强>更新强>
或者尝试添加preserve-order
属性:
<test name="Smoke Testcases" preserve-order="true">