UI Testing實(shí)現(xiàn)IOS自動化的菜鳥教程-3-三個基本API

XCTest UI Testing API:

XCUIApplication:理解成容器,所有的元素查找操作都在上進(jìn)行。

XCUIElementQuery:查找方式,查找的結(jié)果是一個或者多個XCUIElement,方便之后進(jìn)行操作。

XCUIElement:找到的元素,可以進(jìn)行相關(guān)的操作(點(diǎn)擊,輸入等)。


在上一章,我們利用錄制工具進(jìn)行錄制,并且成功的出現(xiàn)了第一行自動化的代碼:

XCUIApplication().tables.buttons["點(diǎn)擊登錄"].tap()


圖1:元素基本操作

XCUIApplication

對于XCUIApplication(),自己的理解是,這就是待測的目標(biāo)APP程序的一個實(shí)例,所有對元素的操作都即將此上面進(jìn)行操作。

往上查看,其實(shí)在SetUp階段,已經(jīng)對XCUIApplication()進(jìn)行了操作,如圖2。

圖2:啟動程序

右鍵點(diǎn)擊XCUIApplication(),選擇“Jump to Definition”查看定義,如圖3,可以看到XCUIApplication()有2個常用的方法launch()和terminate(),如圖4,從名字可以看出,一個是啟動程序,一個是關(guān)閉程序。

圖3:查看定義


圖4:XCUIApplication的2個方法

我理解的是APP上的所有元素都為XCUIApplication()底下的子元素。因此當(dāng)需要查找某個元素進(jìn)行操作或者查看值的時候,都是從XCUIApplication()出發(fā)進(jìn)行查找。

XCUIElementQuery

XCUIElementQuery的作用,按我的理解,是跟web UI 自動化工具selenium里頭 findelementbyXpath(id/css/class)一個原理,根據(jù)某個條件去查找當(dāng)前可視頁面所擁有的元素,返回一個或多個元素(XCUIElement)。獲取到一個的之后,可以直接進(jìn)行操作,多個的時候,需要進(jìn)行過濾,找到真正需要的那個,再進(jìn)行操作。

XCUIElementQuery繼承XCUIElementTypeQueryProvider,可以從XCUIElementTypeQueryProvider(圖5)那看到當(dāng)前支持的元素類型,button,table,textfiled等等,以后遇到可疑的元素,可以從這看能不能查到對應(yīng)的。

圖5:XCUIElementTypeQueryProvider支持的元素類型

XCUIElement

XCUIElement是確確實(shí)實(shí)的元素,可以進(jìn)行相關(guān)操作,用selenium最多的是click和sendkeys,這里用的最多的是tap和typeText,作用是等價的。IOS由于手機(jī)環(huán)境,有一些額外的動作,可以通過右鍵tap,jump to Definition 查看更多的動作,比如press(長按),swipeUp(從下往上劃),swipeLeft(從右往左劃)等等,如圖6。


圖6:tap的種類

小結(jié)

做UI自動化的入門級別水平,就是懂得根據(jù)規(guī)則,查找UI上的元素,并且給這些元素發(fā)送一些簡單指令。了解了這3個api,基本上就可以控制元素做一些基本的行為了,能看到元素在“自動”完成一些事情,感覺也跟“自動化”掛鉤了,不是么? :)

下一章從登錄的一個測試用例開始,看看需要寫一些什么來完成一條用例。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容