自動テストフレームワークのエラー:「クライアントサイドの Javascript エラーが検出されたため、このステップは失敗しました」。説明 自動テストフレームワークテストで失敗がレポートされ、[テスト結果] に [ステップ結果] が表示されます。概要は以下のとおりです。 テスト中のページでクライアントサイドの Javascript エラーが検出されたため、このステップは失敗しました。詳細については、テスト結果のログとスクリーンショットを参照してください。 再現手順 フォームとやり取りする自動テストフレームワークテストを実行します。 このテストの [テスト結果] から次の概要を含む [ステップ結果] を確認します。テスト中のページでクライアントサイドの JavaScript エラーが検出されたため、このステップは失敗しました。詳細については、テスト結果のログとスクリーンショットを参照してください。 この [ステップ結果] は、UI とやり取りするステップのみに出現します。 ワークアラウンド これは想定内の動作です。テスト中の [ステップ結果] の出力にこのエラーがレポートされる場合、自動テストフレームワークは正常に動作しています。 ブラウザの Javascript エラーが発生した場合、自動テストフレームワークは、エラー発生時に実行されていたステップでテストに失敗します。このエラーメッセージの目的は、開発者とテスターがそのテストステップ実行中に発生したインスタンスのカスタマイズの問題を見つけられるようにすることです。 実行手順の間に Javascript エラーが発生した場合、クライアントスクリプトがサイレントで失敗する可能性がありますが、このエラーはデータと実行中の手順に影響するため、自動テストフレームワークではそのようなエラーが検証失敗とみなされます。 自動テストフレームワークがこのような形で失敗した場合、テスト対象のページでエラーが見つかったとレポートされます。以下の手法は、ページで発生したエラーの根本原因をユーザーが特定するのに役立ちます。 自動テストフレームワークによって報告されたスクリプトエラーを特定して解決する方法: クライアントテストランナーページにある開発者ツールのブラウザコンソールを開きます。 ブラウザコンソールを開く方法については、次の記事を参照してください。JavaScript コンソールを別のブラウザで開くにはどうすればよいですか? [自動テストフレームワーク] > [テスト] に移動してテストを実行すると、同じクライアントテストランナーによってピックアップされます。テスト完了後、ブラウザウィンドウのコンソールでスクリプトエラーを確認します。コンソールで見つかった JavaScript エラーは、テスト中のページにより発生したものです。エラーが表示される場合は、問題のあるスクリプトを特定してトラブルシューティングしてください。次のいずれかのベースシステムテーブルに存在する可能性があります。 クライアントスクリプトUI アクションUIマクロ (HTMLスクリプト)UIページ (HTMLスクリプト)UI ポリシーUI スクリプト上記のベースシステムテーブルを拡張するテーブル スクリプトのエラーを確認し、修正したらテストを再実行します。 スクリプトエラーの原因を追跡するには、そのスクリプトレコードの [バージョン] の関連リストからスクリプトのバージョン履歴を確認します。 ベースシステムスクリプトをカスタマイズした場合は、インスタンスのアップグレード中に、そのスクリプトのベースシステムバージョン (アップグレード後の ServiceNow リリースで変更された) がスキップされ、その変更のカスタマイズへの反映が必要だった可能性があります。 クライアントスクリプトのエラーの例 クライアントスクリプトでエラーが発生すると、ブラウザコンソールに次の例のようなエラーが表示されます。 ***************************************************イベントのレンダリング中にエラーが発生しましたTypeError:未定義のプロパティ「id」を読み取ることができませんスクリプトが終了します。楽しく続行中***************************************************[00:00:00.002] onLoad Modify Comments Label このケースでは、クライアントスクリプト「コメントラベルの変更 (Modify Comments Label)」がエラーの原因でした。 その他のタイプのスクリプトエラーは、発生時にフォーマットなしでブラウザコンソールに直接報告されます。例: TypeError:コールバック (id) が定義されていません スクリプトリソースのリンク 一部のケースでは、コンソールエラーによってスクリプトリソースファイルへのリンクが提供されます。このリンクに続いて、どのスクリプトが実行したかに関するコンテキストが得られる場合があります。例: Uncaught ReferenceError: myobj is not defined at incident.do?sys_id=12345678901234567890123456789012(anonymous) @ incident.do?sys_id=12345678901234567890123456789012 <---- LINK スクリプトへのアクセス 問題のあるスクリプトを特定する際には、必要なアクセス許可があることを確認し、関連するドメインが構成されている場合はドメインを確認してください。 関連するサービスカタログについての既知の問題「買い物かごレイアウトの使用」 https://hi.service-now.com/kb_view.do?sysparm_article=KB0682516https://hi.service-now.com/kb_view.do?sysparm_article=KB0656699 関連する問題:PRB1037062