此文章來源於項目官方公衆號:“AirtestProject”
版權聲明:允許轉載,但轉載必須保留原鏈接;請勿用作商業或者非法用途
1. 前言
本次更新爲AirtestIDE、Airtest、Poco更新。
AirtestIDE更新至1.2.16版本,Airtest更新爲1.3.1版本,Poco更新爲1.0.92版本,主要爲iOS內容更新、新增Android剪切板功能、poco問題修復等。更多更新內容詳見下文。
2. 更新內容
1)AirtestIDE更新至1.2.16版本
新版IDE主要是新增了一個iOS直連面板,方便我們快速連接iOS設備;以及更新了內置python環境的airtest、poco庫,將其提升到上述的最新版本。
iOS直連面板的使用步驟如下:
- iOS設備先預裝好wda,確保wda正確安裝且可正常啓動使用即可,安裝詳情可以參照我們官方文檔。
- 使用usb數據線連接設備,window系統用戶記得下載並打開iTunes
注意:
-
如果iOS系統在15.0以上的設備,打開iTunes後需要點擊以下彈窗的繼續:
-
如果iOS系統低於15.0的設備,打開iTunes後會跳出升級iOS系統的彈窗,需要點擊取消(我們目前暫時還無法適配iOS17,故謹慎升級):
-
- 點擊iOS設備連接窗口的
刷新設備
按鈕,記得點擊設備上信任彈窗 - 點擊
connect
,進行連接;當設備裝有多個wda時,點擊switch wda
下拉列表,也可以切換不同的wda啓用
在點擊
刷新設備
後,connect
按鈕置灰有兩種原因:
- iOS設備沒有任何可用的wda,IDE無法進行連接使用
- iOS設備所安裝的wda啓動中,暫不可用,稍等一會即可恢復
相比於1.2.15版本,airtest直接從1.2.10提升至了1.3.1:
- Airtest 1.3.0(詳看我們往期的推文 Airtest更新至1.3.0.1版本)
- 新增iOS設備接口
- 新增tidevice相關接口
- 新增錯誤類型
NoDeviceError
- 其它小優化及改動
- Airtest 1.3.1(詳看下文介紹)
Poco也是從1.0.89提升至了1.0.92:
- Poco 1.0.92(詳看下文介紹)
2)Poco更新至1.0.92版本
該版本主要有以下更新內容:
- 新增
poco.dump()
接口,效果等同於之前的poco.agent.hierarchy.dump()
接口,讓調用更簡單 - 新增
poco.double_click()
雙擊接口 - 在android poco主動調用
stop_running
時,釋放申請的端口號 - 更新了PocoService.apk,對一些機型兼容性更好
3)Airtest更新至1.3.1版本
該版本主要是更新了幾個小功能以及做了一些修復:
- ① Airtest報告中現在將會顯示
connect_device
接口連接的設備
- ② iOS和Android設備在連接時,支持傳入
name
參數,用於指定它的udid(ios)
或serial number(android)
# iOS設備
ios:///http://10.240.145.171:20092?name=83282c400efc9122e3bcba60c803cf318a6b3822
# 安卓遠程設備
android://127.0.0.1:5037/10.227.71.86:20029?name=serialno
- ③ 支持指定ADB:現在將會優先使用當前的ADB進程,或者是系統變量設置了
ANDROID_HOME
中的ADB,如果都找不到,纔會使用airtest裏的ADB。同時也支持直接指定adb_path
,例如:
from airtest.core.android.android import Android, ADB
adb = ADB(adb_path=r"D:\adb\adb.exe")
# 或者可以初始化一個指定了adb_path的Android設備對象
dev = Android(serialno="5TSSMVBYUSEQNRY5", adb_path=r"D:\test\adb41\adb.exe")
- ④ 新增了Android 剪切板功能
text = "test_clipboard"
set_clipboard(text) # 設置剪切板內容
get_text = get_clipboard() # 獲得剪切板內容
print(get_text) # -> test_clipboard
# 剪切板粘貼接口
paste() # => text(get_clipboard())
- ⑤ 如果遇到了手機畫面只有一半的情況,重新連接畫面即可恢復
3. 如何更新
1)覆蓋更新
打開AirtestIDE時,如收到下述的更新提示,可以直接選擇點擊左下角的【更新】按鈕來完成覆蓋更新:
特別注意:更新過程切勿中斷,如覆蓋更新時因爲某些異常中斷,可能導致覆蓋更新失敗,無法正常打開AirtestIDE。
此時我們可以卸載掉更新失敗的AirtestIDE,然後到官網上下載最新版。
另外覆蓋更新之前,請檢查是否將腳本保存到了AirtestIDE的文件路徑內,如有請備份腳本後再進行覆蓋更新,否則進行 覆蓋更新操作後也會覆蓋掉保存在AirtestIDE路徑下的腳本 。
2)到官網上下載最新版本
官網下載地址:https://airtest.netease.com/index.html:
3)本地Python環境庫更新
如需把本地Python環境的庫更新至與1.2.16一樣的環境,可以使用如下命令:
# airtest最新版爲1.3.1
pip install -U airtest
# pocoui最新版爲1.0.92
pip install -U pocoui
4. 其它問題
1)覆蓋更新失敗
如果同學們在覆蓋更新的時候,不能正確更新的話,可以刪掉這個目錄下的所有內容,再重新檢查更新並執行更新操作:
C:\Users\xxx\AppData\Local\AirtestIDE\AirtestIDE
或者 直接到我們官網上下載一個最新的版本 。
2)舊版沒問題,更新後出現xxx問題
如果同學們遇到,舊版使用沒問題,但更新後出現xxx問題的情況,請務必給出詳細的信息向我們提問:
- 舊版本信息(IDE版本,是否使用本地python環境,若使用本地安裝的airtest和pocoui版本如何)
- 新版本信息(IDE版本,是否使用本地python環境,若使用本地安裝的airtest和pocoui版本如何)
- 進行了怎麼樣的操作/運行了怎麼樣的代碼
- 舊版表現如何,新版表現如何(如出現報錯,請提供完整的報錯信息)
如無法提供上述詳細信息,開發者將可能很難幫助同學們查到問題所在。
3)向開發組提單
其他關於新版使用過程的任何問題/建議,都可以向我們的開發組提單:https://airtest.netease.com/issue_create 。(提單時標題備註1.2.16版本IDE可以讓開發者快速定位)
AirtestIDE下載:airtest.netease.com/
Airtest 教程官網:airtest.doc.io.netease.com/
搭建企業私有云服務:airlab.163.com/b2b
官方答疑 Q 羣:117973773