使用Xcode UI测试检测重复的表行



我正试图捕捉一个记录在应用程序启动后不久在表视图中列出两次的情况。我相信这是我的一个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字符串插入到数组或集合中,那就可以了。或者有其他方法可以在表行中查找重复的值吗?

可以使用allElementsBoundByIndex:枚举元素

for aStaticText in XCUIApplication().tables.staticTexts.allElementsBoundByIndex {
// ...
}