天天看點

移動端自動化測試:Appium一、Appium

一、Appium

1. Appium介紹

  • Appium是一個開源移動端自動化測試的架構,可用于原生,混合和移動Web應用程式測試。他使用

    WebDriver協定

    驅動iOS,Android和Windows應用程式,使用方式和selenium類似(繼承)
  • 優勢
    • 可以跨平台同時支援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常用指令

移動端自動化測試:Appium一、Appium

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【掌握】元素定位工具的使用

  1. 保證手機已經連上,通過adb devices
  2. 打開元素定位工具
  3. 定位元素

    注意

  • 自動打開的指令視窗不要關
  • 打開工具閃退,說明jdk版本過高
  • 軟體報錯
    移動端自動化測試:Appium一、Appium
    monitor: 軟體圖示找不到,重置
    移動端自動化測試:Appium一、Appium

5. 快速入門

5.1【掌握】測試環境是否正常

  1. 保證手機已經連上(開啟開發者調試模式,允許調試),通過adb devices
  2. 啟動服務,服務依賴JDK,AndroidSDK環境變量
  3. 拷貝驗證代碼,修改安卓版本

5.2【掌握】快速入門

  1. 保證手機已經連接配接,打開需要測試的app
  2. 通過adb指令找到,啟動軟體的包名,界面名
    移動端自動化測試:Appium一、Appium
    移動端自動化測試:Appium一、Appium
  3. 驗證是否能啟動這個軟體
  4. 定位元素,操作指定的元素
  5. 寫代碼
    • 啟動軟體,包名,界面名
    • 包名,界面名放在代碼的配置資訊
    • 自動化代碼
      • 定位元素,操作元素
    • 關閉driver