このダイアログが発生するタイミングと場所がわかっているため、ダイアログを処理するコードを配置できます。例えば:
このようなコードがあるとしましょう
solo.clickOnView(view1);
solo.clickOnView(view2);
テストのこれら 2 つのステップの間にダイアログが表示されることがわかっている場合は、次のようなコードを配置できます。
if(solo.waitForView(dialogView, 1000, false)){
solo.clickOnView(dialogDismissButton);
solo.clickOnView(view2) //retry the step above
}
エラーが再び発生する可能性がある場合は、これらの呼び出しを関数に入れ、再帰的に/ループして、テストに失敗する前にこのサイクルを一定時間試行することは理にかなっています。
ケース2については、これはあなたの成功基準に依存します。理想的には、私があなただった場合、上記のエラーを引き起こす外部依存関係を削除しようとするので、エラーが発生することはありませんが、不安定であることに固執している場合. ユーザーはこれをエラーと見なしますか? 本番アプリが頻繁にログインに失敗する場合、アプリに何か問題があり、そのステップに失敗し、上記のポイントを実装しないと言うでしょうが、それは私の解釈です。ビジネスアナリスト/顧客/エンドユーザーに相談してくださいそして彼らの視点を得る。