TestNG的testng.xml配置文件怎么写
技术百科
煙雲
发布时间:2026-01-02
浏览: 次 testng.xml 是 TestNG 的 XML 配置文件,用于灵活定义测试套件、用例、类、分组、参数和监听器等,支持环境适配与策略调度。TestNG 的 `testng.xml` 是一个 XML 配置文件,用来定义测试套件(Suite)、测试用例(Test)、测试类(Classes)以及分组(Groups)、参数(Parameters)、监听器(Listeners)等。它比在代码里硬编码更灵活,适合不同环境、不同执行策略的测试调度。 下面是一个典型、实用、可直接修改使用的 `testng.xml` 示例,并附关键说明:
基础结构:suite + test + classes
最简配置只需定义一个 suite,里面包含一个 test,再指定要运行的
测试类:
说明:
• suite 是最高层级容器,可包含多个 test;
• test 表示一个逻辑测试单元(如“登录模块测试”),支持并行执行;
• classes 下的每个 class 对应一个含 @Test 方法的 Java 类。
按组(Groups)运行测试
用 @Test(groups = "smoke") 标记方法后,在 XML 中通过 精准控制执行范围:
支持 include/exclude,例如同时跑 smoke 和 api,但排除 flaky:
传参(Parameters)给测试方法
在 XML 中定义参数,Java 方法用 @Parameters("browser") 接收:
也支持为每个 test 单独设参(优先级更高):
...
添加监听器和方法选择器
比如加自定义报告监听器或只运行满足条件的方法:
...
注意:
• verbose="1" 输出更多日志(1~10,数值越大越详细);
• 监听器类必须有无参构造函数;
• 方法选择器需继承 IMethodSelector 并实现逻辑。
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Windows电脑如何截屏?(四种快捷方法)
- c++怎么实现高并发下的无锁队列_c++ std:
- PythonGIL机制理解_多线程限制解析【教程】
- 零基础学会Python自动化办公_高效处理Exce
- Win11如何关闭小娜Cortana Win11禁
- Ajax提交表单PHP怎么接收_处理Ajax发送的
- TestNG的testng.xml配置文件怎么写
- 如何在Golang中实现文件下载_Golang文件
- c++23 std::expected怎么用 c+
- 如何在Golang中写入XML文件_生成符合规范的
- 如何在Golang中实现微服务服务拆分_Golan
- Win11怎么关闭边缘滑动手势_Windows11
- Win11怎么关闭键盘按键音_Win11禁用打字声
- php中作用域操作符能访问私有静态属性吗_访问权限
- Go语言中slice追加操作的底层共享机制解析
- win11如何清理传递优化文件 Win11为C盘瘦
- Win11麦克风没声音怎么设置_Win11麦克风权
- 如何在Golang中定义接口_抽象方法和多态实现
- Mac如何整理桌面文件_Mac使用堆栈功能一键整理
- Python字符串操作教程_切片拼接与格式化详解
- php订单日志怎么在swoole写_php协程sw
- Win11文件扩展名怎么显示_Win11查看文件后
- mac怎么看硬盘大小_MAC查看磁盘存储空间与文件
- Windows电脑键盘突然失灵怎么办?(驱动与硬件
- VSC怎样在VSC中调试PHPAPI_接口调试技巧
- php订单日志怎么记录发货_php记录订单发货操作
- Windows蓝屏错误0x0000001E怎么修复
- Win10如何备份注册表_Win10注册表备份步骤
- 如何在Golang中使用container/hea
- Win11截图快捷键是什么_Win11自带截图工具
- Windows10如何彻底关闭自动更新_Win10
- 如何将文本文件中的竖排字符串转换为横排字符串
- 如何在Golang中处理云原生事件_使用Event
- Python函数接口稳定性_版本演进解析【指导】
- Win10如何备份驱动程序_Win10驱动备份步骤
- C++中引用和指针有什么区别?(代码说明)
- MySQL 中使用 IF 和 CASE 实现查询字
- Flask 表单数据通过 SMTP 发送邮件的完整
- php中::能访问全局变量吗_全局作用域与类作用域
- php串口通信波特率怎么选_根据硬件手册设置正确波
- Windows如何查看和管理已安装的字体?(字体文
- 如何在Golang中编写异步函数测试_Golang
- Golang如何测试HTTP中间件_Golang
- 如何使用Golang构建基础消息队列模拟_Gola
- 如何优化Golang Web性能_Golang H
- Win11怎样安装钉钉客户端_Win11安装钉钉教
- Win10如何卸载自带Edge_Win10彻底卸载
- c++的位运算怎么用 与、或、异或、移位操作详解【
- 如何在Golang中配置代码格式化工具_使用gof
- 如何在Golang中理解指针比较_Golang地址

QQ客服