selenium(RSpecなど)の例外処理には回数を指定すべきです2017年12月21日エラーを捕捉してくれる例外処理(begin,rescue,retry)自動テストなどでは、対象のアプリの不具合ではなく、コードやマシンなどのクライアント側のエラーが発生した場合のために例外処理を入れると運用がスムーズになります。「なぜか時々ここでコケるんだよなぁ。」っていう場合にエラーを捕捉して、その処理をやり直してくれます。エラーが起きたら処理をやり直すretryendbegin句の処理が成功するまでエラーを吐かずにリトライしてくれます。余計なsleepとか入れなくて良いので助かります。注意すべきは、begin句の処理が永遠に通らなければ、永遠にretryし続けます。無限ループでテストが止まってしまいますね。試行回数を指定して、超えたらraiseでエラーを発生させるさすがに10回試して1度も通らなければアプリやテストコードを修正すべきでしょう。いうことで例外処理に回数を指定して、10回以上失敗したらエラーを発生させます。exception簡単ですね。以前記事にも書いたのですが、補足したエラーを表示させつつ、retryすることもできます。通ったけど、何か問題があるよっていうことを知らせてくれます。katsulogRSpecであればpendingを発生させるのも良いのではないでしょうか。retryは回数を制限しないと無限ループしてしまう、という説明は正しいのですが、自力で実装せずにrspec-retryというgemを使う方法もあります。僕はいつもこのgemを使っています。https://github.com/NoRedInk/rspec-retryネットを探すと日本語の情報もいくつか見つかるはずです。ご存じ出なかったら一度チェックしてみてください。PMい、伊藤さんからコメントもらえるなんて。著書読ませてもらっています!!素晴らしいです!!コメントがスパムばかりで気付きませんでした。コメントをキャンセルメールアドレスが公開されることはありません。date*日本語が含まれない投稿は無視されますのでご注意ください。コメントデータの処理方法の詳細はこちらをご覧ください。