Jenkins +selenium(学习笔记三十一)

  1. 云栖社区>
  2. 博客>
  3. 正文

Jenkins +selenium(学习笔记三十一)

sktj 2018-05-11 14:50:00 浏览510

jenkins+selenium可以做到对web自动化的持续集成。


Jenkins的基本操作:


一、新建视图及job

新建视图:


img_d6275815507dc6056480b5f6b0403f0c.png
img_27deb7fb33def2317c2df6d3858f4b4f.png


新建job:


img_6b55cb7271bd2778ee8562bd44f274c6.png


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

img_150716a154ccc657bef53d8e1fe58576.png


二、准备工作:

 

安装Jenkins插件,SSH plugin ,Email Extension Plugin ,Hudson Seleniumhq plugin


点击系统管理->管理插件

在可选插件面板Filter中输入插件名,勾选复选框,点击直接安装,安装完成后重启Jenkins

img_fe52d6c3ebdcc31d65dd33e0a43d404b.png
img_08b3630803f2a2941a44073849dda69a.png
img_725e3ead2bf7c8d19f6cfd7ea5d215d1.png


三、重启后操作:


1.将job之间建立连接


可新增一个 Post-build Actions 来配置下一个需要构建的job

img_0b40c0c6579a3f5d476b2b8707db60ba.png

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

img_adfec720da6384d4c2471cc6fcd30f50.png

时间格式:* * * * *

*:分钟 小时 日 月 星期

*表示都

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的邮件

进入系统管理->系统设置

配置邮件通知:

img_d66ce32f2618512400623fe6078cf285.png

*之前使用了“使用SMTP认证”,反而无法发送邮件


配置Jenkins Location的系统管理员邮件地址:

img_3f4069926112eb4913f3670dcbe1e35d.png


配置默认邮件格式:

Extended E-mail Notification


主要修改:

Default Recipients:接收邮件地址,以“,”分隔

Default Subject:默认邮件主题

Default Content:默认邮件内容



修改job中的邮件发送配置

点击job名称,点击配置


img_c0a5dfc3ac0c3c832aa106c9217f1de9.png
img_b7ce0bdaa1295486af2b58b768794f7d.png

*其他都可以按照默认的来,主要修改Triggers

在Add Trigger中添加Failure - Any , Unstable(Test Failures),在构建失败或不稳定时都会发送邮件,如果没有添加任何Trigger,将不会发送任何邮件出来

img_3dfa382da951c085fcdc41674b005ce1.png

以上jenkins的配置完成了。



然后实现安装在Linux的Jenkins可以执行Windows下的selenium test case

一、配置Jenkins的Windows节点

1、点击左侧面板中:

系统管理->管理节点

2、点击左侧面板:新建节点

img_be311e109c35ec0e05cdcb21f025d564.png

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

img_485f27f7a7afb54eb0e65bed796bc8f8.png

4、输入相关配置,点击save

# of executors:同时可运行的job数量,默认为1

远程工作目录:目标Windows的工作目录

标签:用来指定job以什么方式来进行构建

用法:选择“只允许运行绑定到这台机器的job”

启动方法:选择“Launch slave agents via Java Web Start”,Windows机器推荐选择该方法

* 其他可随意或默认

img_4a5043106e5f0bfffa01dfff8edc17b5.png


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

img_021dcae09fc8b45694e4af1bffb04202.png

6、配置Windows机器

在目标Windows目录中创建上述的远程工作目录:E:\Jenkins

点击机器名:Windows_demo,出现如下页面:

img_8ea6d5f74e05090146434dce23dd6f6f.png

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

img_4abf13b77710027667facff960c2a670.png


img_6ed7fa2a269a4bc8436d238dbb633638.png

双击bat文件,建立Windows与Jenkins之间的联系。


* 可将open_connecte.bat拖至win->all programs->startup,开机自启动


在管理节点中可看到连接信息(37与38就是上述过程创建的机器):

img_5cdf29e74a5f35aa09cddba09d2e89f1.png


二、在远程工作目录中安装selenium-server

双击bat文件,建立Windows与Jenkins之间的联系后,会在E:\jenkins中出现workspace文件夹,用来存放job信息。

img_8f31faf0983b7727924be9845faddd36.png

1、在workspace中创建用来存放test case的文件夹:Test_script

存放test case

*不要出现中文的文件名,存放suite格式的test case


2、下载selenium-server-standalone-2.47.1.jar存放至E:\jenkins\workspace

img_d0987eb3092db5ad4812a9f2fe0830ef.png


3、新建以Windows机器执行的job

点击Jenkins的新建,输入Item名称,选择“构建一个自由风格的软件项目”,点击OK:

img_e45613e394c9192fbd05c1c5892404c5.png

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

img_b87e682b61f96d77f50f5024440a681b.png


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

img_aa5df6c9b054df1d953baa69034824dd.png

配置SeleniumHQ htmlSuite Run:

browser:运行脚本的浏览器,可输入*firefox,*chrome,*iexplorer等

startURL:使用的tomcat路径

suiteFile:脚本路径

resultFile:测试结果保存路径,最好保存在workspace下

other:可配置端口号等

img_c410a0cff6de2a6985454c4ea29d7e42.png

* 使用SeleniumHQ htmlSuite Run配置时还需配置全局配置

进入系统管理->系统设置

*该jar包是用来启动selenium的

img_aa14b51edfc8789e7972305e9e2f05d2.png


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

img_02cd7cdffaff922967489f634fdbac1e.png

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中文使用手册》