Appium移動端自動化測試–使用IDE編輯並強化腳本
- 2019 年 12 月 27 日
- 筆記
文章目錄如下
Appium客戶端安裝安裝Python IDE-PycharmJava IDE 安裝使用隱式等待讓用例更穩定隱式等待啟動Appium非GUI模式:Appium Server
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界面開始打印所有的日誌。
