本文章转载于搜狗测试
相信每一个测试都会碰到过新功能上线时,需要对其它相关功能进行回归的情况;或者出现一些线上bug,而我们没能够及时发现的情况。为了解决上面两个问题,搜狗游戏平台采用jenkins+selenium+ant+testng架构实现了线上功能的监控和上线前快速回归。通过该系列文章,你将会了解到以下内容:
• 实现web功能自动化持续集成框架工具选择与环境搭建
•Selenium+testng实践
•Selenium封装与重用
• 自动化Case分布式执行
• 如何进行自动化构建?
• 实现Web自动化持续集成
一、工具选择
工欲善其事,必先利其器。在进行实战之前工具的选择非常关键,下面是我们选择使用的工具:
1、 Selenium2.0
Selenium包括selenium1.0(即selenium RC)和selenium2.0(selenium webdriver)。selenium1.0是通过JS注入方式与浏览器进行交互的,而selenium2.0中为了更好的模拟用户真实环境,它直接利用了浏览器的nativesupport来操作浏览器的。Selenium和Webdriver原属于两个不同的测试工具, selenium与webdriver合并后,selenium提供了webdriver不具备的多浏览器支持,而webdriver提供了selenium1.0中不具备的键盘和鼠标等系统级的操作以及对对话框的支持。因此,我们选择功能更加强大的selenium2.0.
2、 Ant
ant是一个常用的构建工具,我们自动化过程中工程的编译、执行、发邮件等操作都可以通过构建工具来执行;我们只需要在构建文件(一个xml文件)中进行下简单的配置便可通过Ant对我们的工程进行构建。
3、 Testng
Testng是一个基于Java能够进行功能、接口和单元测试的框架,之所以选择testng是因为相对于junit而言,testng具备了junit所有功能,而同时又拥有很多junit不具备的特点,主要包括:
•Testng拥有一个xml配置文件,可以很方便的对所有用例进行管理、配置
•Testng支持依赖测试
•Testng参数化测试功能更加强大,既可以在case中指定参数,又可以通过配置文件进行传参
4、Jenkins
Jenkins是一个持续集成工具,通过它可以监控自动化case代码变更情况、定时执行自动化测试脚本、生成测试报告、邮件通知负责人。
工具选择完成后,接下来就是环境的搭建了~~~
二、环境搭建
1、安装jdk及配置jdk环境变量
相信大家对jdk安装不会陌生吧,详细过程省略……
2、Eclipse安装
直接下载可用的eclipse包即可,下载地址:http://www.eclipse.org/downloads/index.php。
3、Eclipse中安装testng插件
在Eclipse中选择help->install new software –> Add ->弹出框中Name填testng(可填其它)Location填写http://beust.com/eclipse(此为插件地址)点击ok
点击ok后eclipse会自动的检测testng的插件内容,勾选我们需要加载的内容,点击next
点击next后就开始安装该插件,完成后重启eclipse使其生效。Eclipse启动后,选择file->new->other,弹框中出现testng字样,表示安装成功
4、Ant安装
Eclipse中带有ant插件,我们只需要进行相关的配置即可。首先,在环境变量中新建ant_home变量,变量值为ant所在目录
将ant目录中lib和bin目录添加到path目录下
完成上述操作后,在cmd中输入ant,出现以下提示表示配置成功:
5、Selenium下载
去selenium官网下载对应你所用语言版本的selenium webdriver包即可,下载地址:http://seleniumhq.org/。
6、Jenkins安装
首先下载Jenkins最新版war包,地址:http://Jenkins-ci.org/
下载完成后,cmd中进入到Jenkins.war存放目录并执行命令:java -jar Jenkins.war
完成后,打开浏览器,输入http://localhost:8080,进入Jenkins首页
7、Jenkins中安装testng插件
点击系统管理->管理插件,进入插件管理页面,选择可选插件,并在过滤条件中输入testng,在出现的选项中,勾选testng result plugin选项,并点击直接安装即可完成testng插件的安装。