Appium客戶端安裝
上一節錄制完成測試用例腳本,每種語言都有對應的客戶端,如下; 接下來準備安裝客戶端。
Ruby: https://github.com/appium/ruby_lib
Python: https://github.com/appium/python-client
Java: https://github.com/appium/java-client
JavaScript(Node.js): https://github.com/admc/wd
Objective C: https://github.com/appium/selenium-objective-c
PHP: https://github.com/appium/php-client
C#(.NET): https://github.com/appium/appium-dotnet-driver
RobotFramework: https://github.com/jollychang/robotframework-appiumlibrary
安裝Python IDE-Pycharm
知識點:
- 安裝客戶端:python -m pip install --upgrade pip
- Python多版本隔離工具:venv
- 測試框架:unittest、pytest、nose,特別推薦pytest
接下來我們安裝IDE工具,此處使用的IDE是Pycharm。
PyCharm社區版足矣:https://www.jetbrains.com/pycharm/download/#section=windows
新建一個項目文件,并將之前錄制好的腳本復制到項目中,由于創建的項目是一個隔離干凈的Python環境,所以需要安裝Appium-Python-client
打開CMD窗口并cd到虛擬項目的Scripts目錄下
進行安裝 pip install appium-Python-client,安裝完成之紅色報錯消失。
接下來直接運行剛剛的腳本demo.py
可以看到虛擬機啟動了雪球APP,并進行相應的操作。
Java IDE 安裝
- IDE推薦:Intellij IDEA
- 配置Manven項目
- 在src/test下編寫用例
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>${version.you.require}</version>
<scope>test</scope>
</dependency>
在GitHub上面有各個語言版本的用例模板。
https://github.com/appium/appium/tree/master/sample-code
使用隱式等待讓用例更穩定
隱式等待
- 隱式等待:服務端(Appium)會在特定的超時時間內重試多次尋找空間(全局等待,設置一次,對所有的元素等待都生效);
- 顯示等待:在客戶端(用例端)根據更靈活的條件循環等待條件滿足(局部等待,只對設定的等待生效,針對某些特殊的元素);
- 在示例代碼中加入隱式等待,再次運行
Error:
在這里發現Android 10.0支持driver.implicitly_wait(10) 不是很穩定,卡了兩個小時沒搞定,干脆換成Android9.0之后就能夠順利運行了
啟動Appium非GUI模式:Appium Server
啟動Appium非GUI模式,看到所有的日志信息,為了更好的調試,告別desktop桌面模式,更輕量級。
打開CMD窗口,輸入Appium,會出現已經啟動Appium以及版本之類的信息。
打開已經創建的虛擬機
運行之前錄制好的Demo腳本,可以看到CMD界面開始打印所有的日志。