如何通过Appium UI自动化测试统计.NET MAUI应用代码覆盖率?
外部Appium测试采集.NET MAUI应用代码覆盖率的问题
项目配置概况
- MAUI应用:基于.NET 9构建,目标平台为Windows
- 自动化测试:独立NUnit C#项目(.NET 8),结合Appium实现端到端UI测试
- 测试执行逻辑:Appium测试启动MAUI应用的.exe文件并与之交互
目标
统计Appium UI自动化测试运行时MAUI应用内部代码的实际执行覆盖率——即UI测试触发的应用代码覆盖率(类似单元测试覆盖率,但针对外部UI驱动场景)。
明确排除的内容
- 不关注Appium测试项目自身的代码覆盖率
- 不关注功能/标签覆盖率(如页面级映射)
- 仅需了解:UI测试通过Appium外部运行时,MAUI应用的哪些代码部分被执行
已尝试操作
- 已成功用Appium Inspector附加到MAUI应用并运行测试,自动化功能正常
- 尝试用
dotnet coverage collect采集覆盖率,但Appium多次启停应用导致采集器在首个实例结束后停止 - 了解到Coverlet等工具通常针对同进程代码插桩,不适用于当前跨进程测试场景
核心疑问
所有Appium UI自动化测试运行时,MAUI应用代码库的实际执行比例是多少?
环境详情
- 操作系统:Windows 11
- MAUI版本:.NET 9
- Appium版本:2.17.1
- Appium驱动:Windows(基于WinAppDriver协议)
具体问题
- 通过外部Appium测试采集.NET MAUI应用代码覆盖率是否技术可行?
- 若可行,如何配置采集器以处理Appium多次启停应用的场景?
- .NET或Appium社区中是否有这类UI驱动覆盖率统计的最佳实践?
备注:清楚单元测试覆盖率与UI自动化覆盖率的区别,需后者的代码级覆盖率,而非测试用例映射,因缺少全模块手动测试用例。
内容的提问来源于stack exchange,提问作者Aswin M
相关产品推荐
相关产品推荐

