2017-10-26 5 views
0

私は非常に簡単なテストを実装しようとしていますが、私はXCUIElementQuery.matching(identifier:)メソッドで止まっています。私はUIImageViewのクエリは期待どおりに動作していないと思いますが、その理由はわかりません。XCUIElementQuery.matching(identifier :)がUIImageViewで機能していません

は、私は、ビューに設定されたこれら2つの設定があります。

  1. レーベル:Label with Accessibility enabled with id: 'label'
  2. UIImageView:UIImageView with Accessibility enabled with id: 'accept'

そして私は、このテストがあります:私は「

func testRecording() { 
    XCTAssertEqual(app.staticTexts.matching(identifier: "label").count, 2) 
    XCTAssertEqual(app.images.matching(identifier: "accept").count, 1) 
} 

をこれらの2つのビューに対してクエリを実行します(ID:labelおよびIDがacceptのUIImageView)。ここから:appは、単にこのようなクラスプロパティとして定義されます:let app = XCUIApplication()。だから、

、これはどのように見えるかを画面です: Table with 2 items

これは、画面上のID acceptとID labelと1 imageを持つ2つのstaticText sがありますので、このテストに合格する必要があることを意味します。 staticText sが成功裏に照会されているが、matching(identifier:)にid acceptimageを照会しようとすると、それが失敗している: Test failing on image with id 'accept'

私は多くのことを照会しようとした、のように:

  • app.images.
  • app.tables.
  • app.tables.images.
  • app.tables.cells.images.
  • app.buttons.(も補助の設定の形質一部でButtonとしてマーク)
  • app.staticTexts.(も上の特徴でStatic Text補助の設定の一部としてマーク)

が、運...つまり、私は何がありますここで間違っているのか、何か不足していますか?

答えて

0

私はQAチームにいるので、私は開発者のコ​​ードを大して見ていません。しかし、私がしたとき、私は答えを見つけました。

チェックマークを表示するために使用されるUIImageView .xibファイルから使用していないんですが、代わりに、常にこのような新しいインスタンスが割り当てられている:

indicatorView = UIImageView(image: #imageLiteral(resourceName: "arrow_marked_ok_small")) 

新しいユーザー補助オプションは初期化子の呼び出しで設定されていることを意味し、その結果、最初の2つのイメージに投稿された.xibファイルからのアクセシビリティオプションを持つ古いUIImageViewインスタンスがオーバーライドされます。

関連する問題