一、Appium
1. Appium介紹
- Appium是一個開源移動端自動化測試的架構,可用于原生,混合和移動Web應用程式測試。他使用
驅動iOS,Android和Windows應用程式,使用方式和selenium類似(繼承)WebDriver協定
- 優勢
- 可以跨平台同時支援Android,iOS
- 支援多種語言,java,Python,PHP,Ruby等
- 工作流程:Appium-client->Appium-server->移動裝置
移動端自動化測試:Appium一、Appium - C/S架構,Appium核心是一個Web伺服器,提供了一套接口。他會接受用戶端發送過來的指令,然後再移動裝置上運作指令,最後把運作結果通過HTTP響應傳回給用戶端。
- session,每個client連接配接到server以後都會建立一個session,自動化始終圍繞一個session進行。
- 官網
- 官方中文介紹
- Appium/Python-Client使用文檔
2.搭建環境
- 安裝JDK(Android SDK依賴)
- 安裝軟體并配置環境變量
- 終端敲java -version有結果證明安裝成功
- 安裝Android SDK(Appium)
- android-sdk
- android-studio
- 安裝軟體并配置環境變量
移動端自動化測試:Appium一、Appium - 終端敲
,有結果證明安裝成功adb
- 安裝軟體并配置環境變量
- 模拟器(手機)安裝
- 手機要開開發者模式,開啟調試
- 模拟器開手機模式,有網絡
- 終端敲adb devices,有結果證明安裝成功
- adb連接配接(Android SDK中的一個工具)
- 連接配接模拟器(手機)
- Appium安裝
- 安裝Appium軟體(伺服器)
- Appium伺服器
- 安裝Appium-Python-Client(寫代碼)
-
pip install Appium-Python-Client
3. ADB調試工具
3.1 ADB介紹
- adb(Android Debug Bridge)一個Android調試工具,使用ADB可以直接操作管理Android模拟器或者手機
- 通過指令操作
移動端自動化測試:Appium一、Appium *Client端:運作在開發機器(電腦),用于發送adb指令
Damon守護程序:運作在調試裝置中,模拟器(手機),用于接收adb指令
Server端:運作在開發機器中,用來範例Client端和手機的Damon之間的通信
3.2 ADB常用指令
AndroidKeyCode鍵盤值:
https://www.cnblogs.com/yutingliuyl/p/7121668.html
Enter鍵:driver.press_keycode(66)
4. 元素定位工具
- Android SDK自帶元素定位工具,通過截屏并分析XML布局檔案的方式,為使用者提供控件資訊檢視服務
- 工具說明
-
uiautomatorviewer
-
monitor
-
- 工具路徑
- Linux: sdk目錄下的tools/bin
- Windows: sdk目錄下的tools
4.1使用步驟
- 輕按兩下
- 通過終端指令行
4.2【掌握】元素定位工具的使用
- 保證手機已經連上,通過adb devices
- 打開元素定位工具
-
定位元素
注意
- 自動打開的指令視窗不要關
- 打開工具閃退,說明jdk版本過高
- 軟體報錯 monitor: 軟體圖示找不到,重置
移動端自動化測試:Appium一、Appium 移動端自動化測試:Appium一、Appium
5. 快速入門
5.1【掌握】測試環境是否正常
- 保證手機已經連上(開啟開發者調試模式,允許調試),通過adb devices
- 啟動服務,服務依賴JDK,AndroidSDK環境變量
- 拷貝驗證代碼,修改安卓版本
5.2【掌握】快速入門
- 保證手機已經連接配接,打開需要測試的app
- 通過adb指令找到,啟動軟體的包名,界面名
移動端自動化測試:Appium一、Appium 移動端自動化測試:Appium一、Appium - 驗證是否能啟動這個軟體
- 定位元素,操作指定的元素
- 寫代碼
- 啟動軟體,包名,界面名
- 包名,界面名放在代碼的配置資訊
- 自動化代碼
- 定位元素,操作元素
- 關閉driver