2016-05-14 41 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 { 
// ... 
}