04如何連接Android真機以及模擬器
同學們好,我是網(wǎng)易AirtestProject的團隊成員曉娟,歡迎大家來到我們的視頻教程專欄《14天Airtest自動化測試小白課程》。
今天我們將帶大家學習一下自動化測試的第一個步驟:連接測試設備。這節(jié)課我們主要講一下Android真機和Android模擬器的連接方法。
連接Android真機
我們先來看一下Android真機的連接方式:
① 連接準備
在連接之前,我們要確保完成了以下幾步操作:
用USB線連接電腦和待測設備,安裝手機對應品牌的官方驅動,確保能使用電腦對手機進行USB調試
打開手機中的"開發(fā)者選項",并且確保打開了"開發(fā)者選項"內(nèi)的?"USB調試"? 選項
此時手機上會出現(xiàn) “允許USB調試” 的彈窗,點擊 “確定”
部分手機需要打開"允許模擬位置"、"允許通過USB安裝應用"的設置
關閉電腦上已經(jīng)安裝的手機助手軟件,能避免絕大多數(shù)問題,請務必在任務管理器中手工結束手機助手進程

做好這幾步操作之后,我們打開電腦中安裝好的IDE,在移動設備連接窗口點擊 “刷新ADB” ,稍等一下,窗口就會出現(xiàn)我們用USB線連接的Android設備,再點擊 “connect” 按鈕即可一鍵連接設備。成功連接后,我們可以看到清晰完整的手機影像,還能用鼠標操控我們的設備。

