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é une modification.
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 nombre.Lorsque vous créez l’application, cet ID est haché dans un sys_ID unique. |
| nom | Chaîne | Nom unique attribué au test. |
| description | Chaîne | Description de la fonction du test. |
| Actif | Booléen | Marqueur indiquant si le test est actif. Valeurs valides :
Valeur par défaut : true |
| failOnServerError (en anglais seulement) | Booléen | Marqueur indiquant s’il faut échouer lorsqu’une erreur de serveur se produit pendant le test. Valeurs valides :
Valeur par défaut : true |
| configurationFunction (Fonction de configuration) | Fonction | Les étapes du test. Les étapes de test sont transmises sous forme d’instructions dans la fonction ATF .Pour en savoir plus sur les étapes de test, reportez-vous à É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 en tant qu’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 des étapes, consultez la Catégories d’étapes de test documentation.
| Catégorie | Étapes |
|---|---|
| Catégorie Application Navigator |
|
| Catégorie d’e-mail |
|
| Formulaires dans la Portail de services catégorie |
|
| Catalogue de services dans la catégorie Portail de services |
|
| Quick start tests for Dashboards |
|
| Catégorie REST |
|
| Catégorie de serveur |
|
| Catégorie Catalogue de services |
|
| Catégorie de formulaire |
|