サーバーカテゴリ

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:23分
  • サーバー側の操作を実行します。たとえば、レコードのクエリと更新、ユーザーの代理操作、サーバー側スクリプトの実行などです。

    ユーザーを作成

    テスト用に指定されたロールとグループを持つユーザーを作成します。ユーザーレコードはテスト完了後にロールバックされます。

    表 : 1. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    有効 このテストステップの使用をアクティブ化するオプション。
    テスト ステップを追加するテストの名前。
    ステップ構成 ステップの名前。
    メモ テストステップに関するメモ。
    ユーザーの名前 (名)。
    ユーザーの名前 (姓)。
    ロール ユーザーにアサインされたロール。
    グループ ユーザーにアサインされたグループ。
    このユーザーを代理操作 新しいユーザーを代理操作するためのオプション。
    表 : 2. 出力
    フィールド 説明
    ユーザー 代理操作されるユーザーのユーザー ID。

    代理操作

    テスト用に、指定されたユーザーの代理操作をします。

    代理操作では、このテストで後続のステップを実行するユーザーを指定します。サーバー側とブラウザ側の両方のステップで動作し、別の代理操作ステップで変更されるか、またはテストが終了するまで有効です。テストが終了すると、代理操作は自動的に終了します。
    注:
    • テスト作成者ロールを持つユーザーの代理操作は実行しないでください。実行すると、テストの実行を妨げる競合が発生する可能性があります。
    • 存在しなくなった代理操作ユーザーが関与するテストは失敗します。
      ヒント:
      データの依存関係を避けるために、新しいユーザーを作成することをお勧めします。詳細については、「ユーザーを作成」を参照してください。
    • 異なるインスタンス間でユーザー ID が一貫していることを前提としないでください。システムはユーザー ID を動的に割り当てるため、特定のユーザーの ID がインスタンスごとに異なることがよくあります。
    • 自動テストをエクスポートしてインポートする場合、ユーザーフィールドは更新セットによって更新されないことに注意してください。
    • テストは、snc_external ロールを持つユーザーに偽装できます。これにより、ログインアクセスを持たないユーザーをテストできます。snc_external ロールの要件については、「明示的なロール」を参照してください。
    表 : 3. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ユーザー 代理操作するテストのユーザー ID。
    表 : 4. 出力
    フィールド 説明
    ユーザー 代理操作されるユーザーのユーザー ID。

    カタログアイテムの検索

    指定したカタログとカテゴリで、カタログアイテムまたはレコードプロデューサの検索を実行します。このステップは、プラットフォームとサービスポータルの両方で実行できます。

    表 : 5. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    ポータル内のみを検索 検索がサービスポータルのみに制限されている場合に選択します。それ以外の場合は選択しません。
    検索用語 カタログアイテムを検索するために使用される用語。
    カタログ カタログアイテムを検索するカタログ。
    カテゴリ カタログアイテムを検索するカテゴリ。
    アサーションアイテム 検索結果で利用可能なカタログアイテム。
    アサーションタイプ カタログアイテムの検索がテストにどのように影響するかを指定します。
    • 検索結果にアサーションアイテムが存在する:アサーションアイテムが検索結果に存在する場合にのみ、テストは合格します。
    • 検索結果にアサーションアイテムが存在しない:アサーションアイテムが検索結果に存在しない場合にのみ、テストは合格します。
    表 : 6. 出力
    フィールド 説明
    catalog_item_id ユーザーが表示できる最初のカタログアイテムの sys_id。

    レコードのクエリー

    データベースに対してクエリーを実行し、このステップで設定した条件に一致するレコードが存在することを確認します。

    表 : 7. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    タイムアウト ステップが失敗するまでの秒数。検証に失敗すると、タイムアウトの時間になるまでステップが繰り返されます。タイムアウト経過後に検証が失敗すると、ステップは失敗します。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    セキュリティを強制 ACL を強制する場合に選択します。それ以外の場合は選択しません。
    メモ テストステップに関するメモ。
    注:
    条件ビルダーを使用してフィールド値を設定します。条件ビルダーには、フィールドのデータタイプに適したコントロールが表示されます。たとえば、参照フィールドにはルックアップレコードコントロールが表示されます。
    アサーションタイプ レコードのクエリがテストにどのように影響するかを指定します。
    • 少なくとも 1 つのレコードがクエリに一致します:クエリに一致するレコードがない場合、テストは不合格になります。
    • クエリに一致するレコードはありません:クエリに一致するレコードがある場合、テストは不合格になります。
    テーブル クエリされるテーブル。
    条件 クエリの実行に使用される条件。
    表 : 8. 出力
    フィールド 説明
    テーブル クエリーされたテーブル。
    first_record クエリー結果の最初のレコード。
    注:
    レコードクエリテストステップを更新しない場合、元のレコードクエリテストステップは、(使用廃止) と示されているかどうかに関係なく、以前と同じように機能します。

    レコードの挿入

    指定したフィールド値を持つレコードをテーブルに挿入します。

    表 : 9. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    注:
    条件ビルダーを使用してフィールド値を設定します。条件ビルダーには、フィールドのデータタイプに適したコントロールが表示されます。たとえば、参照フィールドにはルックアップレコードコントロールが表示されます。
    アサーションタイプ レコードの挿入がテストにどのように影響するかを指定します。
    • レコードが正常に挿入されました:レコードが正常に挿入されなかった場合、テストは不合格になります。
    • レコードが挿入されませんでした:レコードが正常に挿入された場合、テストは不合格になります。
    セキュリティを強制 ACL と読み取り専用ロールを強制する場合に選択します。それ以外の場合は選択しません。
    テーブル レコードを挿入するテーブル。
    条件 テストでこのステップが実行されたときに設定する特定のフィールド値。
    表 : 10. 出力
    フィールド 説明
    テーブル 新規レコードが属するテーブル。
    record_id 新規レコードの sys_id。

    レコードの更新

    サーバー上でレコードのフィールド値を変更します。

    注:
    変更が適用されたことを確認するため、このステップの後にレコードの検証のステップを実施してください。
    表 : 11. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    注:
    条件ビルダーを使用してフィールド値を設定します。条件ビルダーには、フィールドのデータタイプに適したコントロールが表示されます。たとえば、参照フィールドにはルックアップレコードコントロールが表示されます。
    アサーションタイプ レコードの更新がテストにどのように影響するかを指定します。
    • レコードが正常に更新されました:レコードが正常に更新されなかった場合、テストは不合格になります。
    • レコードが更新されませんでした :レコードが正常に更新された場合、テストは不合格になります。
    セキュリティを強制 ACL と読み取り専用ロールを強制する場合に選択します。それ以外の場合は選択しません。
    テーブル 更新するレコードを含むテーブル。
    レコード 更新されるレコードの ID。
    フィールド値 値を設定するフィールドと、それらのフィールドに設定する値。
    注:
    条件ビルダーを使用してフィールド値を設定します。条件ビルダーには、フィールドのデータタイプに適したコントロールが表示されます。たとえば、参照フィールドにはルックアップレコードコントロールが表示されます。
    注:
    レコードのフィールドが ACL によってブロックされている場合でも、[レコードの更新] ステップは成功します。[レコードの更新] 後に [レコードの検証] ステップを使用して、特定のフィールドが変更されたかどうかを確認するか、または [フォームのステップ] を使用して、レコードの個々のフィールドの ACL 条件を評価します。

    レコードの削除

    テーブル内の指定されたレコードを削除します。

    表 : 12. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    アサーションタイプ レコードの更新がテストにどのように影響するかを指定します。
    • レコードが正常に削除されました:レコードが正常に削除されなかった場合、テストは不合格になります。
    • レコードが削除されませんでした:レコードが正常に削除された場合、テストは不合格になります。
    セキュリティを強制 ACL と読み取り専用ロールを強制する場合に選択します。それ以外の場合は選択しません。
    テーブル 削除するレコードを含むテーブル。
    レコード 削除されるレコードの ID。

    レコードの検証

    レコードが、サーバー側の指定された条件を満たすことを検証します。

    レコードの妥当性確認ステップでは、標準条件ビルダーを使用してテストする値を指定します。同じフィールドに複数の条件を適用できます。

    全体的な条件が満たされている場合、このステップは合格し、そうでない場合は失敗します。お互いに独立して個々のフィールドの値をテストする必要がある場合は、テストする各値に対して個別のレコードの妥当性確認ステップを追加します。

    表 : 13. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    タイムアウト ステップが失敗するまでの秒数。検証に失敗すると、タイムアウトの時間になるまでステップが繰り返されます。タイムアウト経過後に検証が失敗すると、ステップは失敗します。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    注:
    条件ビルダーを使用してフィールド値を設定します。条件ビルダーには、フィールドのデータタイプに適したコントロールが表示されます。たとえば、参照フィールドにはルックアップレコードコントロールが表示されます。
    アサーションタイプ レコードの検証がテストにどのように影響するかを指定します。
    • レコードが正常に検証されました:レコードが条件と一致しない場合、テストは不合格になります。
    • レコードが見つかりません:レコードが見つかった場合、テストは不合格になります。
    テーブル 検証するフィールドを含むテーブル。
    レコード 検証するフィールドを含むレコード。
    フィールド値 テストでこのステップが実行されたときに検証される特定のフィールド。

    サーバー側スクリプトの実行

    サーバーでスクリプトを実行します。

    表 : 14. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    Jasmine バージョン サーバー側スクリプトの実行に使用する Jasmine テストフレームワークのバージョン。 作成する新しいスクリプトはすべて Jasmine バージョン 3.1 を使用します。既存のスクリプトで Jasmine バージョン 1.3 を引き続き使用することも、Jasmine バージョン 3.1 にアップグレードすることもできます。
    テストスクリプト 実行するサーバーの javascript。Jasmine テストフレームワークをサポートします。
    注:
    ステップ (SYS_ID) は、テストで以前に実行されたステップから出力変数データを取得する機能として定義できます。

    [サーバー側スクリプトを実行] テストステップは、ステップ入力としてパラメーターをサポートするようになりました。

    表 : 15. 出力
    フィールド 説明
    record_id サーバー側スクリプトによる sys_id 出力。
    テーブル サーバー側スクリプトによるテーブル出力。
    注:
    スクリプトでデータが作成された場合、テストのすべてのステップが終了した後、システムはそのデータをロールバックします。[サーバー側実行スクリプトを実行] のテストステップの出力に、失敗の原因の行と行番号が表示されるようになりました。
    • テストスクリプト
      //  Test step 1 - add data
      var now_GR = new GlideRecord('sc_task');
      //  this sample step's Step config has Output variables named table and record_id
      outputs.table = 'sc_task';
      outputs.record_id = gr.insert();
      //  Test step 2 - access added data and validate
      //  check that the record exists (or that business logic changed it)
      var now_GR = new GlideRecord("sc_task");
      gr.get(steps(PREVIOUS_STEP_SYS_ID).record_id);
      assertEqual({name: "task gr exists", shouldbe: true, value: gr.isValidRecord()});
      stepResult.setOutputMessage: Log a message to step results after step executes.
                                   Can only be called once or will overwrite previous message
    • テストスクリプトのスイートを作成します
      var now_GR = new GlideRecord('sc_task');
      gr.setValue('short_description', 'verify task can be inserted');
      var grSysId = gr.insert();
      var justCreatedGR = new GlideRecord('sc_task');
      if (justCreatedGR.get(grSysId)) {
      stepResult.setOutputMessage("Successfully inserted task record");
      return true; // pass the step
      } else { 
      stepResult.setOutputMessage("Failed to insert task record");
      return false; // fail the step
      }
    • Jasmine テスト
      describe('my suite of script tests', function() {
      it('should meet expectations', function() {
      expect(true).not.toBe(false);
      });
      });
      //  make sure to uncomment jasmine.getEnv().execute(); outside the function body
      assertEqual: A function used to compare that assertion.shouldbe == assertion.value;
      in case of failure it throws an Error and logs that the assertion by name has failed
      注:
      describe はグローバルスコープでのみサポートされています。describe を使用してテストスクリプトのスイートを作成し、it を使用してテストの期待値を定義します。
    • メッセージをテストステップ出力に記録します
      var testAssertion = {
      name: "my test assertion",
      shouldbe: "expected value"
      value: "actual value",
      };
      assertEqual(testAssertion); // throws Error, logs message to test step output
    • サーバー側実行スクリプトの例については、「ステップ実行スクリプト」を参照してください。

    要求アイテムを再現

    既存の要求アイテムからアイテムと依頼者を取得し、そのアイテムを新しいカートに追加して、そのアイテムを注文します。

    表 : 16. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    元の要求アイテム 再現される要求アイテム。
    表 : 17. 出力
    フィールド 説明
    テーブル 再実行された要求アイテムが属するテーブル。
    要求 再現された要求アイテム。

    ログ

    メッセージをログに記録し、ステップの結果として保存します。

    ログメッセージには、テストに関連する変数やその他の情報を含めることができます。メッセージはステップの結果として保存されます。

    表 : 18. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    ログ 記録されるメッセージ。以前のステップの出力変数の値を含めるには、入力値アイコン(入力値アイコン) をクリックし、「1 つの自動テストステップから別の自動テストステップに値を渡す」の手順に従います。

    既存のレコードに添付ファイルを追加

    指定されたレコードに 1 つ以上の必須の添付ファイルを追加します。[添付ファイルをアップロード] を使用して、テストステップでレコードに追加する添付ファイルを選択します。

    表 : 19. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    有効 このテストステップの使用をアクティブ化するオプション。
    テスト ステップを追加するテストの名前。
    ステップ構成 ステップの名前。
    メモ テストステップに関するメモ。
    テーブル リストからの有効なテーブルの選択。
    レコード テスト前の既存のレコード、またはテストの一部として挿入されたレコード。
    添付ファイルをアップロード レコードに 1 つ以上の必須の添付ファイルを追加するためのボタン。

    買い物かごのチェックアウト

    買い物かごを送信して要求を生成します。このステップは、Now Platformおよびサービスポータルで実行できます。

    表 : 20. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    タイムアウト ステップが失敗するまでの秒数。検証に失敗すると、タイムアウトの時間になるまでステップが繰り返されます。タイムアウト経過後に検証が失敗すると、ステップは失敗します。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    アサーションタイプ テストに合格するための基準。
    空の買い物かご
    買い物かごが空でない場合、テストは不合格になります。
    買い物かごを正常にチェックアウトしました
    買い物かごが正常にチェックアウトされない場合、テストは不合格になります。
    要求元 要求が生成されたユーザー。
    配送先 要求の配送先住所。
    特別な指示 要求に関する特別な指示。
    表 : 21. 出力
    フィールド 説明
    request_id 送信された要求の sys_id。

    カスタムスクリプト StepConfig

    カスタム ステップ設定用のスクリプトの例を示します。

    この例では、指定されたユーザー名が文字 A で始まるかどうかを確認します。このステップは、主に [atf_test_admin] ロールを持つユーザーに役立ちます。[atf_test_admin] ロールを持つユーザーは、このステップのレコードをステップ構成で開くことによって、スクリプトの例を表示できます。

    表 : 22. 入力
    フィールド 説明
    実行順序 テストのこのステップの実行順序を指定する整数。

    ステップを作成すると、各ステップに増分値が自動的に割り当てられます。この値により、テストでは、ステップが作成された順に実行されます。このデフォルトを変更するには、[実行命令] 値を編集します。

    有効 このテストステップの使用をアクティブ化するオプション。
    アプリケーション システムがこのステップを実行するアプリケーションスコープ。
    テスト ステップを追加するテストの読み取り専用の名前。
    ステップ構成 ステップの読み取り専用の名前。
    説明 テストステップの説明。このフィールド値はテストステップのフィールド値に基づいて自動的に設定されます。このフィールドは、テストステップが送信された後に表示されます。
    メモ テストステップに関するメモ。
    ユーザー 名前が A という文字で始まるかどうかがチェックされるユーザー。以前のステップの出力変数の値を含めるには、入力値アイコン(入力値アイコン) をクリックし、「1 つの自動テストステップから別の自動テストステップに値を渡す」の手順に従います。
    表 : 23. 出力
    フィールド 説明
    value ユーザーの名前。