Automated Test Framework API testen – ServiceNow Fluent

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Die Test-API enthält Objekte, die automatisierte Tests erstellen und ausführen [sys_atf_test], um zu bestätigen, dass Ihre Instanz nach einer Änderung funktioniert.

    Hinweis:
    Die Automated Test Framework -Test-API unterstützt nur unidirektionale Synchronisierung. Wenn nach der Definition eines ATF-Tests im Quellcode die Metadaten außerhalb des Quellcodes geändert werden, werden diese Änderungen nicht synchronisiert und im Quellcode nicht wiedergegeben.

    Testobjekt

    Erstellen Sie einen automatisierten Test [sys_atf_test], der eine Reihe von auszuführenden Schritten enthält.

    Tabelle : 1. Eigenschaften
    Name Typ Beschreibung
    $id Zeichenfolge oder Zahl Erforderlich. Eine eindeutige ID für das Metadatenobjekt, die im folgenden Format bereitgestellt wird: wobei<value> ist eine Zeichenfolge oder Zahl.
    $id: Now.ID[<value>]

    Wenn Sie die Anwendung erstellen, wird diese ID in eine eindeutige sys_ID gehasht.

    Name Zeichenfolge Ein eindeutiger Name für den Test.
    description Zeichenfolge Eine Beschreibung dessen, was der Test tut.
    aktiv Boolean Kennzeichnung, die angibt, ob der Test aktiv ist.
    Gültige Werte:
    • wahr: Der Test ist aktiv.
    • „falsch“: Der Test ist nicht aktiv.

    Standardwert: wahr

    „failOnServerError“ Boolean Kennzeichnung, die angibt, ob ein Fehler zurückgegeben werden soll, wenn während des Tests ein Serverfehler auftritt.
    Gültige Werte:
    • wahr: Der Test schlägt fehl, wenn ein Serverfehler auftritt.
    • „false“: Der Test schlägt nicht fehl, wenn ein Serverfehler auftritt.

    Standardwert: wahr

    ConfigurationFunction Funktion Die Schritte des Tests. Testschritte werden als Anweisungen innerhalb der ATF- Funktion übergeben.
    (atf) => {
        atf.form.openNewForm({
            table: 'sn_example_table',
            formUI: 'standard_ui',
            view: '',
        })
    }

    Weitere Informationen zu Testschritten finden Sie unter Unterstützte Testschritte.

    Die Ausgabewerte von Testschritten mit Ausgabevariablen können als Variablen gespeichert und mithilfe der Syntax- Ausgabe als Eingaben für andere Schritte verwendet werden.<output-variable> . Die Ausgabevariablen können entweder direkt als Eingaben in entsprechenden Feldern oder innerhalb einer Vorlagenzeichenfolge verwendet werden, z. B. mit atf.server.log im folgenden Beispiel.

    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}`
            })
        }
    )

    Unterstützte Testschritte

    Die folgenden Testschritte werden unterstützt. Informationen zu Schritteigenschaften finden Sie in der Dokumentation Automated Test Framework (ATF) Testschrittkategorien.

    Hinweis:
    Einige Felder, die für Testschritte in Formularen verfügbar sind, sind in ServiceNow Fluentnicht als Eigenschaften verfügbar.
    Tabelle : 2. Testschritte
    Kategorie Schritte
    Kategorie „Anwendungsnavigator“
    • atf.applicationNavigator.moduleVisibility
    • atf.applicationNavigator.navigateToModule
    • atf.applicationNavigator.applicationMenuVisibility
    E-Mail-Kategorie
    • atf.email.validateOutboundEmailGeneratedByNotification
    • atf.email.generateRandomString
    • atf.email.generateInboundReplyEmail
    • atf.email.validateOutboundEmailGeneratedByFlow
    • atf.email.generateInboundEmail
    • atf.email.validateOutboundEmail
    Formulare in der Serviceportal-Kategorie
    • atf.form_SP.openForm_SP
    • atf.form_SP openServicePortalPage
    • atf.form_SP.setFieldValue_SP
    • atf.form_SP fieldValueValidation_SP
    • atf.form_SP.fieldStateValidation_SP
    • atf.form_SP.uiActionVisibilityValidation_SP
    • atf.form_SP.clickUIAction_SP
    • atf.form_SP.submitForm_SP
    Kategorie „Service Catalog im Service Portal“
    • atf.catalog_SP.openRecordProducer_SP
    • atf.catalog_SP.openOrderGuide_SP
    • atf.catalog_SP.openCatalogItem_SP
    • atf.catalog_SP.saveCurrentRowOfMultiRowVariableSet_SP
    • atf.catalog_SP.addRowToMultiRowVariableSet_SP
    • atf.catalog_SP.setVariableValue_SP
    • atf.catalog_SP.validateVariableValue_SP
    • atf.catalog_SP.variableStateValidation_SP
    • atf.catalog_SP.validatePriceAndRecurringPrice_SP
    • atf.catalog_SP.navigatewithinOrderGuide_SP
    • atf.catalog_SP.setCatalogItemQuantity_SP
    • atf.catalog_SP.validateOrderGuideItem_SP
    • atf.catalog_SP.reviewOrderGuideSummary_SP
    • atf.catalog_SP.reviewIteminOrderGuide_SP
    • atf.catalog_SP.addItemtoShoppingCart_SP
    • atf.catalog_SP.addOrderGuidetoShoppingCart_SP
    • atf.catalog_SP.submitOrderGuide_SP
    • atf.catalog_SP.submitRecordProducer_SP
    • atf.catalog_SP.orderCatalogItem_SP
    Quick start tests for Dashboards
    • atf.reporting.responsiveDashboard
    • atf.reporting.responsiveDashboardSharing
    Kategorie „REST“
    • atf.rest.assertResponseJSONPayloadIsValid
    • atf.rest.assertXMLResponsePayloadElement
    • atf.rest.assertResponseXMLPayloadIsGutFormed
    • atf.rest.assertStatusCodeName
    • atf.rest.sendRestRequest
    • atf.rest.assertStatusCode
    • atf.rest.assetResponseTime
    • atf.rest.assertJsonResponsePayloadElement
    • atf.rest.assetResponseHeader
    • atf.rest.assertResponsePayload
    Kategorie „Server“
    • atf.server.recordUpdate
    • atf.server.identitätswechsel
    • atf.server.recordValidation
    • atf.server.createAnwender
    • atf.server.recordDelete
    • atf.server.log
    • atf.server.checkoutEinkaufswagen
    • atf.server.recordQuery
    • atf.server.recordInsert
    • atf.server.searchForCatalogItem
    • atf.server.replayRequestItem
    Servicekatalog-Kategorie
    • atf.catalog.addItemToShoppingCart
    • atf.catalog.validatePriceAndRecurringPrice
    • atf.catalog.openRecordProducer
    • atf.catalog.setCatalogItemQuantity
    • atf.catalog.orderCatalogItem
    • atf.catalog.openCatalogItem
    • atf.catalog.setVariableValue
    • atf.catalog.submitRecordProducer
    • atf.catalog.validateVariableValue
    • atf.catalog.variableStateValidation
    Kategorie „Formular“
    • atf.form.uiActionVisibility
    • atf.form.clickModalButton
    • atf.form.fieldValueValueValidation
    • atf.form.openNewForm
    • atf.form.openExistingRecord
    • atf.form.setFieldValue
    • atf.form.submitForm
    • atf.form.clickDeclarativeAction
    • atf.form.clickUIAction
    • atf.form.declarativeActionVisibility
    • atf.form.fieldStateValidation