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

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 3 minutes de lecture
  • L’API de test inclut des objets qui créent et exécutent des tests automatisés [sys_atf_test] pour confirmer que votre instance fonctionne après avoir effectué un changement.

    Remarque :
    L’API Framework de tests automatisés de test ne prend en charge que la synchronisation unidirectionnelle. Après la définition d’un test ATF dans le code source, si les métadonnées sont modifiées en dehors du code source, ces modifications ne sont pas synchronisées et reflétées dans le code source.

    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 fourni au format suivant, où < valeur > est une chaîne ou un numéro.
    $id: Now.ID[<value>]

    Lorsque vous créez l’application, cet ID est haché en une sys_ID unique.

    nom Chaîne Nom unique pour le test.
    description Chaîne Description de la fonction 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 faut é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 .
    (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.

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

    É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 Navigateur d’application
    • atf.applicationNavigator.moduleVisibility
    • atf.applicationNavigator.navigateToModule
    • atf.applicationNavigator.applicationMenuVisibility
    Catégorie d’e-mail
    • atf.email.validateOutboundEmailGeneratedByNotification
    • atf.email.generateRandomString
    • atf.email.generateInboundReplyEmail
    • atf.email.validateOutboundEmailGeneratedByFlow
    • atf.email.generateInboundEmail
    • atf.email.validateOutboundEmail
    Formulaires dans la Portail de services catégorie
    • 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.cliquezUIAction_SP
    • atf.form_SP.submitForm_SP
    Service Catalog dans la catégorie 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
    Catégorie REST
    • atf.rest.assertResponseJSONPayloadIsValid
    • atf.rest.assertXMLResponsePayloadElement
    • atf.rest.assertResponseXMLPayloadIsWellFormed
    • atf.rest.assertStatusCodeName
    • atf.rest.sendRestRequest
    • atf.rest.assertStatusCode
    • atf.rest.assertResponseTime
    • atf.rest.assertJsonResponsePayloadElement
    • en-tête atf.rest.assertResponseHeader
    • atf.rest.assertResponsePayload
    Catégorie de serveur
    • atf.serveur.recordMettre à jour
    • atf.serveur.emprunter l’identité
    • atf.serveur.enregistrementValidation
    • atf.serveur.créerUtilisateur
    • atf.server.recordDelete
    • atf.server.log
    • atf.serveur.checkoutShoppingPanier
    • atf.serveur.requêteEnregistrement
    • atf.serveur.insertionenregistrement
    • atf.server.searchForCatalogItem
    • atf.server.replayRequestItem
    Catégorie Catalogue de services
    • 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
    Catégorie de formulaire
    • atf.form.uiActionVisibility
    • atf.form.clickModalButton
    • atf.form.fieldValueValidation
    • atf.form.openNewForm
    • atf.form.openExistingRecord
    • atf.form.setFieldValue
    • atf.form.submitForm
    • atf.form.clickDeclarativeAction
    • atf.form.clickUIAction
    • atf.form.declarativeActionVisibility
    • atf.form.fieldStateValidation