Framework de tests automatisés API de test : ServiceNow Fluent
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.
Objet de test
Créez un test automatisé [sys_atf_test] contenant une série d’étapes à exécuter.
| 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.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 :
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 :
Par défaut : true |
| ConfigurationFunction | Fonction | Les étapes du test. Les étapes de test sont transmises sous forme d’instructions dans la fonction atf .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.
| Catégorie | Étapes |
|---|---|
| Catégorie Navigateur d’application |
|
| Catégorie d’e-mail |
|
| Formulaires dans la Portail de services catégorie |
|
| Service Catalog dans la catégorie Service Portal |
|
| Quick start tests for Dashboards |
|
| Catégorie REST |
|
| Catégorie de serveur |
|
| Catégorie Catalogue de services |
|
| Catégorie de formulaire |
|