1)を導入すべきです。いずれの方法でも結果に合致することを確認するために、「真」と「偽」をテストします。
スタティックテキストが "トラック情報"で、最初にアプリケーションが読み込まれたときに非表示に設定されたラベルを持っています。その後、ボタンを押してラベルを表示し、ラベルが表示された後の結果です。
//テストが
let trackInfoLabel = app.staticTexts["Track info"]
XCTAssertEqual(trackInfoLabel.exists, true)
XCTAssertEqual(trackInfoLabel.hittable, true)
//テストが
XCTAssertEqual(trackInfoLabel.exists, false)
XCTAssertEqual(trackInfoLabel.hittable, false)
//テストが
//テストが
XCTAssertEqual(trackInfoLabel.exists, false)
XCTAssertEqual(trackInfoLabel.hittable, false)
を失敗を渡すを渡すに失敗します
文字ボタンを押してラベルを隠すと、すべての結果が反対になります。これは、label.hidden設定の両方のプロパティ(hittableとexists)が動作することを確認します。
2)要素が隠されているかどうかを調べる別の方法は、element.frame.size.width == 0 || element.frame.size.height == 0
これはXcode 7.1では動作しません。いくつかのコントロールを動的に非表示に更新し、後でテストします。コントロールが明らかに隠されていても、常にtrueを返します。 – Alex
Xcode 7.2ヒットテストが非表示の要素に対して正しく動作していない場合 –
Xcode 7.2.1ヒットテストが隠し要素に対して正しく動作していない – san