② 常見問題
大多數(shù)的Android手機做完上述的幾步操作之后,都能正常連接上IDE。但是如果你做完上述操作之后,發(fā)現(xiàn)連接失敗,也不用著急,首先?檢查下你所使用的IDE是不是最新版本?,把IDE更新到最新版本能解決很多因系統(tǒng)不兼容而連不上的問題。
其次,部分品牌的手機除了常規(guī)的設置以外,還需要完成一些相對特殊的設置,這部分的內(nèi)容我們可以到官網(wǎng)教程的“Android連接常見問題”這個小節(jié)去找(掃PPT上的二維碼可以直接進入,鏈接:https://airtest.doc.io.netease.com/IDEdocs/device_connection/2_android_faq/)

確定手機設置沒有問題之后,我們還可以再次確認下ADB是否能夠正常連接到手機:
Windows系統(tǒng):進入AirtestIDE文件夾,在 AirtestIDE/airtest/core/android/static/adb/windows 目錄下按住shift+鼠標右鍵打開命令行終端,輸入 adb.exe devices。
Mac系統(tǒng):在終端命令行中,cd到 Application/AirtestIDE.app/Contents/MacOS/airtest/core/android/static/adb/mac目錄下,運行 ./adb devices 。
得到類似如下的返回內(nèi)容,才能確保ADB能正常連接到手機,我們才可以用IDE去連接我們的設備:
>adb.exe devices
List of devices attached
JTJ4C15A30048654(手機的設備號) device
最后,我們還可以檢查下手機上是否成功安裝了 Yosemite.apk,如果沒有自動安裝上,我們可以在IDE的文件夾中找到這個apk并手動安裝到設備上,并把當前輸入法改成Yosemite之后,再次嘗試在IDE連接我們的設備。
③ 切換設備和安卓助手
在IDE中連接上安卓真機之后,設備畫面的右上角會出現(xiàn)兩個按鈕,一個用于設備切換,比如當IDE鏈接了多臺設備的時候,在這里可以切換到不同的設備畫面;另一個用于打開安卓手機助手和斷開當前連接設備。(新版IDE將這倆個按鈕的功能合并在1個按鈕里面)
安卓助手可以幫助我們在設備上?安裝ap k、?查看設備上的應用包名?、?切換輸入法?以及做一些快捷操作等等。(關于安卓助手的功能詳情,大家可以掃一掃PPT上的二維碼閱讀詳細內(nèi)容)


連接安卓模擬器
① 連接過程
在模擬器中打開開發(fā)者選項,然后把開發(fā)者選項中的 “USB調試” 選項打開。在模擬器中手動裝上Yosemite輸入法,盡管用IDE連接模擬器的時候,部分模擬器能自動裝上該輸入法,但也存在部分模擬器無法自動裝上該輸入法,導致很多連接錯誤,所以我們非常建議在模擬器中手動裝上這個輸入法。該輸入法的apk可以在如下路徑找到:

安裝好Yosemite以后,打開我們的IDE,點擊設備窗口中的遠程設備連接,輸入模擬器對應的端口號,然后點擊“連接”按鈕,等待刷出模擬器的設備詳情,然后再點擊設備列表后面的connect按鈕,即可完成連接。

② 常見問題
但需要注意的是,并不是所有模擬器點擊connect都能夠直接連上IDE,有些模擬器需要點擊connect旁邊的下拉按鈕,選擇一些備選的連接參數(shù)之后,才能夠正常連接上IDE,不然有可能出現(xiàn)黑屏/報錯等問題。
之前我們在1.2.3版本的AirtestIDE測試過5款主流的模擬器,總結了連接這些模擬器需要勾選的連接參數(shù)和可能會出現(xiàn)的問題,希望能給大家做個參考。

不過,隨著模擬器版本和IDE版本的更新,在是否選擇備選連接參數(shù)這塊,可能會稍有不同,如有新的問題出現(xiàn),也歡迎大家加我們的官方交流Q群(654700783)反饋一下。
在腳本中連接安卓真機和模擬器
在IDE的設備窗口連接好我們的待測設備,之后在運行腳本的時候,IDE就會自動把設備的參數(shù)傳到命令行中,我們可以在log查看窗看到:

所以即使我們的腳本中沒有寫任何連接設備的語句,我們依然可以用IDE連接好的設備跑自動化腳本。
那么如果我們脫離了IDE,或者不想在IDE的設備窗口中連接設備,這時候該如何連接我們的待測設備呢?有兩種方法:
① 在命令行中傳入設備參數(shù)
在命令行使用airtest run指令運行腳本的時候,添加安卓真機的設備參數(shù):
airtest run D:/test/moniqi_test.air --device Android://127.0.0.1:5037/5PZTQWQOGES8RWUG
其中127.0.0.1:5037代表本機,5PZTQWQOGES8RWUG為設備的序列號,如果需要連接的不是安卓真機,而是模擬器,則用模擬器的端口號代替真機的序列號:
airtest run D:/test/moniqi_test.air --device Android://127.0.0.1:5037/emulator-5554
特別需要注意的是,有些模擬器設備需要勾選連接參數(shù)才能夠正常連接上,所以這些備選參數(shù)也需要被添加到命令中去:
airtest run D:/test/moniqi_test.air --device Android://127.0.0.1:5037/emulator-5554?cap_method=JAVACAP&&ori_method=ADBORI
注意: && 在Windows平臺下需要轉義成 ^&^& ;在MAC平臺下需要轉義成 /&/&。否則有可能出現(xiàn)因運行命令被截斷而產(chǎn)生的各種報錯。
② 在腳本中編寫連接設備的語句
在其它python編輯器跑airtest腳本的時候,就需要在腳本中添加設備連接語句來連接我們的待測設備,方式很多:
1) 使用auto_setup接口:
auto_setup(__file__,devices=["Android://127.0.0.1:5037/5PZTQWQOGES8RWUG","Android://127.0.0.1:5037/emulator-5554"])
2) 使用connect_device接口:
dev = connect_device("Android://127.0.0.1:5037/5PZTQWQOGES8RWUG")
dev = connect_device("Android://127.0.0.1:5037/emulator-5554")
3)? 使用init_device接口:
init_device(platform="Android",uuid="5PZTQWQOGES8RWUG")
小結
好了,今天我們給大家講解了倆個內(nèi)容:一是如何在IDE中連接安卓真機、安卓模擬器以及連接過程中我們可能會遇到的問題;二是脫離AirtestIDE,在命令行或者其它編輯器中連接我們的測試設備,即在命令行和腳本中連接待測設備的方法。

下節(jié)課我們會教大家?如何連接iOS設備?以及在連接iOS設備的過程中,我們會遇到哪些常見的問題,下期我們不見不散~