iOS UITest記錄一下

對(duì)于UITest,相信能看到這篇文章的都已經(jīng)知道UITest是做什么的了。但是我在網(wǎng)上找的有關(guān)UITest的文章,都是比較簡(jiǎn)單(也可能是我沒(méi)找到詳細(xì)的)。所以就自己寫(xiě)了一下demo,盡量詳細(xì)的去介紹一下。只貼干貨!Demo


在看下面各個(gè)解決方法時(shí),請(qǐng)留意一下這行代碼

app

0、如何獲取 UITabBarController 的 Item 。

tabbarItem

1、如何獲取導(dǎo)航欄的返回按鈕。

backBtn

2、如何獲取 UIView。

UIView

3、如何獲取 UILabel。

UILabel

4、如何獲取 UIAlertAction 的按鈕。

UIAlertAction

5、如何獲取 keyBorad 的 return 按鈕。

此處獲取的是UISearchBar的鍵盤(pán)上return按鈕

6、當(dāng)不使用 xib 或者 storyboard 時(shí),如何設(shè)置控件(UIView、UILabel)的 identifier 。

如果控件是 UILabel 、UITextFiled 或者 UIButton 等可以設(shè)置 text 的控件,那么其 identifier 就是 text。

tapLabel的identifier就是“單擊”

其實(shí)不管控件是否可以設(shè)置 text,都是可以通過(guò) accessibilityIdentifier 設(shè)置的。

swipeLabel的 identifier 是“swipeRight”

7、不知道控件?XCUIElementTypeQueryProvider 的那個(gè)key里面。

先給想要找的控件設(shè)置 identifier(設(shè)置方法網(wǎng)上看),然后再分別log?XCUIElementTypeQueryProvider里面的key。然后查看 log 日志,看看想要的找的控件。NSLog 代碼需要80多行!不用擔(dān)心寫(xiě)著很累,我會(huì)在底部貼出我寫(xiě)好的。

identifier 最好設(shè)置成英文,中文的話(huà)會(huì)被轉(zhuǎn)碼,不好找!??!

8、如何查看 log 的日志。

雙擊紅框內(nèi)地址,就可以在XCode里面查看了

9、log?XCUIElementTypeQueryProvider

? ? NSLog(@"GS: touchBars%@",_app.touchBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: groups%@",_app.groups.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: windows%@",_app.windows.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: sheets%@",_app.sheets.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: drawers%@",_app.drawers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: alerts%@",_app.alerts.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: dialogs%@",_app.dialogs.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: dialogs%@",_app.dialogs.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: radioButtons%@",_app.radioButtons.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: radioGroups%@",_app.radioGroups.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: checkBoxes%@",_app.checkBoxes.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: disclosureTriangles%@",_app.disclosureTriangles.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: popUpButtons%@",_app.popUpButtons.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: comboBoxes%@",_app.comboBoxes.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: menuButtons%@",_app.menuButtons.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: toolbarButtons%@",_app.toolbarButtons.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: popovers%@",_app.popovers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: keyboards%@",_app.keyboards.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: keys%@",_app.keys.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: navigationBars%@",_app.navigationBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tabBars%@",_app.tabBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tabGroups%@",_app.tabGroups.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: toolbars%@",_app.toolbars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: statusBars%@",_app.statusBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tables%@",_app.tables.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tableRows%@",_app.tableRows.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tableColumns%@",_app.tableColumns.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: outlines%@",_app.outlines.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: outlineRows%@",_app.outlineRows.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: browsers%@",_app.browsers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: collectionViews%@",_app.collectionViews.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: sliders%@",_app.sliders.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: pageIndicators%@",_app.pageIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: progressIndicators%@",_app.progressIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: activityIndicators%@",_app.activityIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: segmentedControls%@",_app.segmentedControls.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: pickers%@",_app.pickers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: pickerWheels%@",_app.pickerWheels.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: switches%@",_app.switches.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: toggles%@",_app.toggles.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: links%@",_app.links.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: images%@",_app.images.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: icons%@",_app.icons.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: searchFields%@",_app.searchFields.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: scrollViews%@",_app.scrollViews.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: scrollBars%@",_app.scrollBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: staticTexts%@",_app.staticTexts.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: textFields%@",_app.textFields.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: secureTextFields%@",_app.secureTextFields.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: datePickers%@",_app.datePickers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: textViews%@",_app.textViews.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: menus%@",_app.menus.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: menuItems%@",_app.menuItems.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: menuBars%@",_app.menuBars.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: menuBarItems%@",_app.menuBarItems.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: maps%@",_app.maps.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: webViews%@",_app.webViews.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: steppers%@",_app.steppers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: incrementArrows%@",_app.incrementArrows.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: decrementArrows%@",_app.decrementArrows.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: tabs%@",_app.tabs.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: timelines%@",_app.timelines.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: ratingIndicators%@",_app.ratingIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: valueIndicators%@",_app.valueIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: splitGroups%@",_app.splitGroups.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: splitters%@",_app.splitters.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: relevanceIndicators%@",_app.relevanceIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: colorWells%@",_app.colorWells.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: helpTags%@",_app.helpTags.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: mattes%@",_app.mattes.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: dockItems%@",_app.dockItems.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: rulers%@",_app.rulers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: rulerMarkers%@",_app.rulerMarkers.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: grids%@",_app.grids.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: levelIndicators%@",_app.levelIndicators.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: cells%@",_app.cells.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: layoutAreas%@",_app.layoutAreas.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: layoutItems%@",_app.layoutItems.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: handles%@",_app.handles.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: otherElements%@",_app.otherElements.allElementsBoundByAccessibilityElement);

? ? NSLog(@"GS: statusItems%@",_app.statusItems.allElementsBoundByAccessibilityElement);

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

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