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; ?>
】
相关推荐
- 如何在 IIS 上为 ASP.NET 6 应用排除
- 如何使用正则表达式提取以编号开头、后跟多个注解的完
- php中self::能调用子类重写的方法吗_静态绑
- LINUX如何删除用户和用户组_Linux use
- c++23 std::expected怎么用 c+
- Win11声音太小怎么办_Windows 11开启
- Windows11怎么自定义任务栏_Windows
- Win10如何更改任务栏高度_Windows10解
- 如何在Golang中写入JSON文件_保存结构体数
- Python多线程使用规范_线程安全解析【教程】
- Win11怎么关闭VBS安全性_Windows11
- Windows10如何更改日期格式_Win10区域
- Windows10系统怎么查看显卡驱动_Win10
- Python深度学习实战教程_神经网络模型构建与训
- Win11怎么关闭自动调节亮度_Windows11
- Mac的访达(Finder)怎么用_Mac文件管理
- Windows10如何更改桌面背景_Win10个性
- WindowsUSB驱动安装异常怎么办_USB驱动
- Django 测试数据库表缺失与字段未创建问题的完
- Dapper的Execute方法的返回值是什么意思
- PhpStorm怎么调试PHP代码_PhpStor
- Win11怎样安装钉钉客户端_Win11安装钉钉教
- 如何使用Golang实现路由分组管理_Golang
- Go 中 := 短变量声明的类型推导机制详解
- 如何正确访问 Laravel 模型或对象的属性而非
- 如何将竖排文本文件转换为横排字符串
- Win10怎么卸载迅雷_Win10彻底卸载迅雷方法
- 如何使用Golang实现云原生应用弹性伸缩_自动应
- Win11怎么关闭粘滞键_彻底禁用Windows
- php下载安装选zip还是msi格式_两种安装包对
- LINUX怎么查看进程_LINUX ps命令查看运
- c++怎么用jemalloc c++替换默认内存分
- Win11怎么开启远程桌面连接_Windows11
- Win11怎么查看显卡显存_查询Win11显卡详细
- Mac自带的词典App怎么用_Mac添加和使用多语
- win11 OneDrive怎么彻底关闭 Win1
- php打包exe怎么传递参数_命令行参数接收方法【
- 微信里的php文件怎么变mp4_微信接收php转m
- Python日志系统设计与实现_高可观测性架构实战
- Win11怎么设置虚拟桌面 Win11新建多桌面切
- Win10如何更改用户账户控制_Windows10
- php修改数据怎么批量改状态_批量更新status
- Win11怎样安装微信开发者工具_Win11安装开
- Django密码修改后会话失效的解决方案
- 如何在Golang中实现基础配置管理功能_Gola
- Win11蓝牙开关不见了怎么办_Win11蓝牙驱动
- Win11怎么查看显卡温度 Win11任务管理器查
- MAC怎么用连续互通相机里的“桌上视角”_MAC在
- Python文本编码与解码_跨平台解析说明【指导】
- Win11如何设置环境变量 Win11添加和修改系

QQ客服