失敗したテストケースをデバッグするためのベストプラクティス #mabljapan

自動テストにおいて、失敗したテストケースのデバッグコストはばかになりません。よって、いかにこの運用コストを下げるかが大切になってきます。mablはデバッグに必要なさまざまな情報を提供しています。

スクリーンショットからはじめよう

基本はスクリーンショットの確認からです。mablはステップごとにスクリーンショットを取得しているため、失敗したステップをすぐに確認できます。

スクショや実行動画はやっぱり重要。

mablがどうやって要素を見つけようとするか?その戦略を理解しよう

よくある失敗として「要素が見つからない問題」があります。mablは要素の検索を実行ログに書き出しており、要素をどのように探しているかがよくわかります。

「Tried to click, but timed out waiting for…」みたいなログが表示されていたら Contact mabl からご連絡くださいとのこと。

「Tried to click, but could not find the…」の場合は、以下のように確認しましょう。

  • 要素がまだ存在するかを確認しましょう
  • ログイン状態を確認しましょう。Cookieやセッションの問題かもしれないので、テスト作成するときにそれらをクリアしましょう
  • マウスのHoverに関連するステップであれば、「Capture hovers」を有効にして新しくテストを作成しましょう。Capture hoversについてはこちらを参考にどうぞ。
  • それでも解決しない場合は、 Contact mabl までどうぞ

要素の特定はある程度がんばって安定化してると思いますが、何かと問題が起きやすい箇所なので問い合わせまで・・・になっているのでしょうねー。

過去のテストを確認しよう

過去のテストから学べることはたくさんあります。失敗したケースには「view last passed test」といったリンクが表示されるため、そこから簡単に過去のテストを確認できます。

失敗したケースからこのリンクがみつからないので、もしかしたらなくなったのかも。そのかわりに「Edit Step」ができるようになっているように思います。

アップストリームのテストを確認しよう

失敗したステップが原因とは限りません。たとえば、ドロップダウンメニューをクリックして表示されたメニューをクリックするステップを作っていた場合、最初のクリックでメニューが表示されない場合、次のクリックで失敗します。

このようにアップストリーム(上流)のテストが原因になることは多いため、何かを表示したら表示されていることを確認するようにしましょう。

そうすれば、表示されてない時点でエラーとなり、デバッグも簡単になります。

自分自身でテストを作り直してみよう

調べてわからない場合は、「Edit test」でトレーナーを起動し、ローカルで動かしながら失敗を確認しましょう。

ブラウザのクッキーなどもきれいにしたり、匿名モードでブラウザを起動させるなどして、まっさらな状態で実行するのが大切です。

mablトレーナーは一度に実行するだけでなく、少し実行させたり、もどってもう一度実行させたりも簡単にできます。

テストケースが長い場合は、上下のキーボタンで実行開始場所を動かせます。

Chromeの開発ツールを活用しよう

テストの失敗原因を調べる場合、Chromeの開発ツールを開いておくと便利です。コンソールのメッセージやエラーやHTML、CSS、JS、ページがロードされるときのネットワーク状況まで確認できます。

とくに、テストの実行時間が長くなった場合は、Chromeの開発ツールでアプリの挙動を確認するといいでしょう。

リンククローラーが失敗した場合

「An unknown error occurred during the execution of a test operation」と表示されていたら Contact mabl まで連絡してください。

「Failure attempting to load page」と表示されていたら、次の確認をしてみましょう。

  1. Planで設定しているURLに対して、インターネット環境からアクセスできるか確認しましょう。mablはUSリージョンのGCP環境からアクセスします。アクセス制限も疑ってください。
  2. 特定のページであっても上記と同じくアクセスできるかを確認しましょう
  3. SSLの有効期限を確認してみましょう。信用された署名がされているかも確認してください。

mablチームに相談しましょう

原因がわからない場合は、遠慮なくmablチームまで連絡してください。アプリ内チャットや email から連絡可能です。

mablの人曰く、アプリ内チャットが一番反応が早いそうですよー。