zoukankan      html  css  js  c++  java
  • 十二、TestNG分组测试2

    在执行测试用例的时候,往往一个功能依赖多个测试用例,比如流程的测试,那么这个时候就可以用到组测试,把流程涉及到测试用例都分到同一组里,按组执行即可。

    testNG的组通过@Test的groups属性来指定的,一个方法可以属于一个组(@Test(groups = {"checkintest"})),也可以属于多个组(@Test(groups = {"functest","checkintest"}))。

    定义common.java  包含 functest和checkintest分组

    package com.lc.testngFenZu;
    
    import org.testng.annotations.Test;
    
    public class common {
      
    
        @Test(groups = {"functest","checkintest"})
        public void login() {
            System.out.println("common测试类的login方法");
        }
        
        @Test(groups = {"functest","checkinitest"})
        public void quit() {
            System.out.println("common测试类的quit方法");
        }
        
        @Test(groups = {"checkinitest"})
        public void init() {
            System.out.println("common测试类的init方法");
        }
        
    }

    functionA.java测试类包含 functest 和 function2 分组

    package com.lc.testngFenZu;
    
    import org.testng.annotations.Test;
    
    public class functionA {
     
        @Test(groups = {"functest"})
        public void testMethod1() {
            System.out.println("我是functionA测试类的testMethod1方法");
        }
        
        @Test(groups = {"function2"})
        public void testMethod2() {
            System.out.println("我是functionA测试类的testMethod2方法");
        }
        
    }

    functionB.java 测试类 包含 functest 和 functest2 分组

    package com.lc.testngFenZu;
    
    import org.testng.annotations.Test;
    
    public class functionB {
         
        @Test(groups = {"functest"})
        public void testMethod3() {
            System.out.println("我是functionB测试类的testMethod3方法");
        }
        
        @Test(groups = {"functest2"})
        public void testMethod4() {
            System.out.println("我是functionB测试类的testMethod4方法");
        }
    }

    定义了三个测试类,分成三个分组

    创建测试testng.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="Suite" parallel="none">
      <test name="Test" preserve-order="1">
          <groups>
              <run>
                  <include name="functest"/> <!-- 执行测试分组名字为 functest -->
              </run>
          </groups>
          
        <!--从下面测试类里找到名为 functest 分组方法 --> <classes> <class name="com.lc.testngFenZu.common"></class> <class name="com.lc.testngFenZu.functionA"></class> <class name="com.lc.testngFenZu.functionB"></class> </classes> </test> <!-- Test --> </suite> <!-- Suite -->

    折行结果

    如何控制组里方法执行的顺序呢?可以通过@Test的priority属性,testNG按照priority从小到大的顺序执行。

    还是上面三个测试类,加上 priority 属性

     

    执行结果

  • 相关阅读:
    Hsqldb中设置主键,并让主键自增
    解决Hsqldb指针只能单向移动,不能回滚问题(.first())
    MySql服务的启动和停止
    jetty和tomcat比较
    查看某一端口被什么程序占用
    小程序修改swiper小圆点
    小程序返回上一页。或者某一页上刷新返回页
    小程序或者vue商品秒杀倒计时
    小程序 wx.switchTab 不能带参数的解决办法
    微信小程序倒计时60S
  • 原文地址:https://www.cnblogs.com/fanfancs/p/14170637.html
Copyright © 2011-2022 走看看