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

  • 相关阅读:
    JDK环境变量设置
    用mapXtreme Java开发web gis应用 (下)
    最简单的mapxtreme的servlet例子
    MapXtreme Java开发环境配置
    MapXtreme2004代码 读取TAB表中的元素
    一段旋转图元几何体的代码
    oracle ocp题库变化,052最新考试题及答案整理30
    OCP认证052考试,新加的考试题还有答案整理23题
    OCP题库变了,2018年052新题库29题
    2018OCP最新题库052新加考题及答案整理27
  • 原文地址:https://www.cnblogs.com/MarlonKang/p/14202541.html
Copyright © 2011-2022 走看看