問題:在本地用命令行的形式運行代碼工程,執行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的坑,明明有網絡,卻無法安裝,這個坑后面會介紹(偉大的牆導致的,踩坑無數啊)