自己如何修改Airtest的源碼


版權聲明:允許轉載,但轉載必須保留原鏈接;請勿用作商業或者非法用途
此文章來源於項目官方公眾號:“AirtestProject”

前言

相信小伙伴們多少都會遇到想要修改Airtest源碼,方便自己腳本編寫的情況。這時,部分同學會立即去修改AirtestIDE文件夾下Airtest庫的.py文件(如下圖),其實這樣修改是無效的,並不會達到預期的效果。

image

正確的修改Airtest源碼的步驟是:

  • 在本地安裝python環境
  • 安裝Airtest
  • 安裝Poco
  • 在本地的Airtest庫中修改源碼

在本地安裝python環境

Airtest支持Python版本為2.7或者<=3.6,但是我們更推薦使用 Python3。如果你願意的話我們也同樣建議使用 virtualenv 等虛擬環境新建一個干凈的python環境。各個版本的python可以自行到python官網上下載安裝。

安裝Airtest

  1. 使用 pip 安裝Airtest框架 pip install airtest

  2. 注意: 在Mac/Linux系統下,需要手動賦予adb可執行權限,否則可能在執行腳本時遇到 Permission denied 的報錯:

    # mac系統
    > cd {your_python_path}/site-packages/airtest/core/android/static/adb/mac
    # linux系統
    > cd {your_python_path}/site-packages/airtest/core/android/static/adb/linux
    > chmod +x adb
  3. 若運行代碼時,在cv2模塊報 ImportError: DLL load failed: 找不到指定模塊 的錯誤,有以下幾種解決方案:

    • 問題的根本原因應該是DLL文件的缺失,我們將它們放入了IDE的目錄中,可以直接下載一個最新版本的AirtestIDE,在解壓后的目錄中找到api-ms-win-downlevel-shlwapi-l1-1-0.dllIEShims.dll兩個DLL文件,將他們復制到C:\Windows\System32目錄,重新運行代碼即可解決
    • 如果使用了python3.7,請安裝 Visual C++ redistributable 2015
    • 如果使用的python版本低於3.7,請直接運行:
    > pip uninstall opencv-contrib-python   
    # 若以下安裝語句運行失敗,可以嘗試更新pip到最新版本后重試   
    > install opencv-contrib-python==3.2.0.7  
    若在win.py中import win32api時報DLL load failed,可以嘗試重新安裝pywin32模塊:
    pip uninstall pywin32
    pip install pywin32==223

安裝Poco

使用 pip 安裝poco框架 pip install pocoui,請注意庫的名稱為 pocoui,不是poco,請不要填錯。

image

如果你在命令行中使用pip list ,看到同時存在pocopocoui兩個庫,請把poco卸載,因為pocoui才是正確的庫。

在本地的Airtest庫里面修改源碼

完成上述三步以后,其實就是在本地部署了一個python環境來使用airtestpoco。然后我們可以修改本地安裝的Airtest庫里面的源碼,使得修改生效。

舉個例子,打開你本地安裝的Airtest庫,找到Airtest>--airtest>--core目錄下的api.py文件,在touch方法里加一條代碼,如下:

image

那么你在命令行運行腳本的時候,如果腳本里面寫有touch語句,你在touch方法里面增加的print語句也會生效:

image

如果想要你修改的內容在IDE也生效的話,只需要將IDE的運行環境改成本地運行環境即可:

image

這時候IDE運行時,使用的Airtest庫就不是IDE自帶的Airtest庫,而是你在本地安裝的Airtest庫,運行一條touch語句,之前對touch方法的修改也會在IDE里面生效了:

image


免責聲明!

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



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