一 目的:基于Selenium 自动化回归测试解决方案。
Selenium简介:ThroughtWorks 公司一个强大的开源 Web 功能测试工具系列,包括Selenium-IDE、Selenium-RC、Selenium-Webdriver 以及 Selenium-Grid。
自动化实施目的 :
自动执行重复工作较大回归测试。
Web 系统在不同环境下的兼容性测试(多操作系统和多浏览器)。
与 CI 服务集成,作为持续集成实践的一部分。
二 Selenium自动化实施方案简介
实施方案:
自动化测试框架:Selenium 2(WebDriver)+ Page Object
用例管理系统:Testlink/TD
脚本开发:Java 语言
脚本生成方式:手工编写 + IDE 辅助元素识别
脚本运行方式:Testng 测试框架调度
测试数据:Testng 数据驱动
脚本回放:IE/Chrome/FireFox
自运行方案:Ant 批处理/CI 调度(Jenkins)
测试报告:Testng Report
工具:Eclipse + Selenium + testng + ant + Jenkins
Page Object设计模式简介 :Page Object 将测试对象及单个的测试步骤封装在每个 Page 对象中,以 page 为单位进行管理。在 Web 应用程序的用户界面中存在测试交互。Page Object 可以简单的用测试代码将页面对象模型化,从而减少了重复的代码量,如果 UI 发生变化,只需要在统一的地方变更。
方案特性:
支持多环境下的兼容性测试
支持数据驱动(DDT)
对象库的分离和管理
自动化测试脚本的组织和管理
脚本的可重用(团队)和可配置
灵活的断言机制
便捷的后台服务
直观性的测试报告
支持与 CI 集成
强大的场景恢复
方案适用的情形:
产品型项目
增量式开发、持续集成项目
能够自动编译、自动发布的系统
回归测试
多次重复、机械性动作
需要频繁运行测试
将烦琐的任务转化为自动化测试
方案不适用的情形:
定制型项目(一次性的)
项目周期很短的项目
业务规则复杂的对象
美观、声音、易用性测试
测试很少运行
软件不稳定
涉及物理交互
三 自动化测试环境:
开发环境
硬件环境
普通开发用的 PC 即可。
软件环境
Windows XP/7
Eclipse 4.2(含 testng 插件)
JDK 1.6
testng 6.7.0
selenium server 2.25 或以上
IE 8 或 9(含 IEDriver)、Firefox(含 firebug 插件)
运行环境
硬件环境
PC Server
双核或四
80G 以上磁盘空间
100M 或以上以太网卡
软件环境
Windows(除 Win8)、Linux
JRE 1.6
testng 6.7.0
selenium server 2.25 或以上
ant 1.8.4
IE(不支持 IE10,含 IEDriver