Jenkins是一款非常好用的持续集成工具,现在越来越多的公司开始使用Jenkins来做持续集成了。测试人员可以利用Jenkins执行自动化测试用例,但是在使用过程中会发现,Web自动化执行起来后没有启动浏览器,程序到底执行成什么样了,我们很难掌握。下面就来看看如何使Jenkins执行Web自动化的时候还能看到UI。
Jenkins安装主要有两种方式:
直接在命令行中启动jenkins服务:java -jar jenkins.war--httpPort=8081
将Jenkins服务配置为Windows服务。
使用第一种方法创建的Jenkins执行自动化可以在系统中看到浏览器执行情况,但是这种方式创建的Jenkins服务不稳定,每次重启机器时都需要重新启动服务,并且要保证使用管理员权限启动服务。
使用第二种方式创建的Jenkins比较稳定,但是在执行UI自动化的时候不会显示浏览器。这是由于windows服务调用的程序都会在服务进程内部执行,所以自动化程序启动的浏览器在系统中是看不到的。
如果想让windows服务方式创建的Jenkins可以正常执行Web自动化,可以通过windows系统的任务计划来实现。首先搜索任务计划并打开。
在任务计划中,单击“任务计划程序库”,在右边空白处单击鼠标右键,选择新建任务,或者在最右侧单击创建任务按钮。
在打开的新建任务对话框中填写任务名称,同时勾选“使用最高权限运行”:
在新建任务对话框中单击操作标签,单击“新建”按钮,创建一个任务步骤。
在弹出的“新建操作”对话框中选择要执行的脚本(这个脚本就是用来启动UI自动化的脚本)
创建完任务计划后,先试试这个计划能不能启动UI自动化程序。右键单击任务名,选择运行,如果UI自动化程序能够正常执行,说明任务计划已经搭建好了。
最后在Jenkins中编写PowerShell脚本来启动上面的任务计划。
PowerShell脚本说明:
1. 获取任务计划:
$task = Get-ScheduledTask -TaskName UI_Automation
2. 如果已经取得任务计划,调用Start-ScheduledTask启动任务:
if($task -ne $null)
{
Start-ScheduledTask -TaskName $task.TaskName -TaskPath $task.TaskPath
}
3. 等待任务结束
$task = Get-ScheduledTask -TaskName UI_Automation
while($task.State -ieq "Running")
{
sleep(3)
$task = Get-ScheduledTask -TaskName UI_Automation
}
留言与评论(共有 0 条评论) |