zoukankan      html  css  js  c++  java
  • 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
    ===============================================





  • 相关阅读:
    ES亿级别数据分页
    RabbitMQ的工作模式
    作为应用运维需要具备的mysql知识
    非原创-Kubernetes的初始化容器initContainers
    python-俩个文件的合并
    K8S基础学习-SSL通信认证机制
    k8s基础学习—计算机资源管理
    k8s基础学习-serviceaccount
    K8S基础学习-API服务器的安全防护
    Python日志模块logging
  • 原文地址:https://www.cnblogs.com/520502-thy/p/15085511.html
Copyright © 2011-2022 走看看