代码之家  ›  专栏  ›  技术社区  ›  user1007522

UI测试从uitableviewcell获取文本

  •  2
  • user1007522  · 技术社区  · 8 年前

    我正在编写一些UI测试,目前在匹配tableview单元格中的一些文本时遇到了问题。

    所以我想测试一个tableview是否拥有它需要的所有用例。

    我试了一下:

    if !app.staticTexts["sometext"].exists {
    // FAIL
    }
    

    但这不起作用,因为它找不到文本,然后我发现类似这样的内容:

    app.tables.cells.staticTexts["some text"].exists
    

    最后但同样重要的是:

    app.tables.cells.containingType(.StaticText, identifier: "some text")
    

    但似乎永远找不到文本,它就在屏幕上。 有人知道如何从tableview单元格中获取文本吗?

    2 回复  |  直到 8 年前
        1
  •  4
  •   Oletha    8 年前

    在两个UITableViews上设置accessibilityIdentifier,然后每次都可以选择正确的表。

    app.tables["myIdentifier"].cells.staticTexts["some text"]
    
        2
  •  2
  •   user550088    7 年前

    当单元格的标识符定义好后,事情就会就绪。尝试-

        let app = XCUIApplication()
        let tablesQuery = app.tables
        XCTAssertTrue(tablesQuery.cells.containing(.staticText, identifier: "my identifier").staticTexts["Some Text"].exists,
                      "Failure: Something went wrong.")