XCUITestを使用してビューが非表示になっているかどうかをテストするにはどうすればよいですか?ビューが時々隠されています(Hidden viewのようなXcodeで設定) Swiftを使用してXCUITestでそれをテストするにはどうすればよいですか?私の場合、ビューは単なるラベルです。私はこのような何かを試しました:XCTAssertFalse(app.staticTexts["pushNotificationInstruction"].accessibilityElementsHidden)
。しかしそれはそうではありません。 accessibilityElementsHiddenはビューが隠されているのと同じではありません。ありがとう。XCUITestを使用してUIViewが非表示になっているかどうかをテストします
1
A
答えて
1
残念ながら、現在XCUITestを使用することはできません。ここでは、アップルのエンジニアは、この正確な問題のためにレーダーを提出提案、開発者フォーラムのスレッドがある:私は個人的にUIViewsの特定のプロパティにアクセスすることができないことで課される制限に関連するカップルのレーダーを提出したhttps://forums.developer.apple.com/message/46271
XCUITestの中から。 XCUITestの欠点のために、同じことをして、テストからブロックされたシナリオの詳細を提供することをお勧めします。
+0
おそらくEarlGreyを試してみることができます:http://www.github.com/google/EarlGrey? – khandpur
0
ビューが存在しないと主張でき、シナリオが存在するときに別のテストを使用してチェックできます。たぶん少し壊れやすいかもしれませんが、それはあなたのケースをカバーするでしょう。
let viewControllerShown = app.otherElements["view_myviewcontroller"].waitForExistence(timeout: 5)
XCTAssert(viewControllerShown)
let instructionViewExists = app.staticTexts["pushNotificationInstruction"].exists
XCTAssertFalse(instructionViewExists)
0
好都合溶液は、accessibilityidentifierのビューの表示状態を運ぶことです。あなたのビューコントローラで
:あなたのテストでは
view.isHidden = hideView
view.accessibilityidentifier = "view1"+(hideView ? "hidden" : "")
:
XCTAssert(app.otherElements["view1"].exists)
または
XCTAssertFalse(app.otherElements["view1"].exists)
関連する問題
- 1. divがコントローラからAngularJSで非表示になっていないかどうかを確認しますか?
- 2. エスプレッソを使用してソフトキーボードが表示されているかどうかをテストします。
- 3. UIView:描画を非表示にしてもう一度表示
- 4. ディレクトリがC#で非表示になっているかどうかをテストする方法は?
- 5. Firefoxアドオンパネルが表示され、非表示になっているかどうかを判断できますか?
- 6. jqueryがドキュメントレディイベントを使用していないかどうかをテストします。
- 7. pytestを使ってテスト*の後にテスト名*を表示するにはどうしたらいいですか?
- 8. ナビゲーションコントローラのツールバーが非表示になっていると非表示になっていませんか?
- 9. プログレスバーが非表示になっている場所が非表示になっていないことが表示されています続きを表示
- 10. 入力フィールドに値があるかどうかによって、ボタンが表示/非表示になります
- 11. jQueryを使用してデータを表示/非表示にするにはどうすればよいですか?
- 12. 特定のUIViewからラベルを非表示にしますか?
- 13. setIntervalを使用してイメージを表示/非表示にします(コードはどこに配置しますか)。
- 14. タブバーを非表示にしてUIViewの位置が正しくない
- 15. タブレットのソフトキーボードが非表示になっていますか?
- 16. Eclipse 4ビューが非表示になっていますか?
- 17. 派生プロパティが非表示になっていますか? C#
- 18. jquerymobile pageinit()ページが非表示になっていますか?
- 19. JavaScriptが有効になっているかどうかをチェックし、aspカスタムコントロールを使用していない場合はメッセージを表示します。
- 20. PassportJSを使用しているユーザーが正しくない場合はアイテムを非表示にしますか?
- 21. jQueryを使用して非表示になっている画像を表示する方法
- 22. どのように.netコンパクトなフレームワークを使用してデータグリッドの列を非表示にしますか?
- 23. C#を使用して非表示(非ブロードキャスト)ネットワークに接続しますか?
- 24. ポップアップメニューが非アクティブになっているかどうかを確認する/ポップアップメニューが表示されているかどうかを確認する
- 25. jQueryを使用してチェックボックスを表示/非表示にする
- 26. クッキーを使用してJavaScriptを表示/非表示にする
- 27. CALayerを使用したUIViewに影が表示されない
- 28. 誰かがperfectomobileを使ってテストしていますか?
- 29. 可能かどうかは、チェックボックスを使用して非表示にしますか?
- 30. UIControlをXCUITestのボタンとして表示させるにはどうすればよいですか?
ところで、あなたはブール値をチェックするために 'XCTAssertTrue'と' XCTAssertFalse'を使用することができます – Alexander