答疑 | 使用Airtest最常問的8大問題


在我們的開發者交流Q群(1017250147)里面,大家每天都會提出各種各樣的問題,但其中存在一部分問題,大家提出的概率非常高。

所以我們決定推出幾期“問題答疑”,專門針對高頻問題進行解答。當然,如果大家有別的希望我們答疑的問題,也歡迎直接在我們公眾號留言,我們會篩選一些問題加入到這幾期的答疑推文中。

下文是本期精選的8大問題,希望能幫助大家在自動化測試的研究中少走一些彎路:

1. 在IDE中如何引入第三方庫?

AirtestIDE內置了一個精簡的python環境,缺少很多第三方庫;如果需要在IDE中引入各種第三方庫,可以先在本地的python環境中裝好,再設置IDE使用本地的python環境,具體步驟如下:

① 請自行在你的電腦上安裝屬於你自己的Python(python<=3.7,3.8暫不支持),然后再安裝對應的依賴庫。你可以通過一些環境管理方案來管理你的python環境,例如virtualenv

② 在剛才安裝好的本地Python環境中,安裝airtest相關的依賴庫,詳細內容請參考文檔:https://airtest.doc.io.netease.com/IDEdocs/run_script/1_useCommand_runScript/#python

③ 在本地安裝完屬於你自己的python環境后,再在IDE的設置里面設置好你本地的python.exe的路徑,詳細內容請參考文檔:https://airtest.doc.io.netease.com/IDEdocs/settings/1_ide_settings/#python

image

2. RuntimeError:minitouch setup timeout

出現這個報錯,最常見的是以下倆種情況:

① 手機系統是MIUI11,此時我們需要在點擊“connect”按鈕之前,把 “use Javacap + use orientation” 這兩個選項勾選上,再點擊“connect”按鈕即可正常使用

② 手機的安卓版本是Android10,此時僅需要把IDE更新到最新版本即可;如果IDE使用的是本地的python環境,那還需要把本地python環境的Airtest更新到最新版本。

image

3. Yosemite等apk在哪里可以下載

有些設備可能因為某些權限問題,不能自動安裝Yosemite、RotationWatcher等apk,同學們首先需要檢查下手機設置里是否沒有開啟“允許通過USB安裝應用”這樣的設置。

如果確定手機設置都開啟了,但還是不能自動安裝的話,再考慮手動進行安裝。同學們可以在官網上下載一個最新版版本的IDE,然后在如下目錄中找到這些apk,然后自行在設備上安裝即可:

image

4. ADB版本沖突

在Windows環境中運行Airtest腳本時,假如運行環境本地已經存在有 adb.exe (例如裝了android_sdk, 或者是別的工具帶有adb.exe),並且ADB版本與Airtest中使用的不同,運行腳本時就可能會出現各種報錯。

常見情況下,我們會看到log中包含這樣的語句:

adb server version (40) doesn't match this client (39); killing...
  * daemon started successfully *

如log所示,我們可以看到環境里面使用了40和39版本,版本沖突導致報錯。解決辦法是將本地所有的adb.exe統一成同樣的版本就行。

另外,adb版本沖突,還會容易導致設備斷開,出現如下報錯:

image

解決辦法依舊是將本地所有的adb.exe統一成同樣的版本。

5. 連接模擬器出現黑屏

① 先嘗試在連接模擬器之前下拉勾選Use javacap選項,之后再點擊“connect”按鈕連接模擬器

② 如果仍然黑屏,斷開模擬器,下拉勾選Use javacap和Use ADB orientation這倆個選項,再次連接即可

③ 如上述方式都不見效,可以上GitHub提一個issue,貼上使用的IDE和模擬器版本詳情(GitHub地址:https://github.com/AirtestProject/AirtestIDE/issues)

6. 復制IDE中log窗口生成的報告命令在命令行執行報錯

常見的情況可能有如下幾種:

① 復制的命令路徑中含有空格,導致程序報錯:找不到文件或者路徑;只需要將命令中的路徑用英文模式下的雙引號括起來即可。

② 命令行中包含了&這樣的符號,可能會導致命令行被中斷,常見於一些勾選了 “use javacap” 這樣的選項后連接的設備。但是&這個字符需要轉義才能夠生效:Windows下改寫成^&,MAC下改寫成/&

7. Airtest的報告步驟顯示能否自定義

當Airtest版本≥1.2.2,或者IDE版本≥1.2.2,支持在報告上自定義斷言信息,其余操作在報告上的顯示暫不支持自定義。

image

8. 如何在報告中顯示報錯信息

可以使用如下代碼:

import traceback
try:
    xxxx
except:
     log("出錯啦", traceback. format_exc())

image

AirtestProject開發者交流Q群:1017250147

文章來源於公眾號:AirtestProject


免責聲明!

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



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