梦幻西游 python.dll,答疑第三期 | 使用 Airtest 最常见的 8 大问题
此文章來源于項目官方公眾號:“AirtestProject”
版權聲明:允許轉載,但轉載必須保留原鏈接;請勿用作商業或者非法用途
1.ImportError: DLL load failed: 找不到指定模塊
常見的 DLL 報錯會出現在以下 2 種情況中:
① 在 cv2 模塊報 ImportError: DLL load failed: 找不到指定模塊 的錯:
根本原因應該是 DLL 文件的缺失,你可以直接下載一個最新版本的 AirtestIDE,在解壓后的目錄中找到 api-ms-win-downlevel-shlwapi-l1-1-0.dll 和 IEShims.dll 兩個 DLL 文件(或者自行在網上搜索這倆個 DLL 文件也是可以的),然后將它們復制到 C:\Windows\System32 目錄,重新運行代碼即可解決。
② 若在 win.py 中 import win32api 時報 DLL load failed :
import win32api
ImportError: DLL load failed: 找不到指定的程序。
建議您運行下列指令,更新為 223 版本的 pywin32:
pip uninstall pywin32
pip install pywin32==223
2. 各種常用的 pip 命令
① 安裝 Airtest 庫: pip install airtest
② 安裝 poco 庫: pip install pocoui
③ 更新 Airtest: pip install -U airtest
④ 更新 Poco: pip install -U pocoui
⑤ 卸載 Airtest 庫: pip uninstall airtest
特別注意:Poco 依賴庫是 pocoui 而不是 poco,如果你發現你的環境里面同時存在 poco 和 pocoui ,請務必把 poco 卸載了,留下 pocoui即可。
另外,如果你的電腦同時安裝了 python3 和 python2 ,在不同 python 環境里面使用 pip 命令時可以使用如下方法:
# Python2
pip2 install XXX
python2 -m pip install XXX
# Python3
pip3 install XXX
python3 -m pip install XXX
3.查詢 Airtest 版本號的方法
查詢本地環境中的 Airtest 版本可以使用如下倆種方法:
① 使用 pip list 命令,找到 Airtest 那一行查看。
② 使用 airtest version 命令,但注意該命令只對 1.1.2 以上的 Airtest 版本生效。
4.自定義截圖壓縮精度
當 Airtest 版本≥1.1.2 時,我們可以自定義截圖精度:
① 在本地運行腳本時自定義:
# quality取值[1,99],airtest默認取10,希望獲得更高精度可以取值75
airtest run xxx --compress quality
② 在腳本中自定義(優先級高于在命令行自定義):
自定義全局的截圖壓縮精度:
import airtest.core.api import *
ST.SNAPSHOT_QUALITY = xxx
自定義單張截圖的壓縮精度:
snapshot(quality=my_quality)
5.Airtest 支持多設備運行嗎
Airtest 支持 Android iOS 的多設備運行 ,但是這些目前僅用在我們的收費的小型機柜方案私有云中 ,外放的開源版本可以自己實現。
另外,Airtest 還支持 Android 設備的 多機協作功能 ,實操案例可以參考往期推文:“多機協作” -- 微信互加好友案例分析。
6.怎樣輸入隨機數字
首先我們要利用 python 的 random 函數創建出符合要求的隨機數;比如想要隨機輸入 20-100 的 1 個整數型隨機數:
import random
r = random.randint(20,100)
然后使用 text 接口完成隨機數的輸入,但要注意的是,text 接口傳入的是一個字符串類型,所以把隨機數傳入 text 接口之前,要把剛才創建的隨機數轉化為字符串類型:
text(str(random.randint(20,100)))
這樣我們就可以完成輸入隨機數字的需求啦。
7.如何獲取節點的 text 屬性并打印
Poco 提供了 get_text() 和 get_name() 等方法讓我們去讀取 UI 的屬性值,例如我們可以這樣獲取并打印下面這個節點的 text 屬性和 name 屬性:
a = poco(text="聯系人")
print(a.get_text()) # 打印出:聯系人
print(a.get_name()) # 打印出:android.widget.TextView
8.模擬器勾選上連接參數之后還是連不上
之前跟大家強調過,連接模擬器的時候,我們需要勾選上一些備選的連接參數才能連接上模擬器,或者不讓模擬器黑屏。
比如連接雷電時需要勾選上 Use javacap,而連接夜神的時候需要勾選上 Use javacap 和 Use ADB orientation 這倆個選項。
但是在一些版本的模擬器中,即使勾選上了連接參數,仍然可能連接不上模擬器,并出現如下的報錯:
這是因為在連接這些版本的模擬器時,不能自動安裝上 Yosemite.apk ,我們可以通過手動安裝這個 apk ,再重新連接模擬器即可。
Airtest 官網:airtest.netease.com/
Airtest 教程官網:airtest.doc.io.netease.com/
搭建企業私有云服務:airlab.163.com/b2b
關注下方公眾號,可以查看更多往期教程,回復 “交流群” 可以加入我們的官方開發者交流群
總結
以上是生活随笔為你收集整理的梦幻西游 python.dll,答疑第三期 | 使用 Airtest 最常见的 8 大问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AD18学习之画PCB时,如何移动器件同
- 下一篇: 梦幻西游 python.dll_GitH