背景:想要在Jenkins上跑appium的自動化測試,所以想要在Jenkins服務器(Linux遠程)上安裝appium服務,故而研究了一下appium+Linux下安裝。雖然有無數的前輩踩過坑,但自己還是吭哧吭哧搞了一天半,終於大功告成。詳細安裝步驟,以及曲折的安裝試錯過程如下:
1、nodeJs安裝
apt-get install node.js
2、npm安裝
apt-get install npm
3、cnpm安裝
npm install -g cnpm --registry=
https://registry.npm.taobao.org // -g全局安裝
4、appium安裝
在非root用戶權限下安裝
cnpm install -g appium //appium server安裝
cnpm install wd //appium client安裝
說明
:新版appium(我的是當前最新版本1.7.1)在root權限下,可以安裝成功,但無法啟動appium
5、極其曲折的appium安裝過程
1)、最開始按appium官網教程來安裝,但執行npm install -g appium 一直卡在第一步文件下載中,N久之后,返回timeout的錯誤
2)、嘗試翻牆,設置npm代理(據說和瀏覽器代理一致即可)
查看當前代理:npm config get proxy
然鵝,沒用。不知道有沒有成功的小伙伴。
先取消npm代理:
npm config delete proxy(npm config delete https-proxy)
3)改為npm淘寶鏡像安裝
npm install -g appium --registry=
https://registry.npm.taobao.org
理論上應該是可以的,但可能當時自己電腦網絡有問題,還是timeout。沒辦法只好讓同事在他電腦上安裝(root權限下)。但由於網絡極慢,安裝了太久,我並不知道安裝過程 是否報錯,同事說應該安裝好了,讓我試試。
執行appium命令:appium -v ,報錯 appium:command not found
但/usr/local/lib/node_modules下明明已經安裝了appium
嘗試:
- 我想可能是缺少appium的環境變量,到profile文件中配置APPIUM_HOME和PATH環境變量,仍是報錯 appium:command not found
- /usr/local/bin下有已經存在的npm,newman等軟連接,而且可以直接執行,我強行手動建立軟連接:ln -s /usr/local/lib/node_modules/appium/lib/appium.js /usr/local/bin/appium,再執行appium -v ,報了一堆錯。(ps:當然會報錯,只怪小白的我怕根本沒搞清楚appium執行原理,后來發現需要軟連接源文件並不是這個目錄下的,而是/usr/local/lib/node_modules/appium/build/lib/main.js)
4)但網上看很多人說新版appium不能使用root權限安裝,否則啟動失敗。最后決定卸載appium,再去非root權限用戶下,重新安裝appium。
appium卸載命令:npm uninstall appium
5)非root用戶權限安裝appium
cnpm install -g appium //cnpm已經安裝好
還是報錯,permission denied


賦予當前用戶權限:chown -R dev node_modules //node_modules
目錄及其子目錄下的所有文件
再執行安裝命令 cnpm install -g appium
雖然速度稍慢,但還是比較順利的安裝中,直到在安裝的收尾階段,突然報了錯,還是權限問題


我索性使用root權限, sudo ln -s ../lib/node_modules/appium/build/lib/main.js /usr/local/bin/appium
appium軟連接創建成功,再執行appium,驚喜的發現真的成功了。截圖紀念。