【发布时间】:2017-05-05 19:09:46
【问题描述】:
我正在使用 XCUIApplication 编写 UI 测试。我正在测试单元格行上的选定索引。当我运行测试时,我无法获取所选索引的文本。但是,我可以单击选定的行,但使用底部 tableView 的静态文本。当下面有一个 tableViewController 时会发生这种情况。我正在尝试在另一个 TableViewController 之上添加一个带有 tableView 的 ViewController。下面的tableViewController是使用storyboard生成的,上面的viewController是动态生成的。
设置:我正在为 tableView 的行使用 xib,并且正在使用带有标签和图像的自定义 UITableViewCell。标签和图像都打开了可访问性,但单元格没有打开。我已尝试在单元格上打开可访问性,但仍然无法正常工作。
这是我的测试
//the BoxListTable is my ViewController that is on top
// I added the following code in that viewController:
self.view.isAccessibilityElement = true
self.view.accessibilityIdentifier = "BoxListTable"
//I also added these for the tableView but it doesn't show up in my tests
tableView.accessibilityIdentifier = "tableview"
tableView.isAccessibilityElement = true
//my test is the following
XCUIApplication().tables["BoxListTable"].tap()
当我运行此测试时,测试单击完整的 tableView 但无法获取任何静态文本。它也无法获取任何单元格或表格视图。
po XCUIApplication.tables["BoxListTable"].cells.count
它返回 0。
//我试过
XCUIApplication.tables["BoxListTable"].element.children(匹配:.other)
返回 0
能否请您告诉我为什么即使设置了accessibilityIdentifier,我也看不到它。
【问题讨论】:
-
我在SkyFloatingLabelTextField 上遇到了类似的问题,否则很好。我无法访问它提供的任何子视图...
-
当你做
po XCUIApplication().tables时你会得到什么?你的视图控制器上self.view的类类型是什么? -
@Oletha 当我执行 po XUIApplication().tables 时,我得到了当前显示的所有表,但它不包括视图中的表视图。我只能参考下面的tableView。 XCUIApplication().tables.count 返回 1
标签: ios iphone swift xcode-ui-testing