使Jenkins执行UI自动化测试的时候可以正常弹出浏览器

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 条评论)
   
验证码:

相关文章

推荐文章

'); })();