4

我的故事板中有一个UITableView。它包含 5 个表格视图单元格。当我单击第一个单元格时,它将转到第二个 UIView 并显示相应的图像。如何对 UITest 部分进行编码以测试单击第一个单元格时图像是否显示?

4

1 回答 1

4

XCode 7 -UIRecording有一个神奇的部分

首先选择testCase,开始录制Gif在此处输入图像描述

然后你会看到,UIRecording 为你创建 UITest 代码,在我的例子中,我得到了

  let app = XCUIApplication()
  app.tables/*@START_MENU_TOKEN@*/.staticTexts["Hello"]/*[[".cells.staticTexts[\"Hello\"]",".staticTexts[\"Hello\"]"],[[[-1,1],[-1,0]]],[0]]@END_MENU_TOKEN@*/.tap()
  app.otherElements.containingType(.NavigationBar, identifier:"UIView").childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Image).element.tap()

然后,我只需要一点改变

    let app = XCUIApplication()
    app.tables.cells.elementBoundByIndex(0).tap()
    let imageView =  app.otherElements.containingType(.NavigationBar, identifier:"UIView").childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Other).element.childrenMatchingType(.Image)
    let count = imageView.images.count
    XCTAssert(count != 0)

所以,主要有两个步骤

  • 让 UIRecording 为您创建代码
  • 做一些小改动,比如添加Assert,按索引查询等等。

然后运行

于 2015-11-11T03:48:49.517 回答