jenkins 运行selenium webdriver,找不到Chrome浏览器报错
问题:在本地用命令行的形式运行代码工程,执行selenium正常,推送到服务器使用jenkins运行时,发现报错,unknown error :cannot find binary (Driver info : chromedriver = 2.37)..
比对过chrome驱动和chrome浏览器版本对应配置,这个是正确,同时排查了其他条件都是正常的,但服务器上是使用jenkins调用命名运行导致了此问题
经过搜索,百度发现是由于我的jenkins是直接用mis包的形式安装的,是以服务进程的形式启动的,当调用命令时也是以进程的形式运行 脚本命令,导致找不到谷歌浏览器
解决版本:
1.停止jenkisn服务,卸载掉原先jenkins
Step 1. Control Panel(控制面板) -> Administrative Tools(管理工具) -> Services(服务)
找到Jenkins,右键菜单,执行stop; 右键菜单 “属性” start type 选择“Disabled” 点击 应用,点击确定。(这一步目的:让jenkins不在以windows 服务的方式在后台运行)
2.重新下载war,使用Administrator 权限,cmd模式输入:java -jar jenkins.war 用来启动jenkins
或者做一个bat进行启动,直接双击bat快捷启动 run_jenkins.bat
echo "start jenkins"
java -jar "D:\Jenkins\jenkins.war"
pause
若需要其他端口运行,改为运行
java -jar "D:\Jenkins\jenkins.war" --httpPort=9000 (服务器记得开放此端口,不然其他机器访问不到--坑)
3.重新配置新的jenkins job ,再次运行,问题解决
ps:以war形式安装的jenkins 中间会遇到安装插件时 offline的坑,明明有网络,却无法安装,这个坑后面会介绍(伟大的墙导致的,踩坑无数啊)