目录:
一、自动化测试与测试自动化
二、什么是自动化测试框架
三、自动化测试框架架构与组件
四、自动化测试框架的类型
五、测试自动化框架的好处
一、自动化测试与测试自动化
自动化测试是指使用自动化测试工具代替人工的方式来执行测试用例。使用工具的原因一方面是为了代替人工执行那些简单、重复而枯燥的动作,从而节省人工的时间,让测试人员投入到真正有价值的探索式测试中;另一方面,像性能测试之类的的压测场景我们很难使用人海战术进行测试而只能借助于工具模拟的方式来进行。
测试自动化是指在软件测试全生命周期(STLC:Software Testing Lifecycle)过程中每一个环节都尽可能用自动化的方式来解决。所以它不仅仅关注测试执行过程,还包括测试数据准备、测试环境搭建等等都可以通过自动化的方式实现。

今天我们谈谈自动化测试,当我们在IT部门定义自动化测试时,它意味着通过不同的自动化工具在应用程序上执行测试。这些工具可以是开源的,也可以是商业的。
二、什么是自动化测试框架
在我们讨论自动化测试框架之前,先了解一下什么是框架。
框架是标准和规则的组合,当遵循这些标准和规则时,企业可以使用它们来获得最大的收益。同样自动化测试框架是用于创建自动化脚本的特定方法,它是一组为自动化提供支持的原则、概念和实践。
自动化测试框架的特点:
在编写脚本时遵循一组严格的原则。这些原则主要关注于减少自动化脚本的维护和提高脚本的质量。
确保自动化脚本具有数据可行性,因此它们可以在各种数据集上执行。实现可重用、健壮和高效的自动化脚本。
三、自动化测试框架架构与组件
在了解自动化测试框架组件之前先来了解自动化测试框架架构。下图列出了一个最基本的自动化测试框架架构:

一个基础的自动化测试框架体系结构涉及以下主要组件:
1、驱动引擎
控制其他组件或者工具执行的主要代码。有些框架和执行引擎在同一个工具里面,大部分商业工具都如此,比如QTP/UFT和Tosca;有些框架需要借助外部的测试工具,比如RobotFramework框架集成Selenium或者Appium等。
2、数据管理(数据管理包括三个方面)
1、参数管理:需要对输入输出参数进行统一管理,提高脚本可维护性
2、环境变量:需要对测试环境变量做到可配置管理,提高脚本的健壮性
3、测试数据:测试数据的输入,是否能支持多种文件格式的导入,甚至是数据库直接取数的接口等
3、对象存储库
保存对象定义的文件。
4、异常处理
当脚本执行出现错误的时候,需要有异常处理的机制,是继续往下执行还是直接退出?这里需要有处理错误或异常的机制。
5、执行机制
执行脚本的机制。是否批量执行?是否定时执行&#