1. 程式人生 > >如何使用appium desktop 獲取Android APP 控制元件的id

如何使用appium desktop 獲取Android APP 控制元件的id

背景:

隨著Android 版本的更新,你會發現我們之前用的最新的版本的Appium 1.5.3無法啟動我們的 Android APP 在模擬器為7.0的裝置上,所以我們有必要了解如何使用 appium desktop 來獲取Android APP 控制元件的id.也由於獲取在自動化測試過程中獲取控制元件的資訊(比如id)是非常關鍵的一步。

環境搭建

  • 我的pc 是Windows7
  • 我安裝的Appium Desktop 是1.2.4
  • 我用的Android 模擬器為GenyMotion

如何使用GenyMotion模擬器在appium desktop上獲取 Android APP控制元件的id

  • 手動啟動一個GenyMotion 模擬器
  • 輸入Host為127.0.01,點選Start Server按鈕,如下圖1:
    這裡寫圖片描述
  • 點選 Start Inspector Session,如下圖2
    這裡寫圖片描述
  • 新增platfromName,deviceName,apppackage,platfromVersion,appActivity,app的值,如下圖3:
    這裡寫圖片描述
  • 點選 Start Session,你會看到Inspector Session page,並且選擇頁面最上面的一排按鈕最左邊的那個,然後點選APP上的控制元件,就可以看到相應控制元件的資訊。如下圖4:
    這裡寫圖片描述

如何使用saucelabs在appium desktop上獲取 Android APP控制元件的id

  • 如果你不想在你的windows上安裝android 模擬器,然而你有saucelabs 賬號,你可以啟動sauce的模擬器獲取APP 控制元件的id
  • 用如下命令上傳Android App 到saucelabs:
curl  -u "Sauce Username":"Sauce Access Key" -X POST -H "Content-Type: application/octet-stream" https://saucelabs.com/rest/v1/storage/"Sauce Username"/"app-release.apk"?overwrite=true --data-binary @"C:\app-release.apk"
  • 在appium desktop 新增Sauce Username 和Sauce Access Key,並新增相關的Desired Capabilities,如下圖:
    這裡寫圖片描述
  • 點選Start session 按鈕,你會看到你本地的appium 啟動了 Android APP 如上圖4.這裡就不再貼圖。
  • 與此同時登入saucelabs你發現已經啟動了一個模擬器(如下圖5),你可以點選進去操作和你操作本地的GenyMotion一樣。
    這裡寫圖片描述

如何使用testObject在appium desktop上獲取 Android APP控制元件的id

  • 登入testObject,上傳APP,你會發現每個APP 有個testobject_app_id
  • testObject 包含各種各樣的真機,你只要新增要啟動的裝置的Desired Capabilities,輸入TestObject API Key,選擇 testObject Data Center,點選Start Session就可以安裝app到testObject上的真機,然後獲取你點選控制元件的相關資訊比如id
  • 在appium desktop 新增Desired Capabilities,輸入TestObject API Key,後點擊Start session 按鈕如下圖:
    這裡寫圖片描述
  • 與此同時登陸testObject,點選“Open Devices”如下圖6,你可以使用這個真機並獲取你所安裝的app控制元件的相關資訊(比如id)。
    這裡寫圖片描述

總之:

以上我們講了三種方式利用 Appium Desktop 獲取Android APP控制元件相關的資訊。第一:在本地電腦安裝GenyMotion,然後使用 Appium Desktop 獲取 Android APP 的id;第二利用saucelabs的模擬器,然後使用Appium Desktop 獲取 Android App 的 id;第三種,利用testObject的真機,然後使用Appium Desktop 獲取Android App 的id。你可以根據自己情況選擇其中之一,來獲取Android APP的控制元件id,來在自動化測中使用。