UI 自动化测试代码写完了以后,会放到 Jenkins 这样的持续集成工具上去构建。
如果 Jenkins 平台是搭建在服务器上,会面临 2 个问题:
第一个问题是 UI 自动化测试需要渲染界面,需要消耗大量的 CPU 和内存资源,如果服务器上还有其他的服务,可能会造成卡顿或者宕机这样的情况。
第二个问题是 Jenkins 平台上除了这个项目,还会有其他项目需要构建,如果同一时间构建大量的任务同样会造成多个任务抢占资源的情况。
Jenkins 提供了主从模式(master-slave) 解决这个问题。
前言
在服务器的 Jenkins 上配置项目
1 提交代码
首先,把自动化测试的代码传到 GitHub 这样的平台上。
把本地代码执行以下操作:
git add .
git commit -m "提交自动化测试"
git push
在 GitHub 上可以看到项目代码更新了,复制 GitHub 仓库链接地址。
2 创建 Jenkins 项目
输入 jenkins 服务的 URL 地址,进入 Jenkins 页面。
比如你们公司的 Jenkins 为 http://118.23.238.138:8080/。先点击 Manage Jenkins --> Manage Plugin 安装 Git 插件。
安装成功以后,进入 Jenkins 面板,点击 New Item 创建一个项目:
在 Item 的配置里选择 Git 管理源码。如果之前没有安装 Git 插件,这里不会有 Git 选项。
填入自动化代码的仓库地址,用户名密码和关联分支。第一次没有在 jenkins 里配置账号的可以点击 add 添加。
3 添加构建步骤
点击 add build step, 选择执行脚本的方式,windows 和 unix 系是不一样的。这里一定要注意,是运行任务的机器,这不是由服务器的系统决定的。
配置好了以后,点击立即构建,此时构建操作应该会报错,因为你的服务器还没有安装执行脚本需要的环境,比如浏览器,python 语言环境,selenium 环境等等。
如果你需要服务器运行脚本,这些环境是必须要装的。但是如果是使用主从模式,只需要客户机安装好环境就可以了。
4 添加客户机节点(Node)
在服务器上注册你需要运行脚本的客户机的名称,点击 manage jenkins -> manage node and cloud -> New Node 配置新节点。
需要注意 Launch method 一定要开启 jenkins 的远程连接端口,否则客户机无法连接上服务器。
这种连接用的是 JNLP4 协议, 这种协议是在 WebSocket + TLS 的基础上封装而成的长连接协议。可以在 jenkins 的安全设置面板中开启。
5 连接客户机
在 Node 管理界面点击刚刚添加的客户机,会介绍两种连接方式,直接按提示操作就可以了。
之后客户机和服务器就是通过这种方式传递数据。服务器不需要安装运行脚本需要的环境,这些环境都由客户机提供并执行。客户机并不需要安装 jenkin。
6 正常构建
连接成功以后就可以正常构建啦。
查看测试报告: