Mac Appium環(huán)境搭建入坑之旅

Appium,說實話,筆者最開始并不知道可以怎么用,也不知道App自動化測試是一種怎樣神奇的操作,帶著好奇的心態(tài)去了解了一把 Appium。當(dāng)然第一件事便是搭建環(huán)境,真坑!以下,且聽我慢慢道來,筆者是如何站在無數(shù)巨人的肩膀上一步一步把坑填起來的。

首先說明一下筆者的開發(fā)環(huán)境,需根據(jù)實際情況來。

MAC OS: 10.12.5
Appium: 1.5.3
Java: 1.8
Python: 3.6
Seleniun: 3.5.0

一、安裝Appium客戶端

筆者下載的是上面最新的v1.5.3版本;
[下載地址:https://bitbucket.org/appium/appium.app/downloads/ ]

安裝成功后,打開Appium應(yīng)用,點擊 Appium Doctor 查看是否安裝成功,遇到了第一個坑:

Appium Doctor iOS Could not detect Mac OS X Version from sw_vers output: '10.12.5 '

不怕噢,按以下網(wǎng)址說明重新配置這幾個文件就OK了。
[詳見:http://blog.csdn.net/yxys01/article/details/73551281 ]

修改配置后,重新執(zhí)行 Appium Doctor 檢測是否安裝成功,遇到了第二個問題:

info AppiumDoctor ? The Authorization DB is set up properly.
[TypeError: Cannot read property 'replace' of undefined]

繼續(xù)尋找答案,原是沒有安裝 <code>node.js</code> 。
[詳見:http://blog.csdn.net/lunamagic/article/details/52713797 ]

安裝 <code>node.js</code> 后,執(zhí)行 Appium Doctor 檢測,這一步可以通過,中間也許會有關(guān)于 <code>JAVA_HOME</code> 和 <code>ANDROID_HOME</code> 沒有配置環(huán)境變量的錯誤,不過這都是小事,大家在搭建 Android 開發(fā)環(huán)境前,定會妥妥地配置一把。

二、安裝 Appium 客戶端庫

Appium客戶端庫可以有多種語言選擇,因為筆者之前很少接觸腳本語言,聽說了許多腳本語言的強大之處后,就選擇了心心念想著的 Appium Python Client,安裝腳本和命令如下:

git clone git@github.com:appium/python-client.git
cd python-client
python setup.py install

第三步,安裝 Python 3,其實 Mac 上已經(jīng)有 Python 2.7版本存在,只不過筆者想安裝最新的版本,如何切換到 Python 3呢?在 .bash_profile 文件中添加以下配置,路徑為你自己安裝的Python 3的路徑:

alias python="/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5"

[詳見:http://www.itdecent.cn/p/2c83363fa623 ]

三、自動化測試腳編寫和執(zhí)行

真正的體驗開始了,啟動Appium,選擇Apk文件進行配置和自動化,參考 demo 寫個最簡單的 python 腳本開始自動化測試之旅。問題來了:

selenium.common.exceptions.WebDriverException: Message: Parameters were incorrect. We wanted {"required":["desiredCapabilities"],"optional":["requiredCapabilities","sessionId","id","sessionId","id","sessionId","id","sessionId","id"]} and you sent ["capabilities", "desiredCapabilities"]

一開始以為這個問題很好解決,因為 Appium github上有人遇見過一樣的問題,但最終發(fā)現(xiàn)對于筆者我這個剛接觸 Appium 和 Python 的小白來說,并不懂其間的關(guān)聯(lián),大多數(shù)答案是 降低 selenium 的版本到 3.3.1 ,這可為難了,說的不明確,因為筆者查看到 Python 3 和 Appium Python Client 包中是帶有 selenium 3.6版本的,降級是要自己下載 3.3.1 替換還是重新下載一個 selenium 呢?筆者當(dāng)時已經(jīng)被這一丟丟的東西給弄混了,現(xiàn)在還沒有特別明確知道 Appium Python Selenium 這三者如何關(guān)聯(lián)一起的。于是花了一上午的時間定位到了 github上的另一個答案,按照上面的說法,自個的理解是,降級并不可靠,畢竟大家傾向用最新版本的東西,既然說參數(shù)格式不正確,那就將 webdriver.py 中的 parameters 格式改成需要的格式。果真,摸索著改了 Python 3 包下的 <code>/python3.6/site-packages/selenium-3.5.0-py3.6.egg/selenium/webdriver/remote/webdriver.py</code> 文件,再執(zhí)行測試腳本,Appium 可以成功執(zhí)行測試腳本,最終開啟了自動化測試之旅~
[問題詳見 @jimevans:https://github.com/SeleniumHQ/selenium/issues/4017#issuecomment-302030078]

相關(guān)資料:

  1. Appium 參考文檔:http://appium.io/slate/cn/master
  2. Appium-Python-client 庫和Demo:https://github.com/appium/python-client
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容