selenium+jenkins网页自动化测试的构建
jenkins+selenium可以做到对web自动化的持续集成。
Jenkins的基本操作:
一、新建视图及job
新建视图:


新建job:

可以选择构建一个自由风格的软件项目或者复制已有的item

二、准备工作:
安装Jenkins插件,SSH plugin ,Email Extension Plugin ,Hudson Seleniumhq plugin
点击系统管理->管理插件
在可选插件面板Filter中输入插件名,勾选复选框,点击直接安装,安装完成后重启Jenkins



三、重启后操作:
1.将job之间建立连接
可新增一个 Post-build Actions 来配置下一个需要构建的job

Trigger only if build is stable:只有本次构建成功才执行下一个job
Trigger even if the build is unstable:如果本次构建不稳定也可以执行下一个job,但是失败则停止构建
Trigger even if the build fails:就算本次构建失败也可以执行下一个job
2.配置自动化时间
在上步骤创建的job中添加自动执行时间表
打开job配置
勾选构建触发器的Build periodically

时间格式:* * * * *
*:分钟 小时 日 月 星期
*表示都
MINUTE Minutes within the hour (0–59)
HOUR The hour of the day (0–23)
DOM The day of the month (1–31)
MONTH The month (1–12)
DOW The day of the week (0–7) where 0 and 7 are Sunday.
*此处分钟我并不明白为什么不能写数字
PS:点击“?”可查看配置要求
3.配置Jenkins的邮件
进入系统管理->系统设置
配置邮件通知:

*之前使用了“使用SMTP认证”,反而无法发送邮件
配置Jenkins Location的系统管理员邮件地址:

配置默认邮件格式:
Extended E-mail Notification
主要修改:
Default Recipients:接收邮件地址,以“,”分隔
Default Subject:默认邮件主题
Default Content:默认邮件内容
修改job中的邮件发送配置
点击job名称,点击配置


*其他都可以按照默认的来,主要修改Triggers
在Add Trigger中添加Failure - Any , Unstable(Test Failures),在构建失败或不稳定时都会发送邮件,如果没有添加任何Trigger,将不会发送任何邮件出来

以上jenkins的配置完成了。
然后实现安装在Linux的Jenkins可以执行Windows下的selenium test case
一、配置Jenkins的Windows节点
1、点击左侧面板中:
系统管理->管理节点
2、点击左侧面板:新建节点

3、输入节点名称,选择Dumb Slave,点击OK

4、输入相关配置,点击save
# of executors:同时可运行的job数量,默认为1
远程工作目录:目标Windows的工作目录
标签:用来指定job以什么方式来进行构建
用法:选择“只允许运行绑定到这台机器的job”
启动方法:选择“Launch slave agents via Java Web Start”,Windows机器推荐选择该方法
* 其他可随意或默认

5、save成功后出现以下记录

6、配置Windows机器
在目标Windows目录中创建上述的远程工作目录:E:\Jenkins
点击机器名:Windows_demo,出现如下页面:

将Run from slave command line下的slave.jar下载到远程工作目录下,同时将Java命令复制到txt文件中,保存成bat文件。


双击bat文件,建立Windows与Jenkins之间的联系。
* 可将open_connecte.bat拖至win->all programs->startup,开机自启动
在管理节点中可看到连接信息(37与38就是上述过程创建的机器):

二、在远程工作目录中安装selenium-server
双击bat文件,建立Windows与Jenkins之间的联系后,会在E:\jenkins中出现workspace文件夹,用来存放job信息。

1、在workspace中创建用来存放test case的文件夹:Test_script
存放test case
*不要出现中文的文件名,存放suite格式的test case
2、下载selenium-server-standalone-2.47.1.jar存放至E:\jenkins\workspace

3、新建以Windows机器执行的job
点击Jenkins的新建,输入Item名称,选择“构建一个自由风格的软件项目”,点击OK:

项目设置中,勾选Restrict where this project can be run,同时在Label Expression中输入上述创建的标签,连接到刚刚建立的节点。

增加构建步骤方式一:选择SeleniumHQ htmlSuite Run:

配置SeleniumHQ htmlSuite Run:
browser:运行脚本的浏览器,可输入*firefox,*chrome,*iexplorer等
startURL:使用的tomcat路径
suiteFile:脚本路径
resultFile:测试结果保存路径,最好保存在workspace下
other:可配置端口号等

* 使用SeleniumHQ htmlSuite Run配置时还需配置全局配置
进入系统管理->系统设置
*该jar包是用来启动selenium的

增加构建步骤方式二:使用batch command

