利用jenkins分布式执行selenium自动化测试

如果jenkins部署在linux服务器上,怎么来执行本地自动化测试,怎么来提高测试效率,或者如何进行浏览器兼容测试,怎么来简化繁琐的部署,不可能每个测试机子都部署一个jenkins来启动持续集成,目前有挺多方式来解决这个问题,目前针对我们测试部我主要通过两种方式解决:
方式一:利用jenkins分布式Master-slave来解决,selenium脚本不需要修改,环境部署好,可以直接跑
方式二:利用selenium grid分布式处理,这个有介绍过点击打开链接,剩下就是把selenium grid放到jenkins里面,让jenkins去管理,这个后续一篇介绍,这种方式,driver的url要改成hud的,脚本需要稍加修改

本篇主要记录方式一

一、环境部署

      1)Master配置

          Master指的是服务端,也就是jenkins

         打开Jenkins的web页面,在‘系统管理’-‘管理节点’中点击‘新建节点’,输入节点名称(节点指客户端,你要用于测试的机子),选择第一个,点击ok

      利用jenkins分布式执行selenium自动化测试_第1张图片

         跳到到如下图,配置完成后,点击save

      利用jenkins分布式执行selenium自动化测试_第2张图片

        这时候还没连接上,图标是打叉的

    2)slave配置

       就是配置客户端node(指定的测试机)

       点击上面jenkins配置的node名称进入,如图

      利用jenkins分布式执行selenium自动化测试_第3张图片

       介绍了slave nodes连接有两种方式:

       方式一:点击图中launch,下载slave-agent.jnlp,把这个文件复制到slave机器,以上master配置预设的目录E:\jenkins,记事本打开,核对ip地址,url,不要出现127.0.0.1或localhost之类的,无误后然后运行,如图


利用jenkins分布式执行selenium自动化测试_第4张图片

 利用jenkins分布式执行selenium自动化测试_第5张图片

      之后,jenkin上node节点打叉消失,正常监控

 利用jenkins分布式执行selenium自动化测试_第6张图片

       方式二:需要把slave.jar文件下载到客户端node E:\jenkins,然后把命令复制,新建个bat文件,粘贴命令,然后把bat文件也放到E:\jenkins,点击bat文件运行,Master-slave也可以连接上

       注意:配置过程中遇到个问题是,服务器在云端,走的是外网,node是本地内网,需要用外网ip,通信的端口需要打通,才可以通信,这样需要固定slave nodes连接 Master的端口,点击jenkins系统管理-configure global security 固定端口,填写开端口的端口号即可   

利用jenkins分布式执行selenium自动化测试_第7张图片

        还有就是Master-slave时间要同步,同时设置如图

  利用jenkins分布式执行selenium自动化测试_第8张图片

二、slave node执行自动化测试

       前提,node有需要测试的浏览器

       新建新建jenkins项目,复制以前jenkins自动化项目配置,点击ok,配置中只需要修改几点就可以

   利用jenkins分布式执行selenium自动化测试_第9张图片

        修改1:在General下勾上Restrict where this project can 被run,选择一个label,这个label就是创建节点时写的标签,指定运行的node,接下来源码管理不变,还是按之前配置拉取

利用jenkins分布式执行selenium自动化测试_第10张图片

       修改2:构建触发器,按需修改

       修改3:构建,选择构建的pom,路径要换成node节点的路径,构建后,代码会拉倒弄的机子配的工作目录下,构建设置不变

利用jenkins分布式执行selenium自动化测试_第11张图片

         修改4:构建后报告地址要到node机子配的工作目录读取,邮件设置不变

      利用jenkins分布式执行selenium自动化测试_第12张图片

         修改5:testng报告要到node机子配的工作目录读

     利用jenkins分布式执行selenium自动化测试_第13张图片

         点击应用,完成。立即构建,等一会就可以看到node机子开始进行自动化测试了,付上jenkins部分日志,可以看到连接node,拉代码,开始测试

利用jenkins分布式执行selenium自动化测试_第14张图片

         最后jenkins控制台输出的日志会乱码,这时候需要在node机子添点设置,右键我的电脑→属性→高级系统设置→环境变量,添加JAVA_TOOL_OPTIONS,value为-Dfile.encoding=UTF8,注意是node机子。注意设置要正确,不然java虚拟机可能起不来。如下图

利用jenkins分布式执行selenium自动化测试_第15张图片

   

你可能感兴趣的:(jenkins)