2016-05-14 42 views
2

我想要捕捉一个记录在应用程序启动后不久在tableview中列出两次的情况。我相信这是我的一个UIViewController子类中的一个错误。字符串值可以通过XCUIApplication().tables.staticTexts["Example string"]找到,并且我选择了我期望出现在第一行的值,这意味着如果行被复制,它将与其原始(而不是离屏和尚未处于一个单元格实例)。但我显然无法遍历静态文本是这样的:使用Xcode UI测试检测重复的表行

var nameCounter = 0 
for aStaticText in XCUIApplication().tables.staticTexts.element { 
    aName = aStaticText.label 
    if ("Example string" == aName) { 
     nameCounter += 1 
    } 
} 

for...in语句将产生一个错误:类型“XCUIElement”不符合协议“序列类型”。

有没有另一种方法可以执行此测试?如果我可以将staticTexts字符串插入到数组或集合中,那就可以做到这一点。还是有另一种方法来查找表行中的重复值?

回答

0

的元素可以与allElementsBoundByIndex列举:

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