Automated Test Framework Testar API - ServiceNow Fluent

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 2 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

    Crie um teste automatizado [sys_atf_test] que contém uma série de etapas a serem executadas.

    Tabela 1. Propriedades
    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.

    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.

    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.

    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

    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.

    Nota:
    Alguns campos disponíveis para etapas de teste em formulários não estão disponíveis como propriedades em ServiceNow Fluent.
    Tabela 2. Etapas de teste
    Categoria Etapas
    Categoria do Navegador de aplicações
    • atf.applicationNavigator.moduleVisibility
    • atf.applicationNavigator.navigateToMódulo
    • atf.applicationNavigator.applicationMenuVisibility
    Categoria de e-mail
    • 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
    Formulários na categoria Portal de serviços
    • 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
    Catálogo de serviços na categoria 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
    Quick start tests for Dashboards
    • atf.relatório.responsivoPainel
    • atf.relato.responsivoDashboardCompartilhamento
    Categoria 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
    Categoria 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
    Catálogo de serviços categoria
    • 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
    Categoria de 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