【更新公告】Airtest更新至1.2.6版本

1. 前言

本次更新爲Airtest、Poco和iOS-tagent的更新,主要是爲了 對iOS設備有更好的支持 ,一方面是更多iOS系統版本的兼容,另一方面是提升了iOS設備的點擊和滑動速度等。

更新內容詳見下文。

2. Airtest更新至1.2.6

1)新增功能點

iOS投屏速度優化,新增MJPEG模式,以更高的速度查看iOS屏幕畫面;

iOS點擊速度優化,請配合更新iOS-Tagent到最新版本(如果原先使用了Appium/WebDriverAgent項目的,可以替換成我們這個版本),更新之後可以極大降低點擊延遲;

③ 請使用最新版本的AirtestIDE 1.2.14,可以體驗到最佳效果,否則可能導致點擊位置錯誤的問題;

④ 如果使用了Poco,請更新至1.0.87版本,否則可能導致點擊位置錯誤的問題。

2)bug修復

① 修復了一個Android錄屏時沒有完全釋放系統資源的BUG,該問題可能會導致內存溢出;

② 稍微優化了mstpl的識別效果;

③ 修復了Android10以上版本的手機可能存在的點擊失敗問題;

④ 除了安裝時對numpy版本號的限制;

⑤ 兼容了jinja2>3.1版本;

⑥ 修復Android6.0.1系統下,adb.file_size 接口獲取文件大小失敗的問題。

3. Poco更新至1.0.87

① 在初始化Android poco時,假如 get_top_activity 獲取失敗了,就暫時忽略掉,因爲本步驟不是必須的;

② 支持了最新的iOS-Tagent

③ 新增了一個 refresh() 接口,用於 強制刷新節點信息 (該接口的使用詳細案例可以關注我們後續的推文介紹)。

4. iOS-tagent更新

更新後的iOS-tagent對如下的iOS系統和xcode版本進行了兼容:

iOS-tagent項目鏈接:https://github.com/AirtestProject/iOS-Tagent

5. 如何更新

1)下載最新的1.2.14版本的AirtestIDE

在我們的 官網 下載最新的AirtestIDE1.2.14版本,即可以體驗到最新的 airtestpocoui (不設置本地python環境的情況下)。

2)Airtest和Poco的更新

使用本地python環境的同學,可以在自己的本地python環境中,通過如下命令來進行更新:

pip install -U airtest
pip install -U pocoui
3)iOS-tagent的更新

iOS-tagent的更新,請參考我們的官方教程文檔,去github上拉取最新的iOS-tagent項目部署到我們的蘋果設備上:https://airtest.doc.io.netease.com/IDEdocs/3.2device_connection/4_ios_connection/

6. 更新後的常見問題說明

1)極少蘋果設備上可能出現點擊偏移

極少部分設備上,可能點擊位置會有偏移,目前在AirtestIDE上無法修正鼠標點擊的偏移,但是可以在代碼中修復,例如:

我們測試到一臺iPhone 7Plus手機,在點擊時有座標偏移的現象,因此通過如下方式在運行代碼時可以修正:

>>> device = connect_device("iOS:///")
>>> device.touch((100, 100))  # wrong position
>>> print(device.touch_factor)
0.333333
>>> device.touch_factor = 1 / 3.3  # default is 1/3
>>> device.touch((100, 100))

關於 touch_factor 的解釋:

touch_factor 這個值用於換算iOS設備的點擊座標:

手機真實座標 = touch_factor * 屏幕座標 ;

默認計算方式是: self.display_info['window_height'] / self.display_info['height'] ;

但在部分特殊型號手機上可能不準確,例如iOS14.4的7P,默認值爲 1/3,但部分7P點擊位置不準確,可自行設置爲:self.touch_factor = 1 / 3.3

2)Poco相關的注意事項

① 由於 iOS的Poco延遲很高 ,開啓時可能也會導致卡頓

② 部分ipad可能在橫屏+桌面下,拿到的Poco位置不對,不建議在桌面上點擊某個圖標來打開app,儘量使用 start_app 來打開,但本接口目前必須傳入手機中已有的app包名,如果傳入的包名不存在,可能會導致報錯。

3)ImportError: cannot import name 'Markup' from 'jinja2'

部分同學在自己的python環境裏安裝1.2.5版本的airtest,會報出jinja2的一個錯誤 cannot import name 'Markup' from 'jinja2',類似:

這個問題我們已經在Airtest1.2.6版本中修復,遇到該問題的同學直接更新airtest到最新版本即可。

4)其它問題

如同學們在使用新版的Airtest時遇到了一些問題無法解決,可以通過此網站向我們的開發者快速提單:https://airtest.netease.com/issue_create

可以在標題中加入“Airtest1.2.6”之類的字眼,方便我們快速篩選和排查。


Airtest官網https://airtest.netease.com/
Airtest教程官網https://airtest.doc.io.netease.com/
搭建企業私有云服務https://airlab.163.com/b2b

官方答疑 Q 羣:117973773

呀,這麼認真都看到這裏啦,幫忙點個推薦支持一下唄,灰常感謝~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章