コケるとストレスですよね?真っ先に直したくなりますよね?不安定なテストを直すのは大変な労力が要ると思ってませんか?実は、たいていのケースは簡単に再現確認ができるし、不安定になる要因もだいたい決まっているし、ログやスクリーンショットを見れば原因も簡単に特定できるんです!そんなわけで、日頃不安定なテストを潰している身として知見みたいなものをまとめてみました。今回利用した環境は次のとおりです。(f484704e052e0b556f8030b65b953dce96503217-refs/branch-heads/3865@{#442})記事の中に出てくるコードを含めたサンプルアプリケーションも作ったので、イメージが沸かない場合はこちらも参照すると良いかもです。コケる場合、まずは再現確認が重要です。同じテストを全く同じ順番で何度か実行してみることで再現するはずです。結果を保存しておけば、その情報を基に全く同じ順番で実行することができます。実行すれば全く同じ順番で実行できます。して保存しておくと良いでしょう。大変だと思うので、デバッグの効率を上げるための方法についていくつか紹介します。利用するスクリーンショットを撮るサーバ側でエラーがあったら気付けるようにしておく以下詳細です。ログを見る基本中の基本ですが、ログを見ることは超重要です。確認できるようになります。ログを見ることも重要です。ログには次のような情報が出てきます。クリックしたら「clicked!」というアラートが表示されたということまで読み取ることができます。内容が確認できて便利です。実行すると、例えば次のような内容が表示されます。指定したりしても明らかにログの量が少なくてよくわからなかったので有効にしていません。等、ポート番号を指定することで利用できるようになります。ホストのポートをマッピングする必要があります。実行中のタブの情報が出てきます。リンクをクリックすると現在のタブの状態がどうなっているか確認することができます。使えば特定のタイミングで止めることができるので便利です。実行することもできます。余談ですが、リモートデバッグした後にテストを再開したい場合ってどうすればいいんでしょうね...。応答がなくなってしまうからテストを再開したくても止まったままになる。スクリーンショットを撮ってくれます。コケた時の情報としてはかなり有用です。して残るようにしておくと良いでしょう。場合は次のようにすると良いです。呼ばれるので、スクリーンショットの内容が真っ白になります。所望のスクリーンショットを撮るには次のようなワークアラウンドが必要です。等に直接アップロードするのもありでしょう。設定されていると例外に気付けません。「要素が見つからない」と言われるだけだとデバッグが大変です。設定するようにしましょう。