這篇文章實現的是一個簡單的登錄用例芳来,用例的步驟為:
1.登錄到首頁,點擊“點擊登錄”的按鈕猜拾,進入登錄頁面即舌。
2.在登錄頁面上,輸入賬號挎袜,輸入密碼顽聂,點擊登錄。
3.登錄成功盯仪,頁面自動切換到首頁紊搪,“點擊登錄”的頁面消失,顯示當前余額全景。
這是一個比較簡單的用例耀石,可以用自動錄制功能就可以實現。
步驟1-2的(手寫)自動化代碼類似如下:
XCUIApplication().buttons["點擊登錄"].tap()
let ele =XCUIApplication().textFields["請輸入手機號|用戶名"]
ele.tap()
ele.typeText("xulei6666") //輸入測試賬號
let ele2 =XCUIApplication().secureTextFields["請輸入密碼"]
ele2.tap()
ele2.typeText("xulei8888")//輸入測試密碼
XCUIApplication().buttons["登錄"].tap()
從代碼很容易知道做了什么事情爸黄,就是步驟1-2滞伟。基本的元素炕贵,按鈕是button梆奈,文本是textField,密碼輸入框是secureTextFields称开。
如何確定元素類型
這里需要用到Xcode里頭的一個工具 Accessibility Inspector 亩钟,打開方式如下圖1,打開之后鳖轰,按照圖2所示的123順序清酥,選點擊選取按鈕,再把光標移動到需要確認的元素上脆霎,點擊一下总处,然后就查看3里頭的信息囚衔,基本上按照XCUIApplication().(Type)["(Value)"]這個套路寫進去筷凤,基本都能用上。
但不是所有的都是這般搞定过椎,像是上面的用例里頭忆肾,密碼輸入框顯示的Type是text field 荸频, 但是實際上代碼需要寫的Type是secureTextFields,如果按照textfield來寫客冈,則輸入不成功旭从。這個需要多了解XCUIElementTypeQueryProvider的元素列表(第三章)。
如何確定登錄成功场仲?
這就要用到Assert(斷言)和悦,用例會有測試的期望結果,如果不符合渠缕,則判定測試失敗鸽素。在用代碼來實現就是
assert(condition: Bool)
括號里頭的是指一個條件,當為true的時候亦鳞,測試用例就過馍忽。當為false則觸發(fā)一個異常,導致用例失敗燕差,測試不通過遭笋。在本次例子中,要判斷之前的登錄按鈕消失徒探,新出來一行本文取代瓦呼。則判斷該文本是否存在(元素.exists)即可,代碼如下:
assert(XCUIApplication().staticTexts["我的總資產:"].exists)
小結
本章講述的是一條簡單的測試用例最簡單的自動化代碼實現刹帕,介紹了如何去查找元素吵血,進行斷言判斷。涉及到的代碼行數不超過10條(要精簡的話偷溺,更少)蹋辅,這只是自動化測試中最基本,也是最簡單的入門步驟挫掏。掌握了后侦另,就能蹭蹭蹭的開始寫一些測試用例進行練手了。
然后尉共,這僅僅是個開始褒傅,還有很多需要完善的地方。后面的章節(jié)再講(入門后的章節(jié)很難寫袄友,都是坑殿托。。剧蚣。)