iOS UITest记录一下

作者: gersces | 来源:发表于2018-08-30 20:13 被阅读152次

对于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);

相关文章

  • iOS UITest记录一下

    对于UITest,相信能看到这篇文章的都已经知道UITest是做什么的了。但是我在网上找的有关UITest的文章,...

  • UITest-wait app for idle

    UITest(XCUITest for iOS技术) 测试过程中会遇到wait for 【bundleID】to ...

  • iOS中单元测试入门(一)

    之前一篇文章中说过iOS中的UITest界面测试,这一片文章主要来说一下iOS中的单元测试,首先要知道单元测试主要...

  • UITest - Wait for app to idle

      最近在做真机UITest,趟了几个坑。这儿简单总结一下。  首先,你要参考这篇文章,让你的代码可以UITest...

  • iOS-UITest测试

    iOS4时代,UIAutomation是可以在真实设备和iPhone模拟器上执行自动化测试的常用框架.UIAuto...

  • iOS 使用UnitTest和UITest进行自我测试

    1.添加UnitTest,UITest Xcode7开始,引进了包含UITest UnitTest的工具,你可以在...

  • iOS 单元测试-UITest

    OCUnit:即XCTest,xcode自带的测试框架。 一个UITests:测试UI点击、输入事件,可以录制操作...

  • iOS自动化测试

    iOS自动化测试包括 UI测试 和数据测试两个方面。UI测试:UITest介绍 数据测试(行为驱动测试) 【行为驱...

  • 项目优化

    1. UITest & UnitTest 当开发完新需求的时候,在提测之前我们最好编写下UITest和UnitTe...

  • iOS UITest 与 Main Thread Checker

    之前一直没有对app做过UI测试,最近在研究fastlane的snapshot,就做了一个实验,结果新建一个全新的...

网友评论

    本文标题:iOS UITest记录一下

    本文链接:https://www.haomeiwen.com/subject/fxidwftx.html