測試開發之自動化篇-Appium指令碼開發

陳琦發表於2021-10-26

今天我們學習如何使用Appium Inspector來建立測試指令碼。

啟動Appium服務:

  1. 插上Android手機到電腦,確認使用adb devices可正確顯示;
    image.png
  2. 開啟Appium Server GUI,如下圖保持AddressPort為預設值;
    image.png
  3. 如果不想使用上篇文章中配置的JAVA_HOME和ANDROID_HOME,可點選Edit Configuration修改;
  4. 點選Start Server按鈕,啟動服務並進入以下介面;
    image.png
  5. 開啟Appium Inspector,進入如下主頁面。Appiumn也提供了一個Web版的Inspector,可用Chrome訪問這裡。;
    image.png
  6. 按圖示分別在Host、Port和Path文字框中,輸入127.0.0.14723/wd/hub
  7. 在Desired Capabilities(期望能力)中,增加一行platform為Android。如需更多能力條件去篩選手機,可參考這裡輸入更多內容;
  8. 點選Start Session按鈕,可成功連線到Server端控制的指定能力的手機;
    image.png
  9. 圖中頂部為工具欄,主介面分為3列,分別為手機螢幕、App原始檔和所選控制元件的描述。

錄製測試指令碼:

  1. 這裡下載測試Android安裝包到本地,執行以下命令進行安裝;

    adb install eyes-android-hello-world.apk
  2. 點選頂部工具欄中的Start Recording按鈕(眼睛形狀的圖示),開始錄製指令碼;
  3. 在Appium Inspector左側手機桌面中,選中剛才安裝的App圖示,在右側點選Tap按鈕;
    image.png
  4. 手機開啟App視窗,進入以下介面,右上區域顯示了為剛才點選操作自動生成的指令碼;
    image.png
  5. 在上圖中,選中第一個多選框所在的行,再次在右側點選Tap按鈕;
  6. 第一個多選框被選中,右上新增一行指令碼;
    image.png
  7. 在上圖中,選中CLICK ME!圖片按鈕,再次在右側點選Tap按鈕;
  8. 頁面中顯示一個圖片,右上新增一行指令碼;
    image.png
  9. 點選頂部工具欄中的暫停按鈕,停止錄製;
  10. 右上下拉選單中選擇Java-JUnit,讓後點選Copy code to clipboard按鈕複製程式碼;
    image.png
  11. 得到以下Java形式的Appium自動化測試指令碼,這裡我們加入註釋對步驟做簡單說明。

    // 使用XPath選擇器,查詢App桌面圖示。
    MobileElement el1 = (MobileElement) driver.findElementByXPath("//android.widget.ImageView[@content-desc=\"ApplitoolsHelloWorld\"]");
    // 點選圖示,啟動App。
    el1.click();
    
    // 使用Id選擇器,查詢指定的控制元件。
    MobileElement el2 = (MobileElement) driver.findElementById("com.applitools.helloworld.android:id/random_number_check_box");
    // 點選控制元件
    el2.click();
    
    // 使用Id選擇器,查詢指定的控制元件。
    MobileElement el3 = (MobileElement) driver.findElementById("com.applitools.helloworld.android:id/click_me_btn");
    // 點選控制元件
    el3.click();

下一篇文章中,我們將學習如何把錄製的指令碼包裝成Java測試類,實現完整的自動化測試。

專題目錄

相關文章