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 属性

     

    执行结果

  • 相关阅读:
    深究递归和迭代的区别、联系、优缺点及实例对比
    提高Python运行效率的六个窍门
    C++设计模式——单例模式
    使用Python的turtle库实现七段数码管绘制
    Python 死循环和嵌套循环
    Python 随机数 random
    更改 pandas dataframe 中两列的位置
    Pandas中DataFrame修改列名
    MM 算法与 EM算法概述
    机器学习中的训练集、验证集和测试集
  • 原文地址:https://www.cnblogs.com/fanfancs/p/14170637.html
Copyright © 2011-2022 走看看