• TestNG如何编排测试用例,第3种方式最实用


    本文为在霍格沃兹测试开发学社中学习到的一些技术,写出来分享给大家,希望有志同道合的小伙伴可以一起交流技术,一起进步~


    在testng.xml (文件名可以不是testng) 配置文件中提供3种常见的编排测试用例的方法:

    包维度

    在这里插入图片描述
    执行com.example.testng2、com.example.testng 两个包下的所有测试用例:

    
    DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    
    <suite name="Suite1">
        
        <test name="testngDemo">
            <packages>
                <package name="com.example.testng2">package>
                <package name="com.example.testng">package>
            packages>
        test> 
    suite> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    类维度

    
    DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    
    <suite name="Suite1">
        
        <test name="testngDemo">
            <classes>
                <class name="com.example.testng.TestNgParallel">class>
            classes>
        test> 
    suite> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    执行com.example.testng.TestNgParallel 这个类下的所有测试用例;也可以指定执行该类下哪些测试用例,如下:

    
    DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    
    <suite name="Suite1">
        
        <test name="testngDemo">
            <classes>
                <class name="com.example.testng.TestNgParallel">
                    <methods>
                        <include name="putInC()">include>
                    methods>
                class>
            classes>
        test> 
    suite> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    执行com.example.testng.TestNgParallel 这个类下的putInC() 测试用例(方法)

    分组维度


    
    DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    
    <suite name="Suite1">
        
        <test name="testngDemo">
            
            <groups>
                <define name="smoke">
                    <include name="group1">include>
                    <include name="group2">include>
                define>
                <run>
                    <include name = "smoke" />
                run>
            groups>
            <packages>
                <package name="com.example.testng">package>
            packages>
        test> 
    suite> 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    重新定义 group1和group2 为smoke 组,运行smoke组;需要提醒一下tips:分组模式的运行需要指定包/类,否则不知道上哪里去找到分组的用例。
    三种方法中这个最实用。只需要在用例方法上打上 @Test(groups = {“groupname”}) 注解,就可以将其分组,一个用例可以有多个组别,很灵活,比如说smoke组(冒烟组),当开发提测时,运行该组测试用例;如果是上线之后的回归验证,就可以直接运行online组的测试用例。

    为什么说前两种方法不实用呢?

    因为我们在写用例的时候,是以功能模块来划分的,一个功能模块有不同级别的测试用例,我们很难将所有模块同一分类的用例写在同一个包或者类里面,当然这样也不方便用例的后期维护。而分组模式呢,只需要打个标签 就可以进行归类,不管它写在哪个包里,哪个类里面。

    文末说明
    推荐博文:接口测试经典面试题:Session、cookie、token有什么区别?

  • 相关阅读:
    AWS无服务器 应用程序开发—第九章 文件存储(Amazon S3)
    Python解决图文验证码登录识别(1)
    Clion 初始化 QT
    scrapy框架流程
    Vue3-使用create-vue创建项目
    Java的ArrayList集合存储基本数据
    GAMES101-ASSIGNMENT7(作业7)
    数据结构与算法的基本概念
    谷歌浏览查询http被自动转化成https导致页面读取失败问题处理
    独立站必看攻略
  • 原文地址:https://blog.csdn.net/qq_15283475/article/details/127585698