01.自动化测试框架
在学习自动化测试或者实践自动化测试时,我们一定会对一个名词不陌生,那就是“自动化测试框架”。
而有些人也将 Selenium、Appium 这样的工具也称之为“自动化测试框架”,那么到底自动化测试框架如何理解呢?
软件工程中的框架(framework),特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。
在此结构上可以根据具体问题扩展、安插更多的组成部分(升级),从而更迅速和方便地构建完整的解决问题的方案。
根据以上框架的定义引申到自动化测试领域,我们可以定义自动化测试框架包括如下功能:
(1) 日志组件
记录和管理日志,方便定位问题,如 Log4j、logging 模块等;
(2) 测试报告
管理与生成测试报告,快速得到测试结果,如 Allure、HtmlReport 等;
(3) 测试静态资源
如配置文件、引用的其他静态资源管理,实现配置与测试脚本分离;
(4) 测试用例管理与执行
如 Java 语言体系 TestNG、Junit,Python 语言体系 UnitTest、Pytest 等;
(5) 测试数据管理
保存用例参数化数据,如可采用 Excel、YAML、CSV 格式文件,实现测试脚本与测 试数据分离;
(6) 公共模块(Common)
保存用例公共方法、通用操作;
(7) 驱动模块(Driver)
底层执行自动化测试引擎,如 Selenium Webdriver 网页端测试库、Appium client 移动端测试库、Requests/REST-assured 接口测试库。