自動テストフレームワーク (ATF) テスト API - ServiceNow Fluent

  • リリースバージョン: Zurich
  • 更新日 2025年07月31日
  • 所要時間:10分
  • 自動テストフレームワーク (ATF)テスト API は、変更後にインスタンスが機能することを確認するために実行できる自動テスト [sys_atf_test] を定義します。

    自動テストフレームワーク (ATF)テストに関する一般的な情報については、「自動テストフレームワーク (ATF) (ATF)」を参照してください。

    Test オブジェクト

    実行する一連のステップを含む自動化テスト [sys_atf_test] を作成します。

    表 : 1. プロパティ
    名前 タイプ 説明
    $id 文字列または数値 必須。メタデータオブジェクトの一意の ID。アプリケーションをビルドすると、この ID は一意のsys_idにハッシュされます。詳細については、「ServiceNow Fluent 言語構成」を参照してください。

    形式: Now.ID['string' or number]

    name 文字列 テストの一意の名前。
    description 文字列 テストの内容の説明。
    active ブーリアン テストがアクティブかどうかを示すフラグ。
    有効な値:
    • true:テストはアクティブです。
    • false:テストはアクティブではありません。

    デフォルト:true

    failOnServerError ブーリアン テスト中にサーバーエラーが発生した場合に失敗するかどうかを示すフラグ。
    有効な値:
    • true:サーバーエラーが発生するとテストは失敗します。
    • false:サーバーエラーが発生してもテストは失敗しません。

    デフォルト:true

    configurationFunction 関数 テストのステップ。テストステップは、atf 関数内のステートメントとして渡されます。たとえば、次のようになります。
    (atf) => {
        atf.form.openNewForm({
            table: 'sn_example_table',
            formUI: 'standard_ui',
            view: '',
        })
    }

    テストステップの詳細については、「サポートされているテストステップ」を参照してください。

    $meta オブジェクト アプリケーションメタデータのメタデータ。
    installMethod プロパティを使用すると、特定の状況でのみロードされる出力ディレクトリにアプリケーションメタデータをマップできます。
    $meta: {
          installMethod: 'String'
    }
    installMethod の有効な値:
    • demo:[デモデータのロード] オプションが選択されている場合、アプリケーションメタデータを metadata/unload.demo ディレクトリに出力して、アプリケーションとともにインストールします。
    • 初回インストール:アプリケーションがインスタンスに初めてインストールされたときにのみインストールされるように 、アプリケーションメタデータをメタデータ/アンロード ディレクトリに出力します。

    出力変数を含むテストステップの出力値は、変数として保存され、output.<output-variable> 構文を使用して他のステップへの入力として使用できます。出力変数は、適切なフィールドの入力として直接使用、または次の例の atf.server.log のようにテンプレート文字列内で使用できます。

    import { Test } from '@servicenow/sdk/core'
    import '@servicenow/sdk-core/global'
    
    Test({
            active: true,
            failOnServerError: true,
            name: 'Simple example',
            description: 'An illustrative test written in fluent',
            $id: Now.ID[1],
        },
        (atf) => {
            atf.form.openNewForm({
                table: 'sn_table_app_reptile_table',
                formUI: 'standard_ui',
                view: '',
            })
            atf.form.setFieldValue({
                table: 'sn_table_app_reptile_table',
                formUI: 'standard_ui',
                fieldValues: {
                    reptiles: 'lizard' as any,
                },
            })
            const output = atf.form.submitForm({ assertType: 'form_submitted_to_server', formUI: 'standard_ui' })
            atf.server.recordValidation({
                recordId: output.record_id,
                table: 'sn_table_app_reptile_table',
                assertType: 'record_validated',
                enforceSecurity: true,
                fieldValues: 'reptiles=lizard',
            })
            atf.server.log({
                log: `Submitted record with sys_id: ${output.record_id} to table ${output.table}`
            })
        }
    )

    サポートされているテストステップ

    次のテストステップがサポートされています。ステップのプロパティについては、自動テストフレームワーク (ATF) (ATF) テストステップカテゴリ ドキュメントを参照してください。

    注:
    フォームのテストステップに使用できる一部のフィールドは、ServiceNow Fluent のプロパティとして使用できません。
    表 : 2. テストステップ
    カテゴリ ステップ
    アプリケーションナビゲーターカテゴリ
    • atf.applicationNavigator.applicationMenuVisibility
    • atf.applicationNavigator.moduleVisibility
    • atf.applicationNavigator.navigateToModule
    メールのカテゴリ
    • atf.email.generateInboundEmail
    • atf.email.generateInboundReplyEmail
    • atf.email.generateRandomString
    • atf.email.validateOutboundEmail
    • atf.email.validateOutboundEmailGeneratedByFlow
    • atf.email.validateOutboundEmailGeneratedByNotification
    フォームカテゴリ
    • atf.form.addAttachmentsToForm
    • atf.form.clickDeclarativeAction
    • atf.form.clickModalButton
    • atf.form.clickUIAction
    • atf.form.declarativeActionVisibility
    • atf.form.fieldStateValidation
    • atf.form.fieldValueValidation
    • atf.form.openExistingRecord
    • atf.form.openNewForm
    • atf.form.setFieldValue
    • atf.form.submitForm
    • atf.form.uiActionVisibility
    サービスポータル のフォームカテゴリ
    • atf.form_SP.addAttachmentsToForm
    • atf.form_SP.clickUIAction_SP
    • atf.form_SP.fieldStateValidation_SP
    • atf.form_SP.fieldValueValidation_SP
    • atf.form_SP.openForm_SP
    • atf.form_SP.openServicePortalPage
    • atf.form_SP.setFieldValue_SP
    • atf.form_SP.submitForm_SP
    • atf.form_SP.uiActionVisibilityValidation_SP
    Quick start tests for Dashboards
    • atf.reporting.responsiveDashboard
    • atf.reporting.responsiveDashboardSharing
    REST カテゴリ
    • atf.rest.assertJsonResponsePayloadElement
    • atf.rest.assertResponseHeader
    • atf.rest.assertResponseJSONPayloadIsValid
    • atf.rest.assertResponsePayload
    • atf.rest.assertResponseTime
    • atf.rest.assertResponseXMLPayloadIsWellFormed
    • atf.rest.assertStatusCode
    • atf.rest.assertStatusCodeName
    • atf.rest.assertXMLResponsePayloadElement
    • atf.rest.sendRestRequest
    サーバーカテゴリ
    • atf.server.addAttachmentsToExistingRecord
    • atf.server.checkoutShoppingCart
    • atf.server.createUser
    • atf.server.impersonate
    • atf.server.log
    • atf.server.recordDelete
    • atf.server.recordInsert
    • atf.server.recordQuery
    • atf.server.recordUpdate
    • atf.server.recordValidation
    • atf.server.replayRequestItem
    • atf.server.runServerSideScript
    • atf.server.searchForCatalogItem
    • atf.server.setOutputVariables
    サービスカタログ カテゴリ
    • atf.catalog.addItemToShoppingCart
    • atf.catalog.openCatalogItem
    • atf.catalog.openRecordProducer
    • atf.catalog.orderCatalogItem
    • atf.catalog.setCatalogItemQuantity
    • atf.catalog.setVariableValue
    • atf.catalog.submitRecordProducer
    • atf.catalog.validatePriceAndRecurringPrice
    • atf.catalog.variableStateValidation
    • atf.catalog.validateVariableValue
    サービスポータルのサービスカタログカテゴリ
    • atf.catalog_SP.addItemtoShoppingCart_SP
    • atf.catalog_SP.addOrderGuidetoShoppingCart_SP
    • atf.catalog_SP.addRowToMultiRowVariableSet_SP
    • atf.catalog_SP.navigatewithinOrderGuide_SP
    • atf.catalog_SP.openCatalogItem_SP
    • atf.catalog_SP.openOrderGuide_SP
    • atf.catalog_SP.openRecordProducer_SP
    • atf.catalog_SP.orderCatalogItem_SP
    • atf.catalog_SP.reviewIteminOrderGuide_SP
    • atf.catalog_SP.reviewOrderGuideSummary_SP
    • atf.catalog_SP.saveCurrentRowOfMultiRowVariableSet_SP
    • atf.catalog_SP.setCatalogItemQuantity_SP
    • atf.catalog_SP.setVariableValue_SP
    • atf.catalog_SP.submitOrderGuide_SP
    • atf.catalog_SP.submitRecordProducer_SP
    • atf.catalog_SP.validateOrderGuideItem_SP
    • atf.catalog_SP.validatePriceAndRecurringPrice_SP
    • atf.catalog_SP.variableStateValidation_SP
    • atf.catalog_SP.validateVariableValue_SP