日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Airtest重磅更新,对iOS的支持全面升级优化啦!

發布時間:2023/12/24 综合教程 35 生活家
生活随笔 收集整理的這篇文章主要介紹了 Airtest重磅更新,对iOS的支持全面升级优化啦! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

AirtestProject團隊又來交作業啦,大家期盼已久的iOS更新終于來了!!!

本次更新不僅同步支持了Appium的WebDriverAgent工具,還新增了一系列接口處理iOS的彈窗這個老大難問題,另外更新之后,iOS支持到最新版本,xcode支持到12.1版本,更多更新詳情,請同學們細細查看下文。

PS:本次iOS的更新內容僅支持python3,請python2的同學安裝個python3環境使用哦!

Airtest功能更新

1.支持Appium的WebDriverAgent工具

對iOS驅動部分迭代,同步支持 Appium的 WebDriverAgent工具 和 Airtest底下的 iOS-Tagent工具

自此,同學們既可以使用Appium的 WebDriverAgent 工具來部署iOS真機,也可以使用我們Airtest底下的 iOS-Tagent 工具來部署iOS真機,非常靈活。

另外,對于低版本的iOS(iOS11以下),我們更建議使用我們的 iOS-Tagent 工具,高版本的使用Appium的 WebDriverAgent 工具。

關于如何安裝appium的 WebDriverAgent 教程,我們推薦以下幾篇教程:

Appium的WebDriverAgent工具-安裝資料:https://testerhome.com/topics/7220
Facebook的WebDriverAgent工具-安裝資料:https://testerhome.com/topics/10463
Appium的WebDriverAgent工具-疑難解決:https://github.com/appium/WebDriverAgent/issues
Facebook的WebDriverAgent工具-疑難解決:https://github.com/facebookarchive/WebDriverAgent/issues

如果同學們選擇在iOS真機上安裝appium的 WebDriverAgent 工具,按上述教程安裝好以后,現在同樣支持使用我們的AirtestIDE連接這臺iOS設備:

或者使用代碼連接:

auto_setup(__file__,devices=["iOS:///127.0.0.1:8100"])
2.keyevet接口增加音量控制事件

支持使用 keyevent 接口對iOS設備的音量進行加減控制:

# 音量增加
keyevent("volumeUp")

# 音量減少
keyevent("volumeDown")
3.新增app_state接口返回包體狀態

新增 app_state 接口,可用于返回指定包體的當前狀態:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 返回瀏覽器應用的當前狀態
ios.app_state("com.apple.mobilesafari")
4.新增app_current接口返回當前運行應用

新增 app_current 接口,可用于返回當前運行的應用 :

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 返回iOS設備當前運行的應用
ios.app_current()
5.新增加鎖的相關接口
1)is_locked

判斷設備當前是否上鎖:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 判斷當前iOS設備是否上鎖
ios.is_locked()
2)unlock

解鎖設備:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 解鎖iOS設備
ios.unlock()
3)lock

給設備上鎖:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 給iOS設備上鎖
ios.lock()
6.新增彈窗的相關接口
1)alert_accept

一般來說,適用于擁有2個按鈕的iOS彈窗,會點擊彈窗右邊的按鈕:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 點擊彈窗右邊的按鈕
ios.alert_accept()
2)alert_dismiss

同樣適用于擁有2個按鈕的iOS彈窗,會點擊彈窗左邊的按鈕:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 點擊彈窗左邊的按鈕
ios.alert_dismiss()

PS:對于擁有2個按鈕的iOS彈窗來說,一般情況下,確認按鈕都在右邊,所以alert_accept 會點擊右邊的按鈕,取消一般在左邊,所以 alert_dismiss 會點左邊的按鈕。這只是一個方便使用的接口,不一定適用于所有的情況,如果遇到點擊情況不符合預期,可以改用下文中,按指定按鈕名字來點擊的接口(alert_click)。

3)alert.text

返回彈窗上面的描述文字:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 返回彈窗上面的描述文字
ios.driver.alert.text
4)alert_buttons

以列表形式返回彈窗的按鈕文字:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 返回設備彈窗的按鈕的文字
ios.alert_buttons()
5)alert_click

點擊彈窗上的指定按鈕:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 點擊彈窗上面的指定按鈕,可傳入列表按順序查找
ios.alert_click(['設置', '允許', '好'])
6)alert_exists

判斷彈窗是否存在:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 判斷設備當前是否有彈窗存在
ios.alert_exists()
7)alert_watch_and_click

監控彈窗出現并且點擊指定按鈕:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 默認情況下監控此類彈窗:["使用App時允許", "好", "稍后", "稍后提醒", "確定", "允許", "以后"]
with ios.alert_watch_and_click():
    sleep(5)
    
# 監控指定彈窗出現并點擊
with ios.alert_watch_and_click(["Cancel"]):
    sleep(5)
    
# 設置監控的時間間隔為2.0s
with ios.alert_watch_and_click(interval=2.0):
    sleep(5)
7.新增device_info接口返回設備信息

新增 device_info 接口,可返回設備信息:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 返回iOS的設備信息
ios.device_info()
8.新增home_interface接口返回是否是home頁

新增 home_interface 接口,可返回當前界面是否為home界面:

from airtest.core.ios.ios import IOS, wda
ios = IOS("http://localhost:8100/")

# 判斷iOS設備當前界面是否為home界面
ios.home_interface()

PS:以上新增的功能接口中,部分接口可能存在適用性問題

Airtest的bug修復

1.修復部分設備獲取方向異常的問題
2.修復部分設備啟動應用和關閉應用失敗的問題
3.修復poco位置識別異常的問題
4.修復部分設備橫屏顯示異常的問題
5.優化了同時有多個進程連接單個ios時的表現和連接穩定性,略微加快了點擊和滑動操作的速度。另外部分設備(例如ipad, 6P/7P/8P)的操作速度會比別的型號手機更慢,這些型號的設備在豎屏情況下使用體驗會更好

poco更新

1.兼容Appium的 WebDriverAgent 工具元素樹
2.修復設備在主界面橫屏狀態下位置識別異常的問題

AirtestIDE更新

1.適配iOS的更新,去除旋轉邏輯
2.修復部分iOS的中文元素樹標簽的顯示異常
3.修復了Ipad在四個方向上旋轉的時候,點擊位置、poco框選位置錯誤的問題

iOS-Tagent更新

1.恢復了部分元素樹的標簽值
2.修復了iOS版本在11-13之間的橫屏截圖被WDA強行壓縮的異常

更多展望

本次更新完成后,同學們進行iOS自動化測試時,可自由使用Airtest底下的 iOS-Tagent 工具或者Appium的 WebDriverAgent 工具作為底層服務。

由于Appium的 WebDriverAgent 工具 是開源版本,可自由克隆并修改源碼,非常方便同學們克隆下來修復一些已知的異常。

所以我們也很希望同學們把自測過后的一些優秀代碼,提交至GitHub的Appium的 WebDriverAgent 工具倉庫或者在我們的Airtest開發者交流Q群(654700783)留言討論,將這部分貢獻出去,讓更多的人受益。


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

官方答疑 Q 群:654700783

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

總結

以上是生活随笔為你收集整理的Airtest重磅更新,对iOS的支持全面升级优化啦!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。