1. 安裝appium client
appium client是對webdriver原生api的一些擴展和封裝。它可以幫助我們更容易的寫出用例,寫出更好的用例。
appium client是配合原生的webdriver來使用的,因此二者必須配合使用,缺一不可。
我們使用pip安裝“Appium-Python-Client”。
pip install Appium-Python-Client
2. adb命令
2.1 adb的工作原理
2.1.1 adb的概念
ADB全名Android Debug Bridge,是一個調試工具。
開發安卓應用的程序員必須要掌握測試工程師在做安卓應用測試時,會使用到
2.1.2 adb的構成和工作原理
adb構成:
- client端:在電腦上,負責發送adb命令。
- daemon守護進程:在手機上,負責接收並執行adb命令。
- server端:在電腦上,負責管理Client端和實際的Daemon之間的通信。
adb工作原理:
- client端將命令發送給server端
- server端會將命令發送給daemon端
- daemon端進行執行
- 將執行結果返回給server端
- server端將結構再返回client端
2.2 adb常用命令
2.2.1 獲取包名和界面名
包名(package):決定程序的唯一性(不是應用的名稱)。
界面名(activity):對應着應用程序的某個界面,也叫啟動名。
自動化測試需要通過代碼的形式告訴手機測試哪個應用程序的哪個界面,所以需要通過這個命令進行獲取。
命令格式:
adb shell dumpsys window windows | findstr mFocusedApp
結果如下:
其中包名為:
com.tencent.mobileqq
界面名為:
.activity.FriendProfileCardActivity
2.2.2 文件傳輸
(1) 發送文件到手機
將手機需要的數據(數據庫文件)在電腦上調整好,直接發送給手機。
命令格式:
adb push 電腦的文件路徑 手機的文件夾路徑
實例:
將桌面的a.txt發送到手機的sd卡
adb push C:\Users\ACER\Desktop\a.txt /sdcard
運行結果:
這樣就代表成功了,只不過我懶得去手機截圖發到電腦。
(2) 從手機中拉取文件
將手機產生的文件(數據庫文件,日志)拉取到電腦中。
命令格式:
adb pull 手機的文件路徑 電腦的文件夾路徑
實例:
將手機的sd卡的a.txt拉取到桌面
adb pull /sdcard/a.txt C:\Users\ACER\Desktop\
運行結果:
2.2.3 獲取app啟動時間
如果企業對應用程序的啟動速度有要求,則需要使用這個命令進行測試。
命令格式:
adb shell am start -w 包名/啟動名
實例:
啟動com.android.settings程序並且進入主界面(.Settings)
adb shell am start -W com.android.settings/.Settings
運行結果:
ThisTime:該界面(activity)啟動耗時(毫秒)
TotalTime:應用自身啟動耗時 = ThisTime + 應用application等資源啟動時間(毫秒)
waitTime:系統啟動應用耗時 = 系統資源啟動時間(毫秒)
2.3 adb命令大全
我看到一個CSDN的大佬寫的博客,但是我不知道怎么跨網站轉載,就這樣吧。
《adb命令大全》:https://blog.csdn.net/duoluo9/article/details/79791988