set datetime=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
java -jar E:\jenkins\workspace\selenium-server-standalone-2.47.1.jar -htmlSuite "*firefox" "http://localhost:8080/" "E:\Jenkins\workspace\test1\Test_script\login-suite.html" "E:\Jenkins\workspace\test1\%datetime%.html"
* datetime的设置,可以按照需要的方式设置,参考:http://blog.chinaunix.net/uid-20201831-id-3305658.html
上述代码的主要功能为启动selenium,并且创建一个以当前日期时间为名的HTML文件,并将结果复制到该文件中。
* 需注意路径中不能出现空格,如需要出现空格,必须将路径用""包含
* 估计所有的Windows机器都使用同一个jar,需验证
最后一步,点击构建。
Selenium IDE 的用法可以参考网上的《selenium中文使用手册》
这篇好像有点傻瓜教程!
selenium+jenkins网页自动化测试的构建的更多相关文章
- selenium + python网页自动化测试环境搭建
1.python的安装 ,这个不解释,exe文件运行安装即可,既然你选择python,相信你是熟悉python的,我安装目录C:\Python27 2.setuptools 的安装也非常简单,同样是e ...
- Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因
Jmeter+ant+Jenkins构建接口自动化测试时构建失败 提示:Fatal Error! 字符引用 "&#原因:接口响应数据中有&#
- 持续集成学习5 jenkins自动化测试与构建
一.jenkins参数 1.主要参数类型 2.触发构建参数 3.参数值的使用 4.给git仓库配置参数,让其构建的时候可以选择分支 5.配置password参数 6.添加Choice参数 7.其它好用 ...
- 第七篇 Postman+Node.js+Newman+Jenkins实现自动化测试
今天终于不咋忙了,学习整理一下一直想做却没实现的事儿,这事已经折磨团队半年之久了.因为项目是B端业务的测试,测试过程中需要生产大量的测试数据,而且都是跨多个系统的测试,对于后置流程的测试,这些同学往往 ...
- Linux下Jenkins与GitHub自动构建NetCore与部署
今天我们来谈谈NetCore在Linux底下的持续集成与部署.NetCore我就不多介绍了,持续集成用的是Jenkins,源代码管理器用的是GitHub.我们就跟着博文往下走吧. 1.Linux环境 ...
- 如何使用Selenium来计算自动化测试的投资回报率?
跨浏览器测试是一种测试,需要大量的精力和时间.通过不同的浏览器,操作系统,设备,屏幕分辨率测试Web应用程序,以评估针对各种受众的Web内容呈现的过程是一项活动.特别是如果手动处理.使用Seleniu ...
- Postman+Newman+Git+Jenkins接口自动化测试
一.Postman 1.创建Collection,在Collection中创建接口请求,如下图所示. 2.编写接口对应的断言Test和Pre-request Script,如下图所示. 3.配置接口 ...
- ant +jmeter+jenkins接口自动化测试二
[Jmeter篇]Jmeter+Ant+Jenkins接口自动化测试集成之半路逆转(二) 橙子探索测试发表于橙子探索测试订阅 72 [Jmeter篇]jmeter+Ant+Jenkins接口自动化测试 ...
- ant+jmeter+jenkins接口自动化测试一
[Jmeter篇]jmeter+Ant+Jenkins接口自动化测试集成(一) 橙子探索测试发表于橙子探索测试订阅 90 一.简介 1.什么是ant? ant是构建工具,把代码从某个地方拿来,编译,再 ...
随机推荐
- eclipse导出jar,再转换为exe可执行程序
转自: https://blog.csdn.net/mommomm/article/details/8227876 若只想知道如何把jar转换成exe,直接看第四步即可. 一.导出jar文件: 选中你 ...
- cowboy页面重定向的例子
创建工程 rebar-creator create-app testCowboy testCowboy_app.erl -module(testCowboy_app). -behaviour(appl ...
- Java实例变量初始化
由一道面试题所想到的--Java实例变量初始化 时间:2015-10-07 16:08:38 阅读:23 评论:0 收藏:0 [点我收藏+] 标签:java ...
- mysql的配置(图解)
一.配置MySQL数据库 1.解压绿色版mysql,如下图 二.安装服务 1.运行cmd(管理员版本,否则没有权限),如下图 2.运行命令mysqld –install安装服务,如下图: 如果不需要m ...
- Cloudstack 安装记录
一.条件要求 1.硬件支持虚拟化,并在BIOS中开启(Inter-VT设为 Enable). 2.Centos 6.5 x86_64 3.环境中的每台主机均为静态IP地址. 4.cloudstack安 ...
- A start job is running for /etc/rc.d/rc.local ... ... no limit
/etc/rc.d/rc.local文件中配置了redis随机启动但是没有设置redis启动为守护进程(daemonize yes)导致redis启动后阻塞
- Mysql Docker Container Command
Hello, in my docker-compose file I have the following: db: image: mysql command: mysqld --character- ...
- php中$_POST接收不到参数问题
问题描述:PHP可以接收_GET._SERVER._COOKIE等参数,php://input可以读取没有处理过的POST数据,独独_POST接收不到post参数. 原因: php://input可 ...
- 基于vue-easytable实现数据的增删改查
基于vue-easytable实现数据的增删改查 原理:利用vue的数据绑定和vue-easetable的ui完成增删改查 后端接口: 1.条件查询表中数据 http://localhost:4795 ...
- C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值
转自goldeneyezhang原文 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值 C#利用反射,遍历获得一个类的所有属性名,以及该类的实例的所有属性的值总结: 对应某个类的 ...