[解決済み】Xcode UI テストのテストケースで遅延/待ちが発生する。
2022-04-12 19:30:46
質問
Xcode 7 beta 2で利用できる新しいUI Testingを使ってテストケースを書こうとしています。このアプリにはログイン画面があり、ログインするためにサーバーに電話をかけます。これは非同期処理であるため、遅延が発生します。
次のステップに進む前に、XCTestCaseで遅延または待機メカニズムを発生させる方法はありますか?
適切なドキュメントがなく、クラスのヘッダーファイルにも目を通しました。この件に関連するものを見つけることができませんでした。
何かアイデアや提案はありますか?
解決方法は?
非同期UIテストは、Xcode 7 Beta 4で導入されました。Hello, world!"というテキストを含むラベルが表示されるのを待つには、次のようにします。
let app = XCUIApplication()
app.launch()
let label = app.staticTexts["Hello, world!"]
let exists = NSPredicate(format: "exists == 1")
expectationForPredicate(exists, evaluatedWithObject: label, handler: nil)
waitForExpectationsWithTimeout(5, handler: nil)
もっと見る UIテストに関する詳細 は、私のブログで見ることができます。
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] Xcodeエラー "Could not find Developer Disk Image" が発生する。
-
EXC_BAD_ACCESS (code=2, address=0x0)
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] 奇妙な不要なXcodeログを隠す
-
[解決済み] Xcodeにおけるバージョンとビルドの比較
-
[解決済み] フレームワークを使用したiOSアプリがデバイス上でクラッシュ、dyld: ライブラリがロードされない、Xcode 6 Beta
-
[解決済み] iPhone 5の画面解像度に対応したアプリを開発・移行するには?
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み】Xcodeのプロセス起動に失敗しました。セキュリティ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
クラッシュエラー libc++abi.dylib: NSException 型のキャッチできない例外で終了_allanGold のブログ - ProgrammerITS401
-
[解決済み] アトミック属性と非アトミック属性の違いは何ですか?
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] IBOutletsはARCのもとで強くなるべきか、弱くなるべきか?
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] UIViewの角丸とドロップシャドウ?
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。
-
[解決済み] iPhoneでナビゲーションバーを1ページ目だけ非表示にする
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。