zoukankan      html  css  js  c++  java
  • TestNG执行顺序控制

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

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

    复制代码
    <span style="font-size:12px;">1. <?xml version="1.0" encoding="UTF-8"?>  
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >  
    <suite name="suite1">  
      <test name="test" preserve-order="true">  
      <classes >  
        <
    class
     name="com.pack.ClassTwo">  
        <span style="white-space:pre;">  </span><
    class
     name="com.pack.ClassThree">  
        <span style="white-space:pre;">  </span><
    class
     name="com.pack.ClassOne">  
      </classes >  
      </test>  
    </suite></span>  
    复制代码

    执行顺序:按照ClassTwo,ClassThree,ClassOne执行

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

    2.@test执行顺序控制

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

    复制代码
    <span style="font-size:12px;">@Test(priority = 0)  
     public void testMethod1() {  
     }  
     @Test(priority = 1)  
     public void testMethod2() {  
     }  
     @Test(priority = 2)  
     public void testMethod3() {  
     }</span>  
    复制代码

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

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

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

    复制代码
    <span style="font-size:12px;"> 
    @Test public void B() {  
      }  
    @Test public void A() {  
     }  
    @Test public void C() {  
     }</span>  
    复制代码

    执行顺序:按照A、B、C顺序执行。

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

    复制代码
    <span style="font-size:12px;"> <!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></span>  
    复制代码
  • 相关阅读:
    事务笔记
    MyBatis执行流程(面试题)
    mapper映射文件中 #{}与${}区别(面试题)
    前端内存泄露浅谈
    vue中使用element来创建目录列表
    vue中组件之间的传值
    nodejs+vue实现登录界面功能(二)
    nodejs+vue实现登录界面功能(一)
    threejs(一):初步认识与使用
    官网编辑遇到的各种问题记录(一)
  • 原文地址:https://www.cnblogs.com/kaola8023/p/10832116.html
Copyright © 2011-2022 走看看