Automated Test Framework - よく寄せられる質問 (FAQ)Issue この記事の目的は、Automated Test Framework (ATF) に関連して ServiceNow テクニカルサポートが受ける一般的なよくある要望や質問に回答することです。 Automated Test Framework (ATF) とは ATF はいつどのように使用すべきか ?ATF の使用を開始するにはどうすればよいですか? ServiceNow リリースで使用できる ATF 機能は何か ?テストスイートとは何か ?クイックスタートテストとは何ですか?カスタマイズを適用した後、クイックスタートテストに合格する必要がありますか?ATF テストを作成するときに考慮すべきベストプラクティスは何か ?ATF 関連のシステムプロパティATF テストを実行する際の推奨事項は何か ?Automated Test Framework 用ヘッドレスブラウザーとは ?ATF Test Generator and Cloud Runner とは?ATF テストは本番環境で実行できますか。ATF テストのロールバックを無効にできますか。あるテストを別のテストの結果に依存するように設計できますか?ATF テストを他の環境に移行するにはどうしたらよいでしょうか。UI ページなどのカスタム UI は、ATF を使用してどのようにテストできるか ?カスタム UI コンポーネントがテスト可能であることを確認するにはどうすればよいですか?ATF で報告される一般的な問題は何か? Automated Test Framework (ATF) とは何か ? Automated Test Framework (ATF) を使用することで、変更を行った後にインスタンスが動作することを確認するための自動テストを作成して実行することができます。たとえば、アップグレード後、アプリケーション開発中、または更新セットを使用してインスタンス構成を展開する場合です。失敗したテストの結果を確認して、失敗の原因となった変更と、レビューする必要がある変更を特定します。 ATF はいつどのように使用すべきか ? アップグレード、インスタンスの変更 (フィールドのカスタマイズや変更など) や内部開発リリースがあるときはいつでも、ATF テストを実行して、インスタンスが設計どおりに動作することを確認する必要があります。これには、スコープ対象のアプリ、カスタムアプリ、またはすぐに利用可能な製品でのテストの実行が含まれます。ATF では、テストスイートをオンデマンドで実行する以外に、営業時間外に実行するようにスケジュールすることもできます。一連のテストを実行し、結果を瞬時に分析して、修復が必要かどうかを判断できます。テストする構成およびカスタマイズとテストの同期を保つと、次のリリースまたはアップグレードで同じテストを再度使用できます。ATF は、インスタンスに加えた変更をテストするためのものであり、ServiceNow の基本機能をテストするためのものではありません。 ATF の使用を開始するにはどうすればよいですか? 利用可能なドキュメントを確認してください: Automated Test Framework を使い始めるトレーニングを完了する : Framework トレーニング次のビデオを確認してください。 Automated Test Framework (ATF) を使い始める 最初の ATF テストの設定 ServiceNow リリースで使用できる ATF 機能は何か ? 特定のリリースで導入された ATF 機能のリリースノートを参照してください。 キングストンロンドンマドリードニューヨークオーランドパリケベックローマサンディエゴ東京ユタ 州バンクーバーワシントン テストスイートとは何か ? テストスイートには個々のテストやその他のテストスイートを含むことができます。これにより、テストを特定の順序でグループ化して、アプリケーションまたは関連機能のグループをテストできます。このようにして、テストを実行し、結果を 1 つのジョブとして確認できます。 テストをテストスイートにグループ化すると、次のようなメリットがあります。 テスト担当者はテストスイート内のすべてのテストを 1 回のアクションで実行できます。テスト担当者は親テストスイート内のすべての子テストスイートを実行できます。テスト担当者はテストスイート内のすべてのテストのテスト結果を確認できます。テスト設計者とテスト担当者はテストスイートを実行するタイミングをスケジュールできます。テスト設計者とテスト担当者は、テスト実行をサポートするクライアントテストランナーの開始をスケジュールできます。 詳細については、以下を参照してください。 自動テストスイートの構築と実行 クイックスタートテストとは何ですか? クイックスタートテストは、機能開発者がテスト設計者にその機能に対するテストの作成を推奨する方法を示すベースシステムの例です。各アプリケーションまたは機能には、クイックスタートテストを有効にするための独自のプラグインアクティブ化要件があります。 詳細については、以下を参照してください: クイックスタートテスト 利用可能なリリースのアプリケーションまたは機能別に利用可能なクイックスタートテストについては、以下のリンクを参照してください。 Madrid - アプリケーションまたは機能別に利用可能なクイックスタートテスト Orlando - アプリケーションまたは機能別に利用可能なクイックスタートテスト Paris - アプリケーションまたは機能別に利用可能なクイックスタートテスト Quebec-アプリケーションまたは機能別に利用可能なクイックスタートテスト Rome - アプリケーションまたは機能別に利用可能なクイックスタートテスト San Diego - アプリケーションまたは機能別に利用可能なクイックスタートテスト Tokyo - アプリケーションまたは機能別に利用可能なクイックスタートテスト Utah - アプリケーションまたは機能別に利用可能なクイックスタートテスト バンクーバー - アプリケーションまたは機能別に利用可能なクイックスタートテスト ワシントン州 - 利用可能なクイックスタートテスト:アプリケーションまたは機能別 カスタマイズを適用した後、クイックスタートテストに合格する必要がありますか? 顧客はカスタマイズの変更に合わせてテストを変更することが期待されている ATF テスト作成時に考慮するベストプラクティス このリンクを参照してください: のベストプラクティス ATF 関連のシステムプロパティ このリンクを参照してください: KB0720524 ATF テストを実行する際の推奨事項は何か ? ATFテストを実行するときは、ブラウザに十分なパワーがあることを確認してください。ServiceNow はブラウザースロットリングの動作を制御することはできませんが、いくつかの回避策があります。確認対象をいくつか紹介します。 画面を自動的にロックしないコンピューターで無人テストを実行します。クライアントテストランナーをフォアグラウンドウィンドウとして残すか、ATF のブラウザタブが独自のウィンドウ内にあり、ブラウザが CPU 時間の全割り当てを許可するのに十分な画面領域がある (画面の十分な割合でユーザーに見える) ことを確認することによって、ATF によるブラウザテストを行います。 その他の回避策は、HI の KB0621889に記載されています。 詳細については、以下を参照してください。 PRB822056: ATF: 目に見えないブラウザースロットリングが原因でテストパフォーマンスが低下する可能性がある (KB0621889)自動テストフレームワークAutomated Test Framework クライアントテストランナーモジュールChromeはバックグラウンドタブを積極的に抑制します—バグではなく機能として また、「 」も参照してください。 Automated Test Framework 用ヘッドレスブラウザーとは ? Rome リリースで、ServiceNow® は、Automated Test Framework (ATF) ユーザーインターフェイス (UI) テストを処理するブラウザーの作成を自動化することで、UI テストを改善しました。この機能はヘッドレスブラウザーと呼ばれ、ローカルブラウザーで UI テストを処理するクライアントテストランナーのためにブラウザーを手動で開かなくても、UI 機能をテストできます。 参照先: Automated Test Framework 用ヘッドレスブラウザー ATF Test Generator and Cloud Runner とは? ATF Test Generator and Cloud Runner は、特定のインスタンスの回帰テストをインテリジェントに生成する ServiceNow の機能を活用するためのツールです。 テストジェネレーターは、インスタンスの動作とワークフローを分析してテストをインテリジェントに作成します。ATF Test Generator は既存の ATF フレームワークと統合され、シームレスなユーザーエクスペリエンスを提供します。ServiceNow がホストするヘッドレスブラウザーで ATF テストを実行する ServiceNow の Cloud Runner を使用して、これらのテストを実行することもできます。 参照: ATFテストジェネレーターとクラウドランナー ATF テストは本番環境で実行できますか。 いいえ、お勧めしません。デフォルトでは、自動テストを実行するためのシステムプロパティは、実稼働システムでは実行できないように無効になっています。データの破損や機能停止を避けるため、開発、テスト、および他の非本番インスタンスでのみテストを実行してください。 ATF テストのロールバックを無効にできますか。 いいえ。AFTテストは、テストデータと各テスト実行後に行われた変更をロールバックするように設計されています。ロールバックを無効にすることはサポートされていません。 あるテストを別のテストの結果に依存するように設計できますか? いいえ。すべての変更は各テスト後にロールバックされるため、各テストは他のテストから独立しています。 ATF テストを他の環境に移行するにはどうすればよいですか? 更新セットを使用してテストを転送することをお勧めします。クローンプロセス中にプリザーバーを使用することはテストされていないため、お勧めしません。クライアントは準本番環境でクローンを作成するため、ATF を本番インスタンスに昇格させることもできますが、開発、テスト、およびその他の非本番インスタンスでのみテストを実行してください。 場合によっては sys_variable_value.value フィールドをチェックして、想定されている参照がターゲットインスタンスに存在することを確認する必要があります。存在しない場合、テストに合格する前に有効な参照を指定する必要があります。 注 : 既存の ATF テストについては、「 を参照してください。 UI ページなどのカスタム UI は、ATF を使用してどのようにテストできるか ? HTML および JavaScript ページコンポーネントを取得し、それらがサポートするテストアクションを特定することによって、UI ページや UI マクロなどのカスタマイズされたユーザーインターフェイスをテストします。 詳細については、「 カスタム UI テストステップ カスタム UI コンポーネントがテスト可能であることを確認するにはどうすればよいですか? 手動ページインスペクターを使用して UI ページを検査し、ページコンポーネントがテスト可能であることを確認します。 詳細については、以下を参照してください。 を有効にして使用する ATF で報告される一般的な問題は何か? ATF テストによりタイムアウトが発生する 1. Automated Test Framework (ATF) >管理>プロパティを使用して、次のプロパティを確認します。 [テストデバッグプロパティ] が [False] に設定されていることを確認します で述べたように、これに関連する問題があります:KB0751730 - ATFテストが過度に大量の結果データ(たとえば、2MB +のconsole.logs)を生成するとタイムアウトする可能性があります 2.スクリーンショットのプロパティを「失敗したステップで有効にする」に設定することを検討してください メモ:多くのスクリーンショットをキャプチャすると、テストのパフォーマンスが低下する可能性があります。を参照してください。 3. 最大タイムアウト期間を超えると、ATF テストは失敗します。 以下を参照してください。 KB0695425 - ATF テストのデフォルトのタイムアウト期間を増やす方法 ないKB0867123-ATF:UI バッチがタイムアウトしてから正常に完了した場合のステップ結果ステータスが正しくない ATF テストの結果はクライアントエラーになる 1. 参照先: クライアントエラーの特定と解決 2. Automated Test Framework でクライアントエラー包含リストを使用する方法 KB0725054を参照してください 以下のいずれかを取得している場合 エラー 、これはカスタムウィジェットの使用に関連している可能性があります。廃止されたウィジェットまたはカスタムウィジェットを持つカタログアイテムは、ATF ではサポートされていません エラー:カタログアイテムを開くことができませんでした。カタログアイテムへのアクセス権がないか、g_formが定義されていませんエラー:検証に失敗しました。アイテムの注文に失敗しましたエラー:レコードプロデューサーを送信できませんでしたエラー:カタログアイテムを買い物かごに追加できませんでした 詳細については、以下の KB を参照してください。 KB0716457 - ATF ステップを使用して Service Portal でページ、フォーム、レコードプロデューサを開いて注文すると、「エラー:カタログアイテムを開くことができませんでした。カタログアイテムへのアクセス権がないか、g_formが定義されていません」 カスタム UI コンポーネントを取得できません UI ページのテスト時に UI コンポーネントを取得できない場合は、以下の KB を参照してください。 KB0755252コンポーネントが ATF のカスタム UI を使用して正しく取得されない ATF テストがロールバックされない ロールバックが次のメッセージで失敗することがあります。重大 *** エラー *** ロールバック実行ツール:ロールバックコンテキストが予期されたステータス (pending_revert) ではありません。実際 = 記録済み これは、sys_rollback_contextレコードのステータスが正しくなく、PRB1416758に関連していることが原因である可能性があります。 以下の KB を参照してください。 KB0859738-ATF:sys_rollback_contextレコードのステータスが正しくないため、ロールバックが失敗することがある KB0714767-Automated Test Framework (ATF) テストは、作成/削除/更新されたレコードをロールバックしません ATF テストがスタックする テストによって生成された特定のイベント (テキストのインデックス作成など) により、テストがハングする可能性があります。Orlando から、イベント処理を ATF テストのロールバックにも記録する新しい機能が導入され、テスト実行後にイベント処理によって実行されるアクションも元に戻されました。ATF がtext_indexイベントを含むより多くのイベントを生成する場合、これらのイベントを処理すると輻輳が発生し、ロールバックコンテキストレコードが更新されます。最終的にATFテストの実行が遅くなり、打たれます。「ロック待機タイムアウトを超えました。トランザクションを再開してください」 以下の KB を参照してください。 複数のスレッドが同じロールバックコンテキストレコードを更新するためのロックを取得しようとすると、KB0860847-ATF テストがスタックする