1703951064
1703951065
以上我们把自动化测试的基本概念、主要流程跟大家做了介绍,下面我们通过一个实际案例来一起建立自动化测试系统。
1703951066
1703951068
4.4.2 最佳实践案例:跟我一起搞定自动化测试
1703951069
1703951070
案例4-4 跟我一起搞定自动化测试
1703951071
1703951072
实施自动化测试,首先关注如何搭建自动化测试框架,搭建的原则是:一、快速成型和快速推广,框架的基本功能马上可以使用,并能迅速地找到使用者,得到成功推广的案例;二、可扩展,可实现增量开发—逐步扩大用户基数,丰富框架功能。
1703951073
1703951074
基于这两个原则,在常见的开源自动化测试框架里,有三个框架符合要求,它们是Selenium、WatiR/WatiN、Sahi,下面我们简要介绍这三个框架。
1703951075
1703951076
Selenium,可以说是测试Web最全面的开源自动化测试工具,它可以在Windows、Linux、MAC和Solaris上运行,而且可以几乎用任何一种编程语言进行构建,支持的语言有Java、C#、Perl、PHP、Python、Ruby;支持的浏览器有IE、FireFox、Opera、Safari。相信这些特性,已经满足大部分公司对自动化测试框架的要求。
1703951077
1703951078
WatiR/WatiN,是Web Automation Testing In Ruby/.Net的缩写,支持的语言有Ruby、C#;支持的浏览器有FireFox、Safari。
1703951079
1703951080
Sahi,可以专门测试动态的Ajax应用程序,还带有出色的自动化播放效果机制,独立的平台和浏览器、出色的录制器、无须等待、无须Xpath、内置Java异常交互报告,支持的语言只有Java,支持的浏览器是FireFox。
1703951081
1703951082
其中Selenium是比较推荐的自动化测试框架,因为它起步早、发展较成熟、用户群较多、参考资料丰富,使用者只要专注于组件编写,就能实现企业级的自动化测试。
1703951083
1703951084
有了自动化测试框架,接下来我们来设计一个自动化测试的代码框架,如图4-8所示,这是一个完整的自动化测试框架的层次结构,包括主控层、脚本层、公用函数、错误处理、日志与报告、全局环境变量。
1703951085
1703951086
1703951087
1703951088
1703951089
图4-8 自动化测试框架的层次结构
1703951090
1703951091
主控层,用于控制触发自动化测试运行的驱动。 脚本层,用于管理测试脚本代码,脚本层中还包含测试数据、对象库、公用脚本、局部变量。 公用函数,提取所有脚本中全局公用函数。 错误处理,自动化测试中的容错机制,有的框架会自带错误处理机制。 日志与报告,记录自动化测试运行过程中的各种日志。 全局环境变量,用于统一配置管理。 如图4-9所示,是一个自动化测试工程代码的结构示例。
1703951092
1703951093
1703951094
1703951095
1703951096
图4-9 自动化测试工程代码的结构示例
1703951097
1703951098
自动化测试框架是如何运作的呢?整个运作过程包含5个步骤:触发条件后启动主程序、自动化脚本开始运行、读取自动化测试用例数据、返回并保存运行结果、结束,如图4-10所示。
1703951099
1703951100
1703951101
1703951102
1703951103
图4-10 自动化测试运作过程
1703951104
1703951105
触发条件的方式有定时任务、Windows批处理命令、Shell脚本等,一旦自动化测试被触发,主控程序调配自动化脚本开始运行,同时读取测试用例数据,进行测试场景的运行,场景运行结束后,将测试结果写入结果报告中。测试结果报告可以是日志、HTML、Excel、截图等形式,如Selenium框架提供自动截图API,方便生成个性化的测试报告。
1703951106
1703951107
以上是自动化框架的运作过程,如果要实施自动化测试,我们需要组建一支自动化测试团队,一个小型的自动化测试团队,主要分以下三种角色:
1703951108
1703951109
1.测试框架设计师
1703951110
1703951111
岗位职责:
1703951112
1703951113
根据测试业务,评估自动化测试的可行性,并进行工具的选择; 进行自动化测试框架的设计和搭建; 组织自动化测试用例的编写和测试脚本的开发及结果处理分析; 组织自动化框架和自动化用例脚本验收评审工作; 制定并推广自动化测试的流程和规范; 对测试团队进行自动化测试技能培训,和对自动化测试实施进行指导。 2.测试用例设计人员
[
上一页 ]
[ :1.703951064e+09 ]
[
下一页 ]