我试图抓住应用程序启动后不久在tableview中列出两次记录的情况。我相信这是我的一个UIViewController
子类中的错误。字符串值可以在XCUIApplication().tables.staticTexts["Example string"]
找到,我选择了我期望在第一行显示的值,这意味着如果行重复,它将与原始行一起显示(而不是在屏幕外显示)还没有在单元格实例中)。但我显然无法迭代这样的静态文本:
var nameCounter = 0
for aStaticText in XCUIApplication().tables.staticTexts.element {
aName = aStaticText.label
if ("Example string" == aName) {
nameCounter += 1
}
}
我的for...in
语句生成错误:类型'XCUIElement'不符合协议'SequenceType'。
还有其他方法可以执行此测试吗?如果我可以将staticTexts字符串插入到数组或集合中,那就可以了。或者是否有另一种方法可以在表格行中找到重复的值?
答案 0 :(得分:1)
可以使用allElementsBoundByIndex
:
for aStaticText in XCUIApplication().tables.staticTexts.allElementsBoundByIndex {
// ...
}