这个问题其实很简单:
在此对象上使用可访问性标签时,是否有办法从特定标签(例如 UILabel)断言显示的值?
据我所知,示例中所做的所有断言(例如 XCTAssertEquals),无论是来自WWDC Talk还是Blogposts,都只是检查是否存在用于查询之类的元素XCTAssertEquals(app.staticTexts["myValue"].exists, true)
或表中的单元格数量是否正确XCTAssertEquals(app.tables.cells.count, 5)
. 因此,当避免使用可访问性标签时,可以检查一个对象是否显示了某个值,而不是哪个对象/元素。并且当使用可访问性标签时,它剥夺了我查询显示值的机会,因为app.staticTexts["myValue"]
现在将无法提供结果但app.staticTexts["myAccessibilityLabel"]
会命中。
假设我想测试我的“将新单元格添加到表格”功能,我可以测试确实有一个新单元格添加到列表中,但我不知道新单元格是添加到列表顶部还是底部或介于两者之间。
对我来说,在 UI 测试方面,检查特定元素是否具有特定值的简单方法应该是不费吹灰之力。
由于缺少文档,我可能会忽略显而易见的事情。如果是这样,请告诉我。