一个成熟的测试框架主要由 4 部分组成:基础模块、管理模块、运行模块和统计模块
基础模块
底层核心库 一般指用于操作被测试应用程序的第三方库,例如在 Web 端的 Selenium/WebDriver。如API端的Requests
对象库 PO模式中的页面对象
可重用组件 如一些通用的工具方法,登录模块,文件处理模块
配置文件 包括测试环境的配置和应用程序的配置如pytest.ini
管理模块
测试数据管理
测试数据采用什么方式进行管理?
测试文件管理
一个测试用例应该对应建立三个文件,分别是:Page 类文件(xxxPage,根据 PO 模型)、测试类文件(testxxxPage)和对象库文件(xxxPageYml)
运行模块
测试用例调度 测试框架应能按需组织,调度测试用例生成、执行,如按照标签筛选用例,按照文件筛选,按照文件夹筛选。
顺序执行,也可以并发执行,还可以远程执行
错误恢复机制
持续集成支持 测试框架应该能够和 CI 系统低成本集成,包括通过用户输入参数指定运行环境、测试结束后自动生成测试报告等。
统计模块
测试报告
测试报告应该全面,包括测试用例条数统计、测试用例成功/失败百分比、测试用例总执行时间等总体信息。其中,对于单条测试用例,还应该包括测试用例 ID、测试用例运行结果、测试用例运行时间、测试用例所属模块、测试失败时刻系统截图、测试的日志等信息。
日志模块
测试框架应该包括完善的日志文件,方便出错时进行排查和定位。
通知模块
邮件,企业微信,钉钉通知
测试框架设计原则