是自动化测试(XCUITest)的新手。
正在为UITableView编写UI测试用例。在我的场景中,我有一个分组的tableview(如下面提到的图像),单元将根据服务器响应动态加载。
我需要写两种情况。
案例1:在“设置”部分中,有“评估我们的应用程序”单元格。 “评估我们的应用程序”单元格的某些情况在“信息”部分下。所以我需要写一个案例来检查这一点。我必须检查“设置”部分中是否存在“评估我们的应用程序”单元格。
我将该部分的可访问性标识符设置为“ settings-Header-AID”,并且所有单元格也将AID设置为“ rateOurApp-Cell-AID”。
情况2:必须检查“报告错误”单元格之后是否放置了“评定我们的应用程序”单元格。
请指导我实现这一目标。
答案 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)上,并且确实是它们(通过检查其带有预期字符串的标签)