TestNG测试执行顺序


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的顺序执行 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM