JS コードカバレッジのデバッグ

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:5分
  • JS コードカバレッジのデバッグ アプリケーションを使用すると、アドミニストレーターとアプリケーション開発者は、ユーザーセッション中にトリガーされたスクリプトを記録し、システムが実行したコードの行を確認できます。

    js_coverage_debugger ロールを持つユーザーは、ブレークポイントを設定したり画面上のデバッグメッセージを確認したりすることなく、スクリプトをデバッグできます。代わりに、スクリプト使用データは JavaScript コードカバレッジ [sys_js_code_coverage] テーブルに保存されます。各 JavaScript コードカバレッジレコードには、次のものが含まれます。
    • スクリプトを呼び出したユーザーセッション。
    • テーブル、sys_id、およびスクリプトフィールドで識別される、システムが呼び出したスクリプトレコード。
    • タイプと名前で識別される、システムが呼び出したスクリプトレコード。
    • スクリプトを呼び出したトランザクション。
    • トランザクションの開始時間。
    • システムが実行した行を示すためにハイライト表示されたスクリプトフィールドの内容。
    図 : 1. サンプルコード範囲のハイライト表示
    サンプルコード範囲のハイライト表示

    JS コード範囲のハイライト表示

    JS コードカバレッジアプリケーションは、システムが各行を実行したかスキップしたかを示すために、スクリプトフィールドをハイライト表示します。

    図 : 2. サンプルコードのハイライト表示
    サンプルコードのハイライト表示

    ハイライト表示の色は、システムがコード行をどのように評価したかを示します。

    表 : 1. コードのハイライト表示の意味
    ハイライト表示の色 意味
    これは、セッション中にシステムが実行した実行可能なコード行です。
    これは、何らかの理由でシステムがスキップした実行可能なコード行です。必要なスクリプト条件が満たされていないか、スクリプト関数が一度も呼び出されていないために、システムが実行可能なコード行をスキップした可能性があります。スクリプトデバッガ を使用して、システムが実行可能なコード行をスキップした理由を特定できます。
    グレイ これは、空白、コードコメント、または単独では実行できない複数の行にまたがる式の一部など、実行不可能なコード行です。

    アドミニストレーターとアプリケーション開発者は、この情報を使用して、スクリプトデバッガ を使用してスクリプト条件が満たされていない理由を特定するなど、よりターゲットを絞ったデバッグアクティビティを行うことができます。

    JS コードカバレッジのデバッグ のアクティブ化

    admin ロールを持っている場合は、JS コードカバレッジのデバッグ プラグイン (com.glide.js.coverage) をアクティブ化できます。

    始める前に

    必要なロール:admin

    手順

    1. 次のように移動する。 All (すべて) > システムアプリケーション > 利用可能なすべてのアプリケーション > All (すべて).
    2. フィルター基準と検索バーを使用してプラグインを検索します。

      名前または ID でプラグインを検索できます。プラグインが見つからない場合は、ServiceNow 担当者から要求する必要があります。

    3. [インストール] を選択して、インストールプロセスを開始します。
      注:
      ドメインセパレーションと代理アドミンがインスタンスで有効になっている場合、管理ユーザーはグローバルドメインに含まれている必要があります。それ以外の場合、次のエラーが表示されます: 「別の操作が実行されているため、アプリケーションのインストールは利用できません: <プラグイン名> のプラグインの有効化 (Application installation is unavailable because another operation is running: Plugin Activation for <plugin name>)」
      インストールが完了するとメッセージが表示されます。プラグインとともにインストールされるコンポーネントの詳細については、「 アプリケーションとともにインストールされているコンポーネントの検索」を参照してください。

    次のタスク

    プラグインがインストールしたコンポーネントを表示するには、プラグインフォームを更新して [プラグインファイル] 関連リストを選択します。

    JS コードカバレッジのデバッグ を使用したデバッグ

    JS コードカバレッジのデバッグ を使用してユーザーセッションを記録し、システムが実行したスクリプトとコード行を確認します。

    始める前に

    必要なロール:admin または js_coverage_debugger

    手順

    1. 次のように移動する。 All (すべて) > JS コードカバレッジのデバッグ > 補償の有効化.
      システムは、システムが実行するスクリプトとコード行をログに記録し、JS コードカバレッジ名前空間にセッションデバッグメッセージを表示します。
      コードカバレッジを使用したデバッグ
    2. ロジックをテストするテーブルまたはページに移動します。
      たとえば、 インシデント > 新規作成.
    3. テストするスクリプトをトリガーします。
      たとえば、関連付けられた CI アイテムを使用してインシデントを作成し、複数のビジネスルールをテストします。
    4. テストが完了したら、次に移動します: JS コードカバレッジのデバッグ > 補償の無効化.
      ログスクリプトとコード行の実行が停止します。
    5. 次のように移動する。 JS コードカバレッジのデバッグ > 補償データ.
      現在のユーザーセッションに関連付けられているカバレッジデータのリストが表示されます。
      JavaScript コードカバレッジレコードのサンプル
    6. レビューするスクリプトまたはトランザクションを選択します。
      表 : 2. JavaScript コードカバレッジのフィールド
      フィールド 説明
      スクリプト名 スクリプト実行をテーブル名、sys_id 値、およびスクリプトフィールドで表示します。
      スクリプト参照 スクリプト実行をスクリプトのタイプと名前で表示します。
      トランザクション名 スクリプトを呼び出したトランザクションをスレッド ID と URI で表示します。
      たとえば、「スクリプト参照ビジネスルール:インシデントイベント」を選択します。
      JS コードカバレッジのデバッグレコードが表示されます。
      [JS コードカバレッジのデバッグ] セクション
    7. [スクリプト] フィールドを確認して、システムが実行したコード行を特定します。
      たとえば、ビジネスルールによって incident.inserted イベントがイベントキューに追加されたとします。

    タスクの結果

    システムが実行したコード行を特定します。

    次のタスク

    コードカバレッジ情報を使用して、スクリプトデバッガ によってブレークポイントの設定や変数値の確認など、よりターゲットを絞ったデバッグアクティビティを実行します。