zoukankan      html  css  js  c++  java
  • 在自动化测试中使用TestNG【第 2 章 TestNG语法 2.4 testng.xml】

    2.4 testng.xml

    在Eclipse中创建

    testng.xml 文件的作用是控制测试执行的过程,该文件可以使用 Eclipse 的 TestNG 插件自动生成。在工程(testng)上用鼠标右击,从弹出的快捷菜单中选择「TestNG → Convert to TestNG」选项,此时会弹出「Refactoring」对话框,直接单击「Finish」按钮,生成「testng.xml」文件,文件内容如下

    这是一个典型的 XML 文件,第一行包含了 XML 的声明。<suite>代表一个 Suite;<test>代表一个 Test;<classes>代表一组 Class,可以包含多个 Class,这里默认添加了 FirstClassTest。<test>标签里有一个 thread-count 属性表示并行线程数,该属性需要与 parallel 属性配合使用

     在Idea中创建

    1. 安装插件并重启IDE

    Create TestNG XML

    2.在项目上右键单击使用

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
    <suite name="All Test Suite">
        <test verbose="2" preserve-order="true" name="C:/Users/HASEE/IdeaProjects/testng">
            <classes>
                <class name="cn.edu.bjut.testng.FirstClassTest">
                    <methods>
                        <include name="testCase1"/>
                    </methods>
                </class>
                <class name="cn.edu.bjut.testng.FirstClassTest3">
                    <methods>
                        <include name="testCase1"/>
                    </methods>
                </class>
                <class name="cn.edu.bjut.testng.FirstClassTest4">
                    <methods>
                        <include name="testCase1"/>
                        <include name="testCase2"/>
                        <include name="testCase3"/>
                        <include name="testCase4"/>
                        <include name="testCase6"/>
                    </methods>
                </class>
            </classes>
        </test>
    </suite>
    View Code

    2.4.1 <package>;

    如果一个 Class 需要一个&lt;class&gt;标签,那么 10 个 Class 就需要 10 个&lt;class&gt;标签。如果这些 Class 都在一个 Package 中,则可以使用&lt;package&gt;标签进行 Package 设置,以简化配置过程

    删除 FirstClassTest 中的内容,输入以下代码

    新增 SecondClassTest,输入以下内容

    修改 testng.xml 文件,删除&lt;classes&gt;标签及其内部的配置,并以包设置代替,见以下粗体部分内容

    保存所做的修改,在「testng.xml」上用鼠标右击,从弹出的快捷菜单中选择「Run As → TestNG Suite」选项,此时 Eclipse 的控制台输出如下

    从输出结果可以看到两个 Class 都执行了,说明testng.xml包设置生效

    2.4.2 <include>;和<exclude>

    &lt;include&gt;和&lt;exclude&gt;的作用是对方法进行设置,&lt;include&gt;代表包含,&lt;exclude&gt;代表排除,写法上它们都支持正则表达式

    删除 FirstClassTest 中的内容,输入以下代码

     修改 testng.xml 文件,删除&lt;packages&gt;标签及其内部的配置,并以方法设置代替,见以下粗体部分内容

    保存所做的修改,在「testng.xml」上用鼠标右击,从弹出的快捷菜单中选择「Run As → TestNG Suite」选项,此时 Eclipse 的控制台输出如下

    FirstClass 里共有 testCase1、testCase2、testCase3 和 newTestCase1 四个测试用例,在&lt;include&gt;标签中,name 属性的值为「testCase.,其中「.」代表任意一个字符,因此 testCase1、testCase2 和 testCase3 都满足要求。但是在&lt;exclude&gt;标签中,name 属性的值为「testCase3,也就是排除 testCase3。所以最终只有 testCase1 和 testCase2 运行了

    &lt;include&gt;和&lt;exclude&gt;标签除了用在 Test 中,还可以用在其他地方,比如分组运行。删除 FirstClassTest 中的内容,输入以下代码

    修改 testng.xml 文件,新增&lt;groups&gt;标签及相关配置,同时修改&lt;classes&gt;标签内的配置,见以下粗体部分内容

    保存所做的修改,在「testng.xml」上用鼠标右击,从弹出的快捷菜单中选择「Run As → TestNG Suite」选项,此时 Eclipse 的控制台输出如下

    可以看到只执行了 myGroup 分组的两条用例,符合预期

    2.4.3 <parameter>标签

    &lt;parameter&gt;标签和@Parameters 注解配合使用,可对测试用例传递参数,达到数据分离的效果。删除 FirstClassTest 中的内容,输入以下代码

    修改 testng.xml 文件,删除&lt;groups&gt;标签及相关配置,同时新增&lt;parameter&gt;标签,详见以下粗体部分内容

    保存所做的修改,在「testng.xml」上用鼠标右击,从弹出的快捷菜单中选择「Run As → TestNG Suite」选项,此时 Eclipse 的控制台输出如下

     可以看到 myParam 的值通过&lt;parameter&gt;标签和@Parameters 注解配合传递给了 testCase1

  • 相关阅读:
    数据库 proc编程三
    数据库 Proc编程二
    数据库 Proc编程一
    数据库 Oracle数据库对象二
    Your local changes to the following files would be overwritten by merge: ... Please, commit your changes or stash them before you can merge
    生活感悟关键字
    科3
    NGINX 健康检查和负载均衡机制分析
    django模板里关闭特殊字符转换,在前端以html语法渲染
    django 获取前端获取render模板渲染后的html
  • 原文地址:https://www.cnblogs.com/MarlonKang/p/14202541.html
Copyright © 2011-2022 走看看