51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1309|回复: 0
打印 上一主题 下一主题

Testng执行顺序控制

[复制链接]
  • TA的每日心情
    擦汗
    9 小时前
  • 签到天数: 532 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-12-18 16:05:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    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>
    复制代码

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

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


    2.@test执行顺序控制

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

    1. @Test(priority = 0)

    2. public void testMethod1() {

    3. }

    4. @Test(priority = 1)

    5. public void testMethod2() {

    6. }

    7. @Test(priority = 2)

    8. public void testMethod3() {

    9. }
    复制代码

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


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

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

    1. @Test public void B() {

    2. }

    3. @Test public void A() {

    4. }

    5. @Test public void C() {

    6. }
    复制代码

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


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

    1. <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"><suite name="Preserve order test runs">

    2. <test name="test" preserve-order="true">

    3.   <classes>

    4.     <class name="com.pack.ClassOne">

    5.       <methods>

    6.          <include name="B" />

    7.          <include name="A" />

    8.       </methods>

    9.     </class>

    10.   </classes>

    11. </test></suite>
    复制代码

    执行顺序:ClassOne执行两个测试方法,先执行B,然后执行A。


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-27 19:11 , Processed in 0.066122 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表