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