• testng-组测试


    一:@Test(groups=“XXXX”)方式(方法分组)

    package com.group;

    import org.testng.annotations.AfterGroups;
    import org.testng.annotations.BeforeGroups;
    import org.testng.annotations.Test;

    public class GroupsOnMethod {
    @Test(groups = "server")
    public void test01(){
    System.out.println("这是服务端的测试方法11111111111");
    }
    @Test(groups = "server")
    public void test02(){
    System.out.println("这是服务端的测试方法222222222222");
    }

    @Test(groups = "client")
    public void test03(){
    System.out.println("这是客户端的测试方法3333333333333");
    }

    @Test(groups = "client")
    public void test04(){
    System.out.println("这是客户端的测试方法4444444444444");
    }

    @BeforeGroups("server")
    public void beforeGroupsOnServer(){
    System.out.println("这是服务端之前执行的方法");
    }
    @AfterGroups("server")
    public void AfterGroupsOnServer(){
    System.out.println("这是服务端之后执行的方法");
    }

    @BeforeGroups("client")
    public void beforeGroupsOnClient(){
    System.out.println("这是客户端之前执行的方法");
    }
    @AfterGroups("client")
    public void AfterGroupsOnClient(){
    System.out.println("这是客户端之后执行的方法");
    }


    }

    结果

    这是服务端之前执行的方法
    这是服务端的测试方法11111111111
    这是服务端的测试方法222222222222
    这是服务端之后执行的方法
    这是客户端之前执行的方法
    这是客户端的测试方法3333333333333
    这是客户端的测试方法4444444444444
    这是客户端之后执行的方法

    ===============================================
    Default Suite
    Total tests run: 4, Failures: 0, Skips: 0
    ===============================================

    二:类分组(用xml来确定执行)---->run和groups标签 标签内的组类会被执行

    类1

    package com.group;

    import org.testng.annotations.Test;

    @Test(groups = "student")
    public class GroupsOnClass01 {
    public void student01(){
    System.out.println("Class01组的stu方法111111111");
    }

    public void student02(){
    System.out.println("Class01组的stu方法222222222");
    }
    }




    类2
    package com.group;

    import org.testng.annotations.Test;

    @Test(groups = "student")
    public class GroupsOnClass02 {
    public void student01(){
    System.out.println("Class02组的stu方法111111111");
    }
    public void student02(){
    System.out.println("Class02组的stu方法222222222");
    }
    }

    类3
    package com.group;

    import org.testng.annotations.Test;

    @Test(groups = "teacher")
    public class GroupsOnClass03 {
    public void teacher01(){
    System.out.println("Class03组的teacher方法111111111");
    }
    public void teacher02(){
    System.out.println("Class03组的teacher方法222222222");
    }
    }

    配置文件groups.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <suite name="suitename">
    <test name="runAllgroup">
    <classes>
    <class name="com.group.GroupsOnClass01"></class>
    <class name="com.group.GroupsOnClass02"></class>
    <class name="com.group.GroupsOnClass03"></class>
    </classes>
    </test>
    <test name="runStuAll">
    //组测试(类)需要加一个run标签
    <groups>
    <run>
    <include name="student"></include>

    </run>
    </groups>
    <classes>
    <class name="com.group.GroupsOnClass01"></class>
    <class name="com.group.GroupsOnClass02"></class>
    <class name="com.group.GroupsOnClass03"></class>
    </classes>
    </test>

    </suite>
    ---------run和groups的标签确定执行的类组
    结果

    Class01组的stu方法111111111
    Class01组的stu方法222222222
    Class02组的stu方法111111111
    Class02组的stu方法222222222
    Class03组的teacher方法111111111
    Class03组的teacher方法222222222


    Class01组的stu方法111111111
    Class01组的stu方法222222222
    Class02组的stu方法111111111
    Class02组的stu方法222222222

    ===============================================
    suitename
    Total tests run: 10, Failures: 0, Skips: 0
    ===============================================





  • 相关阅读:
    day4递归原理及实现
    day4装饰器
    day4迭代器&生成器&正则表达式
    open()函数文件操作
    Python中的内置函数
    function(函数)中的动态参数
    copy深浅拷贝
    collections模块
    set集合
    字典dict常用方法
  • 原文地址:https://www.cnblogs.com/520502-thy/p/15085511.html
Copyright © 2020-2023  润新知