testng.xml 是 TestNG 的 XML 配置文件,用于灵活定义测试套件、用例、类、分组、参数和监听器等,支持环境适配与策略调度。TestNG 的 `testng.xml` 是一个 XML 配置文件,用来定义测试套件(Suite)、测试用例(Test)、测试类(Classes)以及分组(Groups)、参数(Parameters)、监听器(Listeners)等。它比在代码里硬编码更灵活,适合不同环境、不同执行策略的测试调度。 下面是一个典型、实用、可直接修改使用的 `testng.xml` 示例,并附关键说明:
最简配置只需定义一个 suite,里面包含一个 test,再指定要运行的
测试类:
说明:
• suite 是最高层级容器,可包含多个 test;
• test 表示一个逻辑测试单元(如“登录模块测试”),支持并行执行;
• classes 下的每个 class 对应一个含 @Test 方法的 Java 类。
用 @Test(groups = "smoke") 标记方法后,在 XML 中通过 精准控制执行范围:
支持 include/exclude,例如同时跑 smoke 和 api,但排除 flaky:
在 XML 中定义参数,Java 方法用 @Parameters("browser") 接收:
也支持为每个 test 单独设参(优先级更高):
...
比如加自定义报告监听器或只运行满足条件的方法:
...
注意:
• verbose="1" 输出更多日志(1~10,数值越大越详细);
• 监听器类必须有无参构造函数;
• 方法选择器需继承 IMethodSelector 并实现逻辑。