方式一:利用jenkins分布式Master-slave来解决,selenium脚本不需要修改,环境部署好,可以直接跑
方式二:利用selenium grid分布式处理,这个有介绍过点击打开链接,剩下就是把selenium grid放到jenkins里面,让jenkins去管理,这个后续一篇介绍,这种方式,driver的url要改成hud的,脚本需要稍加修改
本篇主要记录方式一
一、环境部署
1)Master配置
Master指的是服务端,也就是jenkins打开Jenkins的web页面,在‘系统管理’-‘管理节点’中点击‘新建节点’,输入节点名称(节点指客户端,你要用于测试的机子),选择第一个,点击ok
跳到到如下图,配置完成后,点击save
这时候还没连接上,图标是打叉的
2)slave配置
就是配置客户端node(指定的测试机)
点击上面jenkins配置的node名称进入,如图
介绍了slave nodes连接有两种方式:
方式一:点击图中launch,下载slave-agent.jnlp,把这个文件复制到slave机器,以上master配置预设的目录E:\jenkins,记事本打开,核对ip地址,url,不要出现127.0.0.1或localhost之类的,无误后然后运行,如图
之后,jenkin上node节点打叉消失,正常监控
方式二:需要把slave.jar文件下载到客户端node E:\jenkins,然后把命令复制,新建个bat文件,粘贴命令,然后把bat文件也放到E:\jenkins,点击bat文件运行,Master-slave也可以连接上
注意:配置过程中遇到个问题是,服务器在云端,走的是外网,node是本地内网,需要用外网ip,通信的端口需要打通,才可以通信,这样需要固定slave nodes连接 Master的端口,点击jenkins系统管理-configure global security 固定端口,填写开端口的端口号即可
还有就是Master-slave时间要同步,同时设置如图
二、slave node执行自动化测试
前提,node有需要测试的浏览器
新建新建jenkins项目,复制以前jenkins自动化项目配置,点击ok,配置中只需要修改几点就可以
修改1:在General下勾上Restrict where this project can 被run,选择一个label,这个label就是创建节点时写的标签,指定运行的node,接下来源码管理不变,还是按之前配置拉取
修改2:构建触发器,按需修改
修改3:构建,选择构建的pom,路径要换成node节点的路径,构建后,代码会拉倒弄的机子配的工作目录下,构建设置不变
修改4:构建后报告地址要到node机子配的工作目录读取,邮件设置不变
修改5:testng报告要到node机子配的工作目录读取
点击应用,完成。立即构建,等一会就可以看到node机子开始进行自动化测试了,付上jenkins部分日志,可以看到连接node,拉代码,开始测试
最后jenkins控制台输出的日志会乱码,这时候需要在node机子添点设置,右键我的电脑→属性→高级系统设置→环境变量,添加JAVA_TOOL_OPTIONS,value为-Dfile.encoding=UTF8,注意是node机子。注意设置要正确,不然java虚拟机可能起不来。如下图