TestNG测试执行顺序

1.preserve-order属性,以前一直认为preserve-order属性是控制配置方法的执行顺序的,其实不是,preserve-order主要是控制test下节点classes执行顺序的java

例如:ui

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

2.那么要控制方法的执行顺序,能够采起如下方式:code

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

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

}

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

}

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

}

这样指定之后,将按照test00一、test00二、test003顺序执行。

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

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

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

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

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

相关文章
相关标签/搜索