如何使用XCUITests测试UITableview节及其单元格?

时间:2018-12-02 12:29:00

标签: ios automation swift4 xctest ios-ui-automation

是自动化测试(XCUITest)的新手。

正在为UITableView编写UI测试用例。在我的场景中,我有一个分组的tableview(如下面提到的图像),单元将根据服务器响应动态加载。

enter image description here

我需要写两种情况。

案例1:在“设置”部分中,有“评估我们的应用程序”单元格。 “评估我们的应用程序”单元格的某些情况在“信息”部分下。所以我需要写一个案例来检查这一点。我必须检查“设置”部分中是否存在“评估我们的应用程序”单元格。

我将该部分的可访问性标识符设置为“ settings-Header-AID”,并且所有单元格也将AID设置为“ rateOurApp-Cell-AID”。

情况2:必须检查“报告错误”单元格之后是否放置了“评定我们的应用程序”单元格。

请指导我实现这一目标。

1 个答案:

答案 0 :(得分:1)

这不是那么容易,它取决于您的应用程序布局。

最简单的方法如下:

let settingsCellLabel = app.collectionViews.cells.element(boundBy: yourSettingsCellPossitionAsInt).label
let reportABugCellLabel = app.collectionViews.cells.element(boundBy: yoursendReportABugCellPossitionAsInt).label
let rateUsCellLabel = app.collectionViews.cells.element(boundBy: yourRateUsCellPossitionAsInt).label

if settingsCellLabel == "Settings" && reportABugCellLabel == "Report a Bug" && rateUsCellLabel == "Rate our App" {
//pass test
} else {
//fail test
}

这样,您正在测试这些单元格是否位于相同的预定位置(您知道Rate our App应该位于索引5 fe)上,并且确实是它们(通过检查其带有预期字符串的标签)