iT邦幫忙

2

鼠年全馬鐵人挑戰 WEEK 23:APP 自動化測試 - 第四集

              Photo on kobiton.com


前言

上週的小弟主要是以 MacOS 搭配 Android 的真機
來做 appium desktop session 的啟動說明

而在這個禮拜 小弟想要試著改用 Windows 搭配 Android 的模擬器
來做 appium desktop session 的啟動說明
兩者之間有著些許的差異
有些操作步驟可能會與上週重複
還請各位大哥大姊多多包涵


Appium Desktop Session 的前置作業

設置 Appium desktop 測試環境所需工具

安裝 Java Developer Kit (JDK)

如果不確定是否已經安裝可以透過查詢版本來確認
$ java -version

Java SE-下載|Oracle技術網|甲骨文
可以依照自己的作業系統,安裝想要的版本
小弟是直接裝最新版的 Java SE 14

安裝 Android Software Development Kit (SDK)

下載Android Studio和SDK工具| Android開發人員
點擊 Android Studio 的 logo 來啟動 Android Studio
使用預設的方式來安裝 SDK (也就一路 Next 到底)
之後也可以透過 configuration 來重新下載

配置 JAVA 與 Android 的環境變數

開啟兩週前 安裝好的 Appium Desktop
在啟動 Server 前點擊下方的 Edit Configurations
輸入 ANDROID_HOME, JAVA_HOME 的 Path
也就是前面的步驟中所安裝 SDK 與 JDK 的路徑位置

設定完之後就可以啟動 Server 了


安裝手機模擬器

小弟先說,小弟沒有工商 ヾ(;゚;Д;゚;)ノ゙
所以如果各位大哥大姐有自己喜歡的模擬器可以跳過這一段

小弟使用的是 夜神模擬器 可以參考看看
夜神模擬器-安卓模擬器電腦版下載-官網

安裝完成後就可以開啟 夜神模擬器 了
關於模擬器的設定小弟就不特別說明了

模擬器開始運作後 可以先嘗試 adb 是否起作用
因為沒有把 adb 設定為全域變數
所以必須到該 SDK 資料夾底下執行指令

$ C:\Users\Ron\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached

如果模擬器已經開啟但是沒有回傳 device 資訊
那很有可能是模擬器的 adb 與 Android 的 adb 版本不相容
解決辦法:

  1. 將 SDK 目錄下的 adb.exe 檔案複製一份,改名為 nox_adb.exe
    (Android\Sdk\platform-tools)
  2. 將複製的 adb.exe 取代 夜神模擬器 目錄下的 nox_adb.exe
    (Nox\bin)
  3. 重新啟動夜神模擬器,重新執行指令 $ adb devices
  4. 確認是否成功回傳 device name
C:\Users\Ron\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached
127.0.0.1:62001 device

Appium Desktop Session 設置

開啟 Inspector Session

點擊 Appium log 頁面中 右上角的 Inspector Session

開啟新視窗後,完成左下角 Desired Capabilities 的設定

完成設定後也可以透過右下角的 Save As... 儲存

  • deviceName
    使用的手機或模擬器類型
    可以透過 $ adb devices 指令獲取
  • platformName
    使用的手機操作系統
    iOS, Android, 或者 FirefoxOS
  • platformVersion
    手機操作系統的版本
    可至手機"設定"中"關於手機"的"軟體資訊"中查看
  • appPackage
    執行的 Android 應用程式 package 名稱
    可以透過 $ adb shell pm list packages 指令獲取所有 packages
  • appActivity
    從 app package 中所要啟動的 Android acticity
    模擬器先開啟所要或去資訊的應用程式
    再透過 $ adb shell "dumpsys window windows |grep -i current 指令獲取
    這個指令跟 Mac 的不太一樣

小弟這邊是使用 Android 模擬器的設定頁面做示範
mCurrentFocus=Window{a01ccf2 u0 com.android.settings/com.android.settings.Settings}
前面的 com.android.setting 為 appPackage
後面的 com.android.settings.Settings 為 appActivity


結尾

以上是這週的 Appium Desktop Sesstion 的介紹
主要是以 Windows 搭配 Android 的模擬器來進行操作
因為 appium desktop 本身的 configuration 就可以設定全域變數
所以在使用上簡化了很多 可以省略設定變數 的繁瑣步驟

如果有疑問或是有錯誤,還請各位大哥大姐提點。
小弟將繼續往下週邁進。 ─=≡Σ((( つ•̀ω•́)つ


參考文件:

官方網站 (載點)

相關文章

相關影片


1 則留言

1
神威
iT邦新手 2 級 ‧ 2020-07-30 09:39:40

Ron Hsieh 大大好:
按照您的文章配置好了,那該怎麼測試呢?
我要在哪裡寫程式?他可以連MySQL做測試嗎?
請大大指點,謝謝

Ron Hsieh iT邦新手 5 級 ‧ 2020-07-31 12:20:07 檢舉

感謝大大的留言
關於測試的部分小弟目前還在研究當中
但是 appium desktop 主要只是方便開發人員定位元素
所以目前據我所知 appium desktop 是無法寫測試的
如果要寫的話可能還是需要額外起專案進行撰寫

沒意外的話小弟希望在下週開始往這方面著手
/images/emoticon/emoticon13.gif

神威 iT邦新手 2 級 ‧ 2020-07-31 12:31:53 檢舉

Ron Hsieh大大好:
謝謝回覆,期待之後的文章~~

我要留言

立即登入留言