---
sourceDocument: Criar ou modificar aplicações do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/application-development

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Criar ou modificar aplicações do Xanadu

ft:clusterId :

    - cadev

bundleId :

    - cadev

workflow :

    - Creator


---

# Automated Test Framework Testar API - ServiceNow Fluent

# Automated Test Framework Testar API - ServiceNow Fluent {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 min. de leitura

A API de teste inclui objetos que criam e executam testes automatizados \[sys_atf_test\] para confirmar que sua instância funciona após fazer uma mudança.  
Nota:  
A API de teste Automated Test Framework oferece suporte somente à sincronização unidirecional. Depois de definir um teste de ATF no código de origem, se os metadados forem modificados fora do código de origem, essas mudanças não serão sincronizadas e refletidas no código de origem.

## Objeto de teste {#ariaid-title2}

Crie um teste automatizado \[sys_atf_test\] que contém uma série de etapas a serem executadas.
{#atf-test-object-now-ts__table_vy2_525_jq__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| $id | Cadeia de caracteres ou número | Obrigatório. Um ID exclusivo para o objeto de metadados fornecido no seguinte formato, em que\<value\> é uma cadeia de caracteres ou um número. $id: Now.ID[<value>] Quando você cria a aplicação, esse ID é convertido em um sys_ID exclusivo. |
| nome | Cadeia de caracteres | Um nome exclusivo para o teste. |
| descrição | Cadeia de caracteres | Uma descrição do que o teste faz. |
| ativo | Booliano | Sinalizador que indica se o teste está ativo. Valores válidos: * verdadeiro: o teste está ativo. * falso: o teste não está ativo. {#atf-test-object-now-ts__ul_cxj_srr_4bc} Padrão: verdadeiro |
| failOnServerError | Booliano | Sinalizador que indica se deve haver falha quando ocorre um erro no servidor durante o teste. Valores válidos: * verdadeiro: o teste falha quando ocorre um erro no servidor. * falso: o teste não falha quando ocorre um erro no servidor. {#atf-test-object-now-ts__ul_sc1_5w2_ybc} Padrão: verdadeiro |
| função de configuração | Função | As etapas do teste. As etapas de teste são aprovadas como declarações na função ATF. (atf) => { atf.form.openNewForm({ table: 'sn_example_table', formUI: 'standard_ui', view: '', }) } Para obter mais informações sobre as etapas de teste, consulte [Etapas de teste compatíveis](https://servicenow-prod.fluidtopics.net/jPWQbLXVorILvzOJUANcdA#atf-test-object-now-ts__section_q5c_qmp_ccc). |
[Tabela 1. Propriedades]

{#atf-test-object-now-ts__table_vy2_525_jq}  
Os valores de saída das etapas de teste com variáveis de saída podem ser salvos como variáveis e usados como entradas para outras etapas usando a `saída de sintaxe.`\<output-variable\> . As variáveis de saída podem ser usadas diretamente como entradas em campos apropriados ou dentro de uma cadeia de caracteres de modelo, como com `atf.server.log` no exemplo a seguir.  

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

### Etapas de teste compatíveis {#atf-test-object-now-ts__section_q5c_qmp_ccc}

As etapas de teste a seguir são compatíveis. Para obter informações sobre as propriedades da etapa, consulte a documentação de [Categorias de etapa de teste](https://servicenow-prod.fluidtopics.net/1OoLFbzLPiikV_wM2OeDEA "Encontre etapas de teste para uma interface de usuário específica ou recurso Now Platform.").  
Nota:  
Alguns campos disponíveis para etapas de teste em formulários não estão disponíveis como propriedades em ServiceNow Fluent.
{#atf-test-object-now-ts__table_uqw_2mp_ccc__entry__2}

| Categoria | Etapas |
|-|-|
| [Categoria do Navegador de aplicações](https://servicenow-prod.fluidtopics.net/KTqYg9PHAKY2WZfxdYcPpQ#test-steps-app-navigator-category "Verifique a funcionalidade de menus e módulos no navegador de aplicações.") | * atf.applicationNavigator.moduleVisibility * atf.applicationNavigator.navigateToMódulo * atf.applicationNavigator.applicationMenuVisibility {#atf-test-object-now-ts__ul_dxm_cmp_ccc} |
| [Categoria de e-mail](https://servicenow-prod.fluidtopics.net/D7SLu6gs9Z0HColfuTR6Ow#test-steps-email-category "Use Automated Test Framework (ATF) para testar notificações por e-mail, fluxos de e-mail de saída e respostas de e-mail de entrada.") | * atf.email.validateE-mailDeSaídaGeradoPorNotificação * atf.email.generateRandomString * atf.email.generateInboundReplyEmail * atf.email.validateSaídaEmailGeradoPorFlow * atf.email.generateInboundEmail * atf.email.validateE-mail de saída {#atf-test-object-now-ts__ul_exm_cmp_ccc} |
| [Formulários na categoria Portal de serviços](https://servicenow-prod.fluidtopics.net/SxGbRv9G_3bdTj2O9B8BLw#test-steps-forms-portal-category "Valide a funcionalidade de campos e ações de IU em Portal de serviços widgets de formulário.") | * 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.enviarFormulário_SP {#atf-test-object-now-ts__ul_fxm_cmp_ccc} |
| [Catálogo de serviços na categoria Portal de serviços](https://servicenow-prod.fluidtopics.net/ilCQLeDQmejAQDN092_dhw#test-steps-catalog-portal-category "Valide transações de item do catálogo e fluxos de solicitante de Portal de serviços.") | * 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.catálogo_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.adicionarItemaoCarrinhoDeCompras_SP * atf.catalog_SP.adicionarGuiaDePedidoparaCarrinhoDeCompras_SP * atf.catalog_SP.submitOrderGuide_SP * atf.catalog_SP.submitRecordProducer_SP * atf.catálogo_SP.ordemCatalogItem_SP {#atf-test-object-now-ts__ul_gxm_cmp_ccc} |
| [Quick start tests for Dashboards](https://www.servicenow.com/docs/access?context=quick-start-tests-dashboards&version=xanadu&pubname=xanadu-now-intelligence&ft:locale=en-US) | * atf.relatório.responsivoPainel * atf.relato.responsivoDashboardCompartilhamento {#atf-test-object-now-ts__ul_hxm_cmp_ccc} |
| [Categoria REST](https://servicenow-prod.fluidtopics.net/4eWFYfvDshoh8dCAavE7~A#test-steps-rest-category "Verifique a funcionalidade das chamadas REST.") | * atf.rest.assertResponseJSONPayloadIsValid * atf.rest.assertXMLResponsePayloadElement * atf.rest.assertResponseXMLPayloadIsBemFormado * atf.rest.assertStatusCodeName * atf.rest.sendRestRequest * atf.rest.assertStatusCode * atf.rest.assertResponseTime * atf.rest.assertJsonResponsePayloadElement * atf.rest.assertResponseHeader * atf.rest.assertResponsePayload {#atf-test-object-now-ts__ul_ixm_cmp_ccc} |
| [Categoria do servidor](https://servicenow-prod.fluidtopics.net/JL~c_GqjqrRQlKHyDDiVNA#test-steps-server-category "Executar operações do lado do servidor. Por exemplo, consulte e atualize um registro, represente um usuário ou execute um script do lado do servidor.") | * atf.servidor.registroAtualizar * atf.servidor.representar * atf.server.recordValidation * atf.servidor.criarUsuário * atf.server.recordExcluir * atf.server.log * atf.servidor.checkoutCarrinhoDeCompras * atf.server.recordConsulta * atf.servidor.registroInserir * atf.server.searchForCatalogItem * atf.server.replayRequestItem {#atf-test-object-now-ts__ul_jxm_cmp_ccc} |
| [Catálogo de serviços categoria](https://servicenow-prod.fluidtopics.net/Je7QSryHH6vgRCag_EJE_g#test-steps-service-catalog-category "Valide transações de item do catálogo único, bem como fluxos de solicitante e executante em Catálogo de serviços.") | * 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 {#atf-test-object-now-ts__ul_kxm_cmp_ccc} |
| [Categoria de formulário](https://servicenow-prod.fluidtopics.net/6M7~hW8_k1g_VriAdj5wBg#test-steps-form-category "Valide a funcionalidade de campos e ações de IU em um formulário.") | * atf.form.uiActionVisibility * atf.form.clickModalButton * atf.form.fieldValueValidation * atf.form.abrirNovoFormulário * atf.form.openExistingRecord * atf.form.setFieldValue * atf.form.enviarFormulário * atf.form.clickDeclarativeAction * atf.form.clickUIAction * atf.form.declarativeActionVisibility * atf.form.fieldStateValidation {#atf-test-object-now-ts__ul_lxm_cmp_ccc} |
[Tabela 2. Etapas de teste]

{#atf-test-object-now-ts__table_uqw_2mp_ccc}

