天天看點

app測試理論七 APP自動化測試架構介紹

1、常用架構介紹

  -Robtium

    基于android的一款自動化測試架構,支援JAVA原因,不支援跨平台  

  -macaca

    由阿裡巴巴公開釋出的一套開源自動化解決方案

    使用平台:PC端 android IOS

    支援語言:JAVA python nodejs

  -Appium

    一款國外的開源自動化測試架構

    适用平台:android IOS

    支援的語言:java python php ruby

    社群活躍、資料豐富

    -appium的特點

      -開源

      -支援Native app(全部由android SDK的java代碼生成的,原生的app如果頁面有變更,就得發一次版本,送出到應用商城去稽核)

      -webapp (由HTML5 生成) 通路速度慢。H5的代碼 以及元素的加載都需要時間

      -Hybird app  混合app 是目前使用最多的app

    -支援android IOS 兩個平台

    -支援跨平台    windows linux macos

    -支援多語言  java python  ruby

2、appium 自動化測試架構的原理

  

app測試理論七 APP自動化測試架構介紹

 通過此圖可以知道 app自動化環境需要使用以下工具

  -appium伺服器

  -基于python的appium用戶端

  -adb adb工具繼承在android-sdk中

  -JDK

自動化測試環境的安裝

  略 從網上搜一下就可以,主要是環境變量的配置

  1、JDK的安裝及環境變量的配置

  2、android sdk的安裝及環境變量的配置

  3、appium服務端的配置及 jdk android-sdk安裝目錄的配置

  4、appium-client-python的安裝 在pycharm中安裝即可

二、adb工具

  -adb工具 包含了三個部分

    -adb用戶端,用來下發adb的指令工具

    -server服務端  adb.exe執行之後的程序,表示adb的服務端,通過服務端與手機上的adb守護程序進行通信

    -adb守護程序會伴随着android系統的啟動而啟動,當android系統關閉後它才會關閉

app測試理論七 APP自動化測試架構介紹

2.adb常用指令

  2.1 adb常用指令(常看裝置、啟動關閉adb服務)

  如果是真機,不要使用一帶多的資料線,否則找不到手機裝置

  -adb devices  檢視手機的裝置ID名稱及狀态

app測試理論七 APP自動化測試架構介紹

   emulator-5554 device 中 emulator-5554表示的是手機裝置的ID名稱,device表示裝置處于線上狀态

  如果不線上是offline,如果adb服務沒有啟動,下發該指令時會自動啟動adb的服務

  -adb start-server 啟動adb服務

  -adb kill-server 關閉adb服務

   安裝app指令 adb install  app路徑

app測試理論七 APP自動化測試架構介紹

 2.2 擷取包名和界面名

  -包名:app報名,通過app的包名來區分不同的app,app包名是唯一的

  -界面名(啟動名):相當于web頁面中的連接配接位址,在app當中,每個界面都有一個名字

  原因:自動化過程中,需要通過app的包名和界面名來啟動app。

    操作步驟:

    -在手機或模拟器上打開app

    -windows指令一:>adb shell dumpsys window windows | findstr mFocusedApp

    -windows指令二: adb shell dumpsys window windows | findstr "usedApp"

app測試理論七 APP自動化測試架構介紹

   

app測試理論七 APP自動化測試架構介紹

   linux/macos 指令一:adb shell dumpsys window windows | grep mFocusedApp

  linux/macos 指令二:adb shell dumpsys window windows | grep "usedApp"

  -通過aapt擷取app的包名和界面名

    -aapt dump badging 

    

app測試理論七 APP自動化測試架構介紹
app測試理論七 APP自動化測試架構介紹

 2.3 安裝解除安裝app  

  -app安裝  adb install  路徑/app安裝包名稱

  -app解除安裝  adb uninstall 包名

2.4 上傳下載下傳檔案

  -上傳 将電腦上的檔案上傳到手機

    adb push 電腦上的檔案路徑  手機的路徑

    eg: adb push ./mokey.txt /sdcard

  -下載下傳檔案,從手機上下載下傳檔案到本地

    adb pull  手機的檔案路徑  電腦的檔案夾路徑

  eg: adb pull /sdcard/monkey.txt  D:\opt

 2.5  檢視日志資訊

  為什麼要擷取日志資訊:用來分析問題存在的原因,首先要自己分析日志資訊,同時給開發看

  adb logcat 來檢視相關的日志資訊

2.6 測試app的啟動速度(性能測試)

  -測試app啟動速度的指令

    adb shell am start -W  包名/界面名

      需要關注 total time 的時間指值,在實際測測試過程中,會測試多次并取平均時間

 3、穩定性測試(8小時)

  - monkey 繼承在adb工具中,主要用來做穩定性測試用的,monkey是通過java語言編寫的一種穩定性測試工具

    主要用來測試app會不會出現crash 崩潰的情況

    相當于讓一隻猴子來随機操作app,所有的操作都可能出現,長時間的操作來測試app會不會出現問題

  -monkey常用參數