テストの問題のトラブルシューティング

最初のステップを完了できない場合

パブリックインターネットからテスト環境にアクセスできるかどうかを確認する。
接続の問題の多くは、テスト環境を保護するファイアウォールが、インターネットからの受信トラフィックをブロックすることに起因します。mablトラフィックは、クラウドのマシンから送信されます。ファイアウォールで保護された環境をmablでテストするには、受信接続の許可リストにmablのIPアドレスを登録するか、mabl Linkを使用してファイアウォールを通過するセキュアなトンネルを作成します。

mabl Linkをセットアップした後に接続を試みてエラーが表示された場合は、Link Agentを実行中のマシンにJava 9以降がインストールされているかどうかを確認してください。

注: mablユーザーの多くは、自らのローカルマシン (mablを「トレーニング」するために使用するデバイス) からローカルネットワークまたはVPN経由でテスト環境に接続できるため、この失敗に驚きます。

サイトが「ボット」トラフィックを拒否するかどうかを確認する。
mablは、Webサイトに接続するとき、自身を「ボット」として認識します。Webサイトとアプリケーションの多くは、デフォルトでボットトラフィックをブロックします。ご利用の環境にインターネットからアクセスできるにもかかわらず、mablが接続できない場合、ボットブロッカーの許可リストにmablトラフィックを登録する必要があります。

存在しているように見えるエレメントが見つからない場合

ステップに正しいエレメントが含まれていることを確認する。
WebアプリケーションがUIコントロールを予想外の方法で使用することは珍しくありません。たとえば、一部のアプリケーションは、ボタンやチェックボックスなどのネイティブコントロールを使用せずに、ネイティブコントロールのように「見える」イメージを使用し、JavaScript、非表示のコントロール、ハイパーリンクによってネイティブコントロールと同様の動作をシミュレートしています。不明な理由によってステップが失敗するように見える場合、CSSまたはXPathクエリによってステップに誤ったエレメントをうっかり追加していないかを確認してください。たとえば、ステップが変数の値を入力ボックスそのものでなく、入力ボックス「周辺」のフレームに挿入していないでしょうか。また、ボタンそのものでなく、ボタンの横にあるオブジェクトをクリックしていないでしょうか。

テストの特定のエレメントが疑わしい場合、まず、Chrome DevToolsでエレメントのHTMLプロパティを調べてください。Chrome DevToolsにアクセスするには、[表示] メニューを使用するか、該当するエレメントを右クリックし、[検証] を選択します。Chrome DevToolsが開いたら、インスペクターを使用して確認を行います。

その他のヒントについては、失敗したテストのデバッグ - ベストプラクティスを参照してください。

(mabl Trainerを使用して) ローカルで実行する場合は正常に行われるが、mablサービスから実行すると失敗する場合

テストが「クリーン」な環境で作成されていることを確認する。
新しいテストは、新しいコンテナーまたは仮想マシンで実行されます。mablの初期の実行環境にはないアプリケーション状態やアプリケーションデータがマシンに存在する場合、そのマシンでトレーニングを行うと、ローカルでの再生とmablからの実行の間に不一致が生じることはよくあります。

お勧めの方法は、デフォルトで毎回のトレーニングセッションが新しいステートレスなブラウザーで開始されるmablデスクトップアプリケーションを使用することです。この方法で、ブラウザーをクラウド実行の場合と同じ状態にすることができます。

Chrome拡張機能を使用する場合は、シークレットモードでテストをトレーニングするか、テストの作成前に必ずCookieをクリアし、アプリケーションからログアウトしてください。

テストが断続的に失敗する場合

タイミングの問題を見つける。
待機時間は、アプリケーションとテスト環境によってかなり異なります。特定のテストまたはステップが断続的に失敗する場合、テスト環境で待機時間の急増が断続的に生じていないかどうかを確認してください。該当する場合は、待機時間の急増に対処するために、失敗するステップの前に待機 (wait) ステップを追加することを検討してください。

また、状況を十分に把握するために、テストステップの詳細なパフォーマンスデータをダウンロードすることも可能です。

テスト環境にmablの負荷に耐える処理能力があることを確認する。
デフォルトでは、mablはプラン内のすべてのテストを並列に実行します。とはいえ、テスト環境の多くは、多くの同時ユーザーの処理を想定していないインフラストラクチャーにデプロイされています。予想外の失敗が発生する場合は、テストを一度に1つずつ、順次実行してください。順次実行するときには正常で、同時に実行するときには失敗する場合、テストを順次実行するようにプランを設定するか、プランを複数に分割して、1つのプラン内のテストを少なくします。

テストの実行時間が予想より長い場合

不要なホバーを削除する。
ホバーを記録すると、mablは非表示のデータとステップを大量に収集するため、プランの実行が遅くなる可能性があります。通常のテスト出力では、煩雑になるのを避けるため、ホバーは非表示です。mabl Trainerでテストをトレーニングまたは編集するときには、ホバーは表示され、削除することができます。テストの実行速度を上げるには、不要なホバーアクションを削除します (ホバーの削除を参照)。

低速のステップを置き換える。
他のステップよりかなり低速なステップについては、より効率的なアクションに置き換えることを検討してください。ステップの実行時間が長い理由として、エレメントを見つけるための情報をmablがほとんど持っていないケースが挙げられます。この場合、mablはデフォルトの方法でエレメントの探索を30秒間試みます。その後、より高度なヒューリスティックでページを検索します (これらの詳細は、出力ログで確認できます)。このため、テストの実行時間が数分長くなります。

mablが特定のエレメントを常に「検索」していることに気づいた場合、可能であれば、そのエレメントに一意のIDまたはCSSクラス名を追加してください。それができない場合は、そのステップの代わりに、明示的な項目検索を使用してください (CSSまたはXPathクエリを使用)。

プライベートテスト環境に接続できない場合

Link Agentとの接続を確認する。
Link Agentに関連付けたプランまたはテストを実行するときには、Link Agentがアクティブ化されていることを確認してください。そのためには、[Settings] > [NETWORKING] を選択します。起動したLink Agentのエントリが表示されます。Link Agentは、起動後数分で、[Connected] および [Ready] になるはずです。トラブルシューティングに役立つ追加情報については、Link AgentのFAQを参照してください。

テストがホバーステップで失敗する場合

記録したホバーをCSSホバーに置き換える。
ホバーを正確に記録するのが難しい場合、ホバーステップに追加するエレメントをCSSセレクターで検索することをお勧めします。この機能にアクセスするには、mabl Trainerの [Find matching element] オプションを使用します。

CSSセレクターを効果的に使用すれば、mablが誤ったエレメントをホバーするためにテストが失敗する可能性を下げることができます。

テストに関連する問題の詳細なトラブルシューティングについては、mablウェビナートレーニングシリーズの第2回をご覧ください。このウェビナーでは、テストの結果をレビューし、問題を切り分けて迅速に解決するために、チームのアプローチを最適化する方法を重点的に解説しています。


Did this page help you?