4

私のストーリーボードには がありUITableViewます。5 つのテーブル ビュー セルが含まれています。最初のセルをクリックすると、2 番目の 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)

だから、主に2つのステップがあります

  • UIRecording にコードを作成させる
  • アサートの追加、インデックスによるクエリなど、少し変更を加えます。

次に実行します

于 2015-11-11T03:48:49.517 に答える