您的位置:首页 > 其它

TestNG测试执行顺序

2017-06-14 10:05 190 查看
1.preserve-order属性,之前一直认为preserve-order属性是控制配置方法的执行顺序的,其实不是,preserve-order主要是控制test下节点classes执行顺序的

例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test name="test" preserve-order="true">
<classes>
<class name="com.demo.One"></class>
<class name="com.demo.Two"></class>
<class name="com.demo.Three"></class>
</classes>
</test>
</suite>


以上将按照 类One Two Three的顺序执行

2.那么要控制方法的执行顺序,可以采取以下方式:

(1).使用
priority控制,例如:


@Test(priority = 0)
public void test001() {

}

@Test(priority = 1)
public void test002() {

}

@Test(priority = 2)
public void test003() {

}

这样指定以后,将按照test001、test002、test003顺序执行。


(2).使用方法命名控制

执行顺序是按照方法名的字典序升序排序执行的,例如方法名命名为:A() B() C()

这样就会按照A B C的顺序进行执行

(3).通过include控制,例如:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="framework_testng">
<test name="test" preserve-order="true">
<classes>
<class name="com.demo.Yltest">
<methods >
<include name="z" />
<include name="c" />
<include name="d" />
<include name="e" />
<include name="f" />
<include name="g" />
<include name="h" />
</methods>
</class>
</classes>
</test>
</suite>


这样将按照 z c d e f g h的顺序执行 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: