1.移動端自動化測試-知識筆記(面試必備,測試點,adb命令)


移動端測試: 移動應用,特性(功能) 滿足 需求(產品文檔,隱性需求)

一。App功能測試: 死活背下來
1.業務邏輯正確性測試: 產品文檔,隱性需求- 寫成測試用例

2.兼容性測試:
   1.系統版本:
        android版本:官方版本(5.1 4.3 6.0…) 華為 小米 魅族
        iOS版本:官方版本
    2.分辨率:480x720 1920x 1080,關注點:圖片展示
    3.網絡情況:2G 3G 4G Wi-Fi
    (閑話:圖片下載時網絡切換會壓縮圖片但是保證APP流暢可用)

   
3.異常測試:
    1.熱啟動應用:應用置於后台,應用置於前台過程
    2.網絡切換&中斷恢復
    3.電話&信息中斷恢復
   

4.升級&安裝卸載測試
    1.升級:系統升級,渠道升級,臨近版本(1.0->1.1),跨版本(1.0->1.5)
    2.安裝卸載測試:系統版本,首次安裝,覆蓋安裝,卸載后安裝,卸載->安裝->卸載

5.健壯性測試:
    1.手機資源消耗:cpu(閑話,如果應用有死循環那么占用率特別高,應用打開后占用超過50%就沒法用了),內存(閑話:和cPU一樣,后面會講如何監控)
    2.流量消耗:圖片(閑話:一個圖片起來就要4M流量,不好),傳輸數據壓縮(盡量數據壓縮再傳輸上去,耗費太多安全助手安裝好后看到流量使用用戶覺得不好 直接刪除該APP)
    3.崩潰恢復測試:閃退(閑話:自啟動或者點擊可啟動),報錯誤(再啟動要能用)

二。自動化測試:

1.重復的工作交給機器去做,解放初一部分人新功能測試和探索性測試
2.新功能和一些很難通過腳本模擬的業務

ADB原理:


1.幫助:adb —help

2.啟動adb server:adb start-server

3.關閉adb server: adb kill-server
4.設備號:adb devices
5.系統版本號:adb shell getprop ro.build.version.release
6.電腦文件發送到手機:adb push 電腦文件路徑/文件 手機存儲路徑
7.從手機拉取文件: adb pull 手機文件路徑 電腦文件存儲路徑
8.查看手機運行日志:adb logcat 擴展 可以通過過濾報名取到指定app運行日志(mac/linux:| grep 包名 win: | findstr 包名)

9.進入手機shell命令行: adb shell 可以操作類Linux命令 top 過濾app占用資源

(舉例:

測試正在被測的應用占用的實時內存是多少

 top|grep com.avatar.settings(操作的時候有變化)

10.獲取app包名和啟動名:(記住斜杠前面的就是包名,不一定都是com開頭)
      1.mac/linux:adb shell dumpsys window windows | grep mFocusedApp
      2.win:adb shell dumpsys window windows | findstr mFocusedApp

(舉例:機器人打開這個應用,adb輸入

com.avatar.settings/.Settings  是包名 和啟動名 )

 

下面來介紹一下,如何查看手機中安裝的apk信息
方法一:進入cmd窗口,輸入adb shell,進入手機,在輸入ls /data/data,即能顯示出手機中安裝apk的包名

方法二:查看手機中非系統的apk包名信息,adb shell pm list package -3,這個命令很實用。這和命令后面不加-3表示查看手機中使用的apk包名,這個有很多就不截圖了。

方法三:知道手機中的包名,還想知道其他的信息,使用adb shell dumpsys package 包名:查看某個包的具體信息,如圖:

 

11.安裝apk到手機:adb install apk文件路徑

12.卸載app/包:adb uninstall 包名

13.獲取app 啟動時間:adb shell am start -W 包名/啟動名

(舉例:

TotalTime:app自身啟動時間 
WaitTime:系統啟動應用時間


14.指定某台設備:adb -s 設備號


Appium:
appium: 封裝android官方自動化工具uiautomator
appium原理圖:腳本 <-> appium服務 <-> 手機端 ->uiautomator
appium聲明手機驅動對象:webdriver.remote(服務地址,啟動參數)

關閉app: close_app() # 關閉當前app 但不關閉driver
關閉驅動對象: quit() # 退出手機驅動對象,同時關閉所有關聯窗口
啟動新的app:start_activity(包名,啟動名)
appium-安裝app:install_app(app在電腦端的路徑)

appium-卸載app:remove_app(包名)
判斷app是否安裝:is_app_installed(包名) # 安裝返回True, 未安裝:返回False

appium-電腦文件發送到手機:push_file(手機存儲路徑,data) # data:base64編碼數據
appium-從手機拉取文件:pull_file(手機存儲路徑) # 返回是base64編碼數據
獲取當前屏幕內元素結構:page_source # 返回的是<<當前>>屏幕

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM