iOS UITest记录一下

对于UITest,相信能看到这篇文章的都已经知道UITest是做什么的了。但是我在网上找的有关UITest的文章,都是比较简单(也可能是我没找到详细的)。所以就自己写了一下demo,尽量详细的去介绍一下。只贴干货!Demo


在看下面各个解决方法时,请留意一下这行代码

app

0、如何获取 UITabBarController 的 Item 。

tabbarItem

1、如何获取导航栏的返回按钮。

backBtn

2、如何获取 UIView。

UIView

3、如何获取 UILabel。

UILabel

4、如何获取 UIAlertAction 的按钮。

UIAlertAction

5、如何获取 keyBorad 的 return 按钮。

此处获取的是UISearchBar的键盘上return按钮

6、当不使用 xib 或者 storyboard 时,如何设置控件(UIView、UILabel)的 identifier 。

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

tapLabel的identifier就是“单击”

其实不管控件是否可以设置 text,都是可以通过 accessibilityIdentifier 设置的。

swipeLabel的 identifier 是“swipeRight”

7、不知道控件 XCUIElementTypeQueryProvider 的那个key里面。

先给想要找的控件设置 identifier(设置方法网上看),然后再分别log XCUIElementTypeQueryProvider里面的key。然后查看 log 日志,看看想要的找的控件。NSLog 代码需要80多行!不用担心写着很累,我会在底部贴出我写好的。

identifier 最好设置成英文,中文的话会被转码,不好找!!!

8、如何查看 log 的日志。

双击红框内地址,就可以在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);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容