如果在XCTest UI Test中给出索引,我怎样才能验证表视图行中是否存在文本?

时间:2015-09-03 00:46:02

标签: xcode swift xctest xcode-ui-testing

我正在使用XCTest UI Test框架来检查表视图中的行。在我的测试中,我需要在给定索引的表视图行中验证文本是否存在。

我在考虑使用tableRows.elementBoundByIndex方法,但它没有返回任何内容。调用tableRows.count返回的行数为零。该表存在并填充,因为我可以成功查询行内的文本:

XCTAssertEqual(app.tables.staticTexts["Cute Alpaca"].exists)

如何根据XCTest UI测试中的索引验证行中是否存在文本?

2 个答案:

答案 0 :(得分:16)

事实证明tableRows实际上并未检测到UITableView中的行。请改用cells

我觉得tableRowstableColumns用于在Mac OS X上进行测试,在iOS上我们有UITableViewCellUICollectionViewCell。或者这可能是一个错误,因为我们仍处于测试阶段。

let table = app.tables.element
XCTAssertTrue(table.exists)

let cell = table.cells.elementBoundByIndex(2)
XCTAssertTrue(cell.exists)
let indexedText = cell.staticTexts.element
XCTAssertTrue(indexedText.exists)

或一个班轮

XCTAssertTrue(app.tables.element.cells.elementBoundByIndex(2).exists)

答案 1 :(得分:0)

对于您的情况,我认为此代码可以帮助您。

this

此致