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

时间:2016-05-14 00:48:00

标签: swift xcode-ui-testing

我试图抓住应用程序启动后不久在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字符串插入到数组或集合中,那就可以了。或者是否有另一种方法可以在表格行中找到重复的值?

1 个答案:

答案 0 :(得分:1)

可以使用allElementsBoundByIndex

枚举元素
for aStaticText in XCUIApplication().tables.staticTexts.allElementsBoundByIndex {
// ...
}