swift in UI test(测试UITableView中的单元格数)

Posted

技术标签:

【中文标题】swift in UI test(测试UITableView中的单元格数)【英文标题】:swift in UI test(test the num of cells in UITable View) 【发布时间】:2015-11-11 02:45:48 【问题描述】:

我对 UI 测试很陌生。我的故事板中有一个UITableView,它包含一些单元格。 更新: 我想断言应用程序启动时UITableView 中的单元格数量将超过0。但我不知道如何编写这部分代码。使用NSPredicate?还是其他人?

 func testCellsNum()

        let app = XCUIApplication()
        let tableCell = app.tableRows.count
    //Then what should I do ?
        XCTAssertGreaterThan(tableCell, 0, "should greater than 0")//this line doesn't work



【问题讨论】:

【参考方案1】:

如果你只有一张桌子:

func testExample() 
    let app = XCUIApplication()
    let tablesQuery = app.tables
    let count = tablesQuery.cells.count
    XCTAssert(count > 0)

如果你有多个表,使用它来获取第一个或任何你想要的索引

 tablesQuery.elementAtIndex(0).cells

【讨论】:

我有两个场景。第一个有 UITableView。当我单击其中的第一个单元格时,它将进入第二个场景。第二个场景有 ImageCells。如何测试第二个场景中的图像单元数? 看我这里回复的帖子***.com/a/33643956/3940672,you可以使用recoding生成原始代码,然后对我发布的代码稍作修改 你也可以像myTableView.accessibilityIdentifier = “myUniqueTableViewIdentifier”一样向你的tableview添加一个accessibilityIdentifier,一旦完成,你就可以在你的测试用例中访问tableView,比如:let myTableView = app.tables.matching(identifier: "myUniqueTableViewIdentifier") 谁能确认这在 ios 11、Xcode 9 中有效?断言对我来说总是失败,即使是静态单元格。 @damjandd 我遇到了同样的问题,可能与:***.com/questions/33679817/…

以上是关于swift in UI test(测试UITableView中的单元格数)的主要内容,如果未能解决你的问题,请参考以下文章

使用 swift 2.3 从 xcode 8 中的命令行运行 xcode ui 测试

iOS/Swift 中的 UI 测试

Swift 中的异步 UI 测试

如何在 Swift 中编写 UI 测试,以测试点击按钮时标签是不是可见?

关于属性值 iOS/Swift 的 UI 测试

识别选定状态 Swift UI 测试