这个问题其实很简单:
在这个对象上使用可访问性标签时,有没有办法断言特定标签(例如 UILabel)的显示值?
据我所知,示例中的所有断言(例如 XCTAssertEquals)都来自 WWDC Talk或 Blogposts , 仅检查元素是否存在于 XCTAssertEquals(app.staticTexts["myValue"].exists, true)
之类的查询中,或者表格中的单元格数量是否正确 XCTAssertEquals( app.tables.cells.count, 5)
.因此,当避免使用可访问性标签时,可以检查对象是否显示了某个值,而不是检查哪个对象/元素。
当使用可访问性标签时,它剥夺了我查询显示值的机会,因为 app.staticTexts["myValue"]
现在将无法提供结果,但 app.staticTexts[ “myAccessibilityLabel”]
将命中。
假设我想测试我的“将新单元格添加到表格”功能,我可以测试是否真的有一个新单元格添加到列表中,但我不知道新单元格是添加在顶部还是底部列表的一部分或介于两者之间。
对我来说,在 UI 测试方面,检查特定元素是否具有特定值的简单方法应该是不费吹灰之力的。
由于缺少文档,我可能会忽略显而易见的内容。如果是这样,请告诉我。
最佳答案
请务必在设置 .text 值时设置 UILabel 的 .accessibilityValue 属性。然后在 UITest 中,您可以像这样测试可访问性值:
let labelElement = app.staticTexts["myLabel"]
...
XCTAssertEqual(labelElement.value as! String, "the expected text")
关于ios - Xcode UI 测试 [xcode7-beta6] - 使用可访问性标签时断言实际标签值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32314744/