美文网首页
Testng执行顺序控制

Testng执行顺序控制

作者: 测试的旅途中 | 来源:发表于2020-05-21 15:14 被阅读0次

    1.class执行顺序控制-testng.xml之preserve-order

    preserve-order:用来控制<test>里面所有<classes>的执行顺序。<test>中默认的preserve-order为true,表示<test>下所有<classes>按照顺序执行,如:

    1. <?xml version="1.0" encoding="UTF-8"?>
    2. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    3. <suite name="suite1">
    4. <test name="test" preserve-order="true">
    5. <classes >
    6. <class name="com.pack.ClassTwo">
    7. <class name="com.pack.ClassThree">
    8. <class name="com.pack.ClassOne">
    9. </classes >
    10. </test>
    11. </suite>
      <class name="com.pack.ClassThree">
    12. <class name="com.pack.ClassOne">
    13. </classes >
    14. </test>
    15. </suite>
      执行顺序:按照ClassTwo,ClassThree,ClassOne执行

    【注】 一个<class>类里面可能存在多个测试方法(被@Test注解的方法),这些方法的执行顺序不受preserve-order控制。默认测试方法的执行顺序是按照方法名的首字母升序排序执行的。

    2.@test执行顺序控制

    (1) 使用priority指定执行顺序(默认值为0),数值越小,越靠前执行,如:

    @Test(priority = 0)
    public void testMethod1() {
    }
    @Test(priority = 1)
    public void testMethod2() {
    }
    @Test(priority = 2)
    public void testMethod3() {
    }

    执行顺序:按照testMethod1、testMethod2、testMethod3顺序执行

    (2) 方法名称按首字母排序

    因为默认执行顺序是按照方法名的首字母升序排序执行。那么,有目的地去定制方法名称,就可以让方法按照我们要求的顺序执行。如:

    @Test public void B() {
    }
    @Test public void A() {
    }
    @Test public void C() {
    }
    执行顺序:按照A、B、C顺序执行。

    (3) 在xml里面使用<include>指定需要执行的方法和顺序,如:

    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Preserve order test runs">
    <test name="test" preserve-order="true">
    <classes>
    <class name="com.pack.ClassOne">
    <methods>
    <include name="B" />
    <include name="A" />
    </methods>
    </class>
    </classes>
    </test></suite>
    执行顺序:ClassOne执行两个测试方法,先执行B,然后执行A。

    原文链接:https://blog.csdn.net/qq_15158911/java/article/details/70332097

    相关文章

      网友评论

          本文标题:Testng执行顺序控制

          本文链接:https://www.haomeiwen.com/subject/udozohtx.html