Jenkins上的UI自动化构建

前提:UI自动化框架通过Selenium2.0+testng基于Ant搭建的

构建步骤:

一、准备虚拟机环境

1、需要有一台Windows虚拟机环境
2、配置虚拟机环境(安装JDK、Ant、Maven、对应的浏览器,并且配置环境变量)

二、Jenkins上配置全局变量

PS:这里配置的地址都应为Jenkins所在机器的安装地址
进入系统管理->全局工具配置
1、配置JDK

image.png

2、配置Ant


image.png

3、配置Maven


image.png

三、Jenkins上配置节点

启动Jenkins服务的这台机器在Jenkins里叫做master,而其他的连到master上的机器(物理机、虚拟机都可以)都是slave
1、系统管理->节点管理,此时已存在master节点


image.png

2、点击New Node,输入节点名,勾选固定节点后点击OK


image.png

3、输入节点具体信息如下

image.png

Name:节点名称
Description:节点的信息描述,可以包含有CPU的核数、内存大小以及它的物理位置等。
# of executors:Jenkins并发构建的数量,因此这个值会影响Jenkins系统的负载压力. 使用处理器个数作为其值会是比较好的选择,设置这个值为0对于从Jenkins移除一个失效的从节点非常有用,并且不会丢失配置信息。
Remote root directory:必填项,节点上的工作地址,需要先在你的虚拟机上创建一个地址,然后填入绝对路径
Labels:标记(又叫做标签)用来对多节点分组,标记之间用空格分隔.例如'refression java6'将会把一个节点标记上'regression'和'java6'
Usage:控制Jenkins如何在这台机器上安排构建。这边选择“尽可能使用这个节点”

尽可能的使用这个节点*:
这是默认和常用的设置. 在这种模式下,Jenkins会尽可能的使用这个节点.任何时候如果一个构建能使用这个节点构建,那么Jenkins就会使用它.
只允许运行绑定到这台机器的Job:
这种模式下,Jenkins只会构建哪些分配到这台机器的Job. 这允许一个节点专门保留给某种类型的Job.例如,在Jenkins上连续的执行测试,你可以设置执行者数量为1,那么同一时间就只会有一个构建, 一个实行者不会阻止其它构建,其它构建会在另外的节点运行.

Launch method:控制Jenkins以什么方式启动agent。Windows虚拟机选择“通过Java Web启动代理”

Launch agent via execution of command on the master
Let Jenkins control this Windows slave as a Windows service
通过Java Web启动代理

Availability:决定Jenkins的启动和停止。这里选择“尽量保持代理在线”
Node Properties:指定工具(JDK、Ant、Maven)的位置,会覆盖全局变量

配置如下:


image.png

创建完成后,Slave会有个红色打叉


image.png

4、激活slave节点
1)进入节点,打开jenkins地址:[http://{jenkinsIIP}:{Port}/jenkins/computer/]登录点击进入Slave

image.png

2)连接agent的3种方式
a、点击图中的launch按钮,他会提示你下载该文件agent.jnlp,并保存在本地;
将agent.jnlp用notepad打开,确认其中的url是我们的jenkins服务器的地址http://{jenkinsIP}:{port}。
b、在cmd打开运行:javaws http://localhost:8080/jenkins/computer/UI_slave/slave-agent.jnlp
c、下载agent.jar。然后命令行运行:java -jar agent.jar -jnlpUrl http://localhost:8080/jenkins/computer/UI_slave/slave-agent.jnlp -workDir "C:\workplace_jenkins"

然后打开agent.jnlp,下拉这个File菜单就有一个选项他会提示你是否想设置为一个自启动的服务,可以将当前的slave设置成一个服务,每次机器重启的时候都自动启动slave服务,这样就不能每次都去启动这个slave agent了。


image.png

JNLP(Java Network Launching Protocol,java网络加载协议 )是java提供的一种可以通过浏览器直接执行java应用程序的途径,它使你可以直接通过一个网页上的url连接打开一个java应用程序。
javaws命令运行.jnlp文件,javaws -viewer在java控制面板中显示高速缓存查看器,可看到客户端已经安装的webstart应用程序

3)添加selenium-server
下载对应版本的seleniumselenium-server-standalone-xxx.jar包,并放到上述的workspace目录下

四、构建任务时选择刚创建的slave保存

image.png

你可能感兴趣的:(Jenkins上的UI自动化构建)