首页 / Jenkins / Jenkins执行WebUI自动化测试打不开浏览器解决办法

Jenkins执行WebUI自动化测试打不开浏览器解决办法

摘要:Jenkins执行WebUI自动化测试打不开浏览器解决办法 事情经过 把刚调好的Python WebUI自动化项目放在Jenkins构建执行的时候,发现失败Selenium报错,浏览器似乎也没打开过,明明在PyCharm里运行就好好的,这是...

Jenkins执行WebUI自动化测试打不开浏览器解决办法

事情经过

把刚调好的Python WebUI自动化项目放在Jenkins构建执行的时候,发现失败Selenium报错,浏览器似乎也没打开过,明明在PyCharm里运行就好好的,这是为什么呢;

image-20230314143218466

反复调试确认不是系统环境的问题,都是在Windows上运行的;

经过查阅资料终于找到了原因,由于我们在官网下载的Jenkins都是这种.msi的Windows安装程序,用windows installer安装成Windows的服务了,那么Jenkins是一个后台服务,在Windows中,后台服务是没有GUI交互权限的,因此你执行测试的时候也无法打开浏览器,所以就报错了。

解决办法

将Windows服务改成命令行运行即可解决;

1、到控制面板将原有Jenkins卸载;

2、到Jenkins官网下载war包版本 https://get.jenkins.io/war-stable/ ,我这里下载的2.361.4版本为例;

image-20230314145242258

image-20230314145318647

3、在任意位置建立Jenkins目录,我这里以D:\Jenkins为例;

image-20230314150214760

4、将下载的Jenkins War包命名jenkins.war放入;

5、下载RunHiddenConsole.exe文件放入,到网上找也可以,或者直接用我这个,因为我一直在用,不会出问题 https://fanscloud.net/d/RunHiddenConsole.exe ,它的作用顾名思义;

6、新建JenkinsRunner.bat文件,内容如下;

@echo off
cd /d "%~dp0"
cacls.exe "%SystemDrive%\System Volume Information" >nul 2>&1
if %errorlevel% == 0 goto admin
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
echo Set RequestUAC = CreateObject^("Shell.Application"^)>"%temp%\getadmin.vbs"
echo RequestUAC.ShellExecute "%~s0","","","runas",1 >>"%temp%\getadmin.vbs"
echo WScript.Quit >>"%temp%\getadmin.vbs"
"%temp%\getadmin.vbs" /f
if exist "%temp%\getadmin.vbs" del /f /q "%temp%\getadmin.vbs"
exit
:admin
RunHiddenConsole.exe java -Xmx256m -Duser.language=C.UTF-8 -jar jenkins.war --httpPort=8080

这样写目的是让Jenkins以管理员身份运行,

否则,

你也可以直接以普通身份运行Jenkins,但是会有很多限制,比如当Jenkins操作某个需要权限的目录或文件会失败;

@echo off
cd /d "%~dp0"
RunHiddenConsole.exe java -Xmx256m -Duser.language=C.UTF-8 -jar jenkins.war --httpPort=8080

使用上面命令行启动Jenkins的数据(即Jenkins Home)会保存在当前用户目录下,如下图路径,而原来以.msi安装的Jenkins数据是在C:\ProgramData\Jenkins\.jenkins目录下;

image-20230314160448601

7、创建一个上面bat文件的快捷方式,然后Win+R快捷键,输入shell:startup打开启动菜单,将快捷方式复制一份过去,注意,一定是放快捷方式过去,这样Jenkins就能随着Windows登录自启;

image-20230314153228127

8、更改用户帐户控制设置(如果上面你是想以普通身份运行,可以省略这一步),打开系统控制面板,或者Win+R输入control进入控制面板,点击用户帐户->用户帐户->更改用户帐户控制设置;

image-20230314154827721

image-20230314154943924

将级别设置为从不通知,如果不设置的话每次登录Windows就需要手动允许才能启动Jenkins,或者你可以不加入自启,每次开机手动允许启动脚本;

image-20230314155505994

版权声明:《Jenkins执行WebUI自动化测试打不开浏览器解决办法》为作者阿凡原创文章,转载请注明原文地址。
最后编辑:2023-3-14
分享到:
发表评论

用心评论~