APP自動化測試之ADB妙用

本節(jié)大綱

  • ADB簡介及安裝
  • ADB命令及input命令詳解
  • Python+ADB實現App自動化測試實戰(zhàn)

為什么稱之為妙用?

因為一般的話ADB我們是跑一下Monkey或者查看一下日志爱谁,就比如說我們測試APP的時候可能有一些錯誤嗎彻犁,不能及時查看横缔,或者要測試一些性能上兼容的問題,我們就會用到ADB查看log日志,用得會比較多。

ADB其實也能通過它來進行一個自動化測試靖秩,是它被疏忽的一個功能。

那么什么是ADB呢竖瘾?

01.ADB簡介及安裝

什么是ADB沟突?

  • ADB全稱為Android Debug Bridge,起到調試橋的作用捕传,是一個客戶端-服務器端程序惠拭。其中客戶端是用來操作的電腦,服務端是Android設備。
  • ADB也是Android SDK中的一個工具庸论,可以直接操作管理Android模擬器或者真實的Android設備职辅。

為什么要用ADB棒呛?

  • ADB可以直接操作管理手機模擬器或者真實的手機設備(如三星手機)。它的主要功能有:
    1.運行設備的shell(命令行)
    2.管理模擬器或設備的端口映射
    3.計算機和設備之間上傳/下載文件
    4.可以對設備的應用進行卸載安裝等

  • 其實簡而言說域携,adb就是連接Android手機與PC端的橋梁簇秒,可以讓用戶在電腦上對手機進行全面的操作!

JDK安裝&環(huán)境變量配置

1.安裝:默認安裝
2.環(huán)境變量配置

  • 新建JAVA_HOME:安裝路徑
  • 新建CLASSPATH
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
  • 在path中增
    ; %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    3.驗證是否安裝好
    javac java java -version
JDK安裝&境變量配置

Android SDK安裝與變量配置

1.下載: http://www.androiddevtools.cn/
2.安裝:解壓即可
3.環(huán)境變量配置

  • 新建ANDROID_HOME:解壓路徑
  • 在path中增加:
    .;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;
    4.驗證是否安裝好
    android -h
Android SDK安裝與變量配置

Android SDK安裝與變量配置

模擬器安裝

1.模擬器選擇:夜神、逍遙涵亏、雷電宰睡、MuMu蒲凶、藍疊等等
2.下載:夜神模擬器: https://www.yeshen.com/
3.安裝:默認安裝即可气筋,記住安裝路徑。后續(xù)ADB配置要用到旋圆。

模擬器安裝

ADB配置

ADB是Android SDK自帶的命令行工具宠默,我們前面裝好了Android SDK,所以在這只需要驗證ADB能否使用就ok

進入cmd,輸入adb --version,可以顯示adb的版本號就表示adb環(huán)境是ok的

ADB配置

ADB連接模擬器

前提:

1.打開模擬器
2.打開模擬器的usb調試;

  • 進入設置--開發(fā)者選項--打開usb調試灵巧。

  • 如果沒有開發(fā)者選項搀矫,在設置--關于平板電腦,連續(xù)點擊版本號多次刻肄,直到提示您已處于開發(fā)者模式瓤球。然后就可以在設置下看到開發(fā)者選項了。


    ADB連接模擬器

ADB連接模擬器-成功

打開cmd敏弃,輸入adb devices,查看設備是否連接;顯示設備號和device則表示連接成功卦羡。


連接成功

連接信息解釋

1.手機設備:顯示設備的序列號,即b2355f8a
2.模擬器:顯示ip地址和端口麦到,即127.0.0.1:62001
3. device:已識別的設備绿饵,連接成功
4. unauthorized:沒有授權,需要手機上授權后才能連接--手機上會彈出來一個授權框
5. unkown:未識別的設備--電腦上沒有手機的驅動瓶颠,安裝一個手機助
手(豌豆莢拟赊,91助手),自動安裝驅動
6.offline:離線設備--重新插拔usb

ADB連接模擬器

ADB連接模擬器-失敗

打開cmd粹淋,輸入adb devices,查看設備是否連接吸祟,如下圖所示,則表示adb版本有問題桃移。
原因:夜神模擬器帶了一個ADB欢搜,Android SDK也有一個ADB,當兩者版本不一致時就會出現如下問題

ADB連接模擬器

解決:統(tǒng)一ADB版本即可谴轮。

02.ADB命令及input命令詳解

ADB常用指令

ADB常用指令

ADB -input事件

input可以用來模擬各種輸入設備的輸入操作炒瘟。


ADB -input事件

ADB -input參數

部分參數說明

  1. source對應各種輸入源。一般開發(fā)中都是用默認值即可第步。也就是說一般使用中我們的參數中并沒有source疮装。
  2. commands對應輸入命令缘琅,命令中text和keyevent是通用的; tap和swipe適用于觸摸屏;而press和roll用于有觸摸球的設備,由于使用的很少廓推,因此不做說明刷袍。

ADB -input tap模擬屏幕輕觸

模擬屏幕輕觸(tap):主要用于模擬手指在屏幕的輕觸點擊。


模擬屏幕輕觸

參數:
兩個參數樊展,點擊的坐標
模擬在屏幕上點擊的位置

ADB -input swipe模擬屏幕滑動

模擬屏幕滑動(swipe):主要用于模擬手指在屏幕的滑動呻纹。


屏幕滑動

參數:
四個參數,分別是起始位置的坐標和結束位置的坐標
模擬在屏幕上的直線滑動

ADB -input swipe模擬長按操作

模擬長按操作(swipe):主要用于模擬手指在屏幕上長按专缠。


長按操作

參數:
五個參數雷酪,分別是起始位置的坐標和結束位置的坐標,長按時長(單位毫秒)
模擬在屏幕上的長按操作

ADB -input keyevent模擬按鍵

模擬按鍵(keyevent) :主要用于模擬鍵盤的輸入涝婉,因此是在用鍵盤的地方才用得到哥力。

模擬按鍵

常用按鍵

常用按鍵

OS模塊

os.system(cmd):用來執(zhí)行cmd指令,在cmd輸出的內容會直接在控制臺輸出墩弯,返回結果為0表示執(zhí)行成功吩跋。
注意:os.system是簡單粗暴的執(zhí)行cmd指令,如果想獲取在cmd輸出的內容渔工,是沒辦法獲到的

App實戰(zhàn)需求

案例需求:

(相對應的視頻教程公號主頁點擊領取資料)

用ADB+Python實現如下流程锌钮,點擊桌面的開發(fā)真頭條應用,進入應用后點擊我的引矩,點擊登錄/注冊進入登錄界面梁丘,在手機登錄界面分別輸入手機號碼、驗證碼脓魏,點擊登錄兰吟。

1、點贊茂翔。防止以后找不到混蔼,想看的時候,在自己主頁就能找到了珊燎,很方便;
2惭嚣、關注我。讓我們成為長期關系悔政,下一篇文章會分享更多的硬核干貨;
3晚吞、本文章學習資源,均可以免費分享谋国。

就好比你看到優(yōu)質的回答點個贊槽地,表面上是為了讓作者開心,實際上可以讓大數據和人工智能給你推薦更多優(yōu)質的干貨內容~

文章首發(fā)于 微信公眾號:程序員一凡 ,轉載請注明出處捌蚊!這樣的好內容集畅,里面還有近百篇。 謝謝你的支持缅糟!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末挺智,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子窗宦,更是在濱河造成了極大的恐慌赦颇,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赴涵,死亡現場離奇詭異媒怯,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阔拳,“玉大人稳诚,你說我怎么就攤上這事∑聿停” “怎么了擂啥?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帆阳。 經常有香客問我哺壶,道長,這世上最難降的妖魔是什么蜒谤? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任山宾,我火速辦了婚禮,結果婚禮上鳍徽,老公的妹妹穿的比我還像新娘资锰。我一直安慰自己,他們只是感情好阶祭,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布绷杜。 她就那樣靜靜地躺著,像睡著了一般濒募。 火紅的嫁衣襯著肌膚如雪鞭盟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天瑰剃,我揣著相機與錄音齿诉,去河邊找鬼。 笑死,一個胖子當著我的面吹牛粤剧,可吹牛的內容都是我干的遗座。 我是一名探鬼主播号坡,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼茸习,長吁一口氣:“原來是場噩夢啊……” “哼畜隶!你這毒婦竟也來了号胚?” 一聲冷哼從身側響起籽慢,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎弃秆,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體击碗,經...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年痊远,在試婚紗的時候發(fā)現自己被綠了碧聪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡液茎,死狀恐怖逞姿,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情捆等,我是刑警寧澤滞造,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站楚里,受9級特大地震影響断部,放射性物質發(fā)生泄漏猎贴。R本人自食惡果不足惜班缎,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望她渴。 院中可真熱鬧达址,春花似錦、人聲如沸趁耗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽苛败。三九已至满葛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間罢屈,已是汗流浹背嘀韧。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留缠捌,地道東北人锄贷。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親谊却。 傳聞我的和親對象是個殘疾皇子柔昼,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內容