UI Testing

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?UI Testing

前言:當時老大叫我說寫一個自動化測試用例,接到這個需求時我也是一臉懵逼,谷歌各種資料都沒有,因為UI Testing是蘋果去年才出的自動化測試用例,資料很少且不齊全,寫下這些我曾經(jīng)踩過的坑,希望對大家學習UI Testing有一丟丟幫助。。。?


UI Testing的概念我就不詳細描述了,想要了解它的初步使用以及單純的寫幾句自動化測試用例的話,可以看這篇文章,寫的很詳細。WWDC15 Session筆記 - Xcode 7 UI 測試初窺,對于一些需要為整個項目做一個全套的測試用例,這是一個龐大的工程。

1.轉(zhuǎn)變

a.構(gòu)思轉(zhuǎn)變

每個測試用例文件都是一個測試case,只要點擊開始,xcode自動啟動APP,按照自己寫的邏輯相當于人點的一樣點擊那個按鈕及進去哪里頁面。其實UI Testing顧名思義就是操作界面的UI來達到是否是我們預期的流程,如果不是按照我們寫的代碼驗證的界面的話也就是case不過,說明這個流程有問題了,達到了自動化測試用例的效果。


b.代碼用法轉(zhuǎn)變

代碼不是平常我們寫創(chuàng)建UIBotton去搭建一個界面,現(xiàn)在我們只要從XCUIApplication這個類中查找到APP堆棧中頁面的實例。拿到這些實例我們需要用于判斷這個界面是不是按我們流程走的頁面,也可以去做一些密碼輸入操作等。當我們想精確的找到這個實例對象時,我們可以把XCUIApplication的這個類通過控制臺打印出來,就可以看到我們添加到界面的實例對象。

c.數(shù)據(jù)轉(zhuǎn)變

需要通過代碼控制APP自己操作輸入我們造的數(shù)據(jù),所有的需要輸入的文字和數(shù)字我們要預先寫死,通過接口得到的數(shù)據(jù)自己調(diào)接口獲得之后輸入進去。

2. 代碼實現(xiàn)

a.怎么實現(xiàn)一個滑動tableView的效果,找尋想要點擊的cell

實現(xiàn)滑動的效果

b.輸入框輸入數(shù)字有兩種代碼方式

第一種:直接調(diào)用typeText:方法,第二種:如果是自定義的鍵盤,輸入數(shù)字幾就用哪個button調(diào)用tap,模擬人工點擊鍵盤輸入數(shù)字

3.斷言

單元測試斷言匯總 - 泊竹 - 開源中國社區(qū)

自動化測試需要斷言做一些不符合正常流程的行為,不符合的時候說明測試用例不通過,從而定位出問題。

4.最后貼上我自己寫的其中一個測試用例

第一次寫技術(shù)文章,寫的不好,敬請見諒!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容