Framework de tests automatisés API de test : ServiceNow Fluent

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 3 minutes de lecture
  • L’API Framework de tests automatisés de test définit des tests automatisés [sys_atf_test] que vous pouvez exécuter pour confirmer que votre instance fonctionne après avoir effectué une modification.

    Remarque :
    Pour obtenir la documentation et des exemples d’API les plus récents ServiceNow Fluent , consultez les ServiceNow Fluent Référence API et référentiel d’exemples de SDK ServiceNow sur GitHub.

    Pour des informations générales sur les Framework de tests automatisés tests, reportez-vous à la section Framework de tests automatisés (ATF).

    Objet de test

    Créez un test automatisé [sys_atf_test] contenant une série d’étapes à exécuter.

    Tableau 1. Propriétés
    Nom Type Description
    $id Chaîne ou numéro Requis. ID unique pour l’objet de métadonnées. Lorsque vous créez l’application, cet ID est haché en une sys_id unique. Pour en savoir plus, consultez ServiceNow Fluent Constructions linguistiques.

    Format : Now.ID['chaîne' ou numéro]

    nom Chaîne Nom unique pour le test.
    description Chaîne Description de l’effet du test.
    actif Booléen Marqueur indiquant si le test est actif.
    Valeurs valides :
    • vrai : le test est actif.
    • faux : le test n’est pas actif.

    Par défaut : true

    failOnServerError Booléen Marqueur indiquant s’il y a lieu d’échouer lorsqu’une erreur du serveur se produit pendant le test.
    Valeurs valides :
    • vrai : le test échoue lorsqu’une erreur du serveur se produit.
    • false : le test n’échoue pas lorsqu’une erreur du serveur se produit.

    Par défaut : true

    configurationFunction Fonction Les étapes du test. Les étapes de test sont transmises sous forme d’instructions dans la fonction ATF . Par exemple :
    (atf) => {
        atf.form.openNewForm({
            table: 'sn_example_table',
            formUI: 'standard_ui',
            view: '',
        })
    }

    Pour plus d’informations sur les étapes de test, reportez-vous à la section Étapes de test prises en charge.

    $meta Objet Métadonnées pour les métadonnées de l’application.
    Avec la propriété installMethod , vous pouvez mapper les métadonnées d’application à un répertoire de sortie qui ne se charge que dans des circonstances spécifiques.
    $meta: {
          installMethod: 'String'
    }
    Valeurs valides pour installMethod :
    • demo : génère les métadonnées de l’application dans le répertoire metadata/unload.demo à installer avec l’application lorsque l’option Charger les données de démonstration est sélectionnée.
    • première installation : génère les métadonnées de l’application dans le répertoire metadata/unload à installer uniquement la première fois qu’une application est installée sur une instance.

    Les valeurs de sortie des étapes de test avec des variables de sortie peuvent être enregistrées en tant que variables et utilisées comme entrées dans d’autres étapes à l’aide de la syntaxe output.<output-variable>. Les variables de sortie peuvent être utilisées à la fois directement comme entrées sur des champs appropriés ou à l’intérieur d’une chaîne de modèle, comme avec atf.server.log dans l’exemple suivant.

    import { Test } from '@servicenow/sdk/core'
    
    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}`
            })
        }
    )

    Étapes de test prises en charge

    Les étapes de test suivantes sont prises en charge. Pour en savoir plus sur les propriétés de l’étape, consultez la Framework de tests automatisés Catégories d’étapes de test (ATF) documentation.

    Remarque :
    Certains champs disponibles pour les étapes de test sur les formulaires ne sont pas disponibles en tant que propriétés dans ServiceNow Fluent.
    Tableau 2. Étapes de test
    Catégorie Étapes
    Catégorie Application Navigator
    • atf.applicationNavigator.applicationMenuVisibility
    • atf.applicationNavigator.moduleVisibility
    • atf.applicationNavigator.navigateToModule
    Catégorie d’e-mail
    • atf.email.generateInboundEmail
    • atf.email.generateInboundReplyEmail
    • atf.email.generateRandomString
    • atf.email.validateOutboundEmail
    • atf.email.validateOutboundEmailGeneratedByFlow
    • atf.email.validateOutboundEmailGeneratedByNotification
    Catégorie de formulaire
    • atf.form.addAttachmentsToForm
    • atf.form.clickDeclarativeAction
    • atf.form.clickModalButton
    • atf.form.clickUIAction
    • atf.form.declarativeActionVisibility
    • atf.formulaire.champÉtatValidation
    • atf.form.fieldValueValidation
    • atf.formulaire.openEnregistrementExistant
    • atf.formulaire.openNewForm
    • atf.form.setFieldValue
    • atf.formulaire.soumettreFormulaire
    • atf.form.uiActionVisibility
    Formulaires dans la Portail de services catégorie
    • atf.form_SP.addAttachmentsToForm
    • atf.form_SP.cliquez sur UIAction_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
    Catégorie 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
    Catégorie de serveur
    • atf.server.addAttachmentsToExistingRecord
    • atf.serveur.checkoutPanierAchat
    • atf.serveur.createUser
    • atf.serveur.emprunter l’identité
    • atf.server.log
    • atf.serveur.enregistrementSupprimer
    • atf.serveur.enregistrementInsertion
    • atf.serveur.enregistrementRequête
    • atf.serveur.recordMettre à jour
    • atf.serveur.enregistrementValidation
    • atf.serveur.replayÉlémentDemande
    • atf.server.runServerSideScript
    • atf.serveur.searchForCatalogItem
    • atf.serveur.setVariables de sortie
    Catégorie Catalogue de services
    • 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
    Catalogue de services dans la catégorie Portail de services
    • 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 (en anglais seulement)
    • 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