Asserções em SoapUI: Scripts, XQuery, Tipos XPath

⚡ Resumo Inteligente

Asserções em SoapUI São os pontos de verificação que decidem se a resposta de um serviço web está correta, transformando uma solicitação que simplesmente é executada em um teste que de fato passa ou falha em conteúdo real e verificável.

  • 🔘 Categorias: Conteúdo da propriedade, Conformidade/Status/Padrões, Script, SLA, JMS e Segurança.
  • ☑️ Contém: Confirma a existência de uma string na resposta, com suporte a expressões regulares.
  • Não contém: Confirma a ausência de uma string, útil para tokens de erro e campos vazados.
  • 🧪 Correspondência XPath: Primeiro, declare o namespace, depois selecione um nó e compare seu valor.
  • 🛠️ Correspondência XQuery: Valida conjuntos de nós repetidos que, de outra forma, exigiriam centenas de verificações XPath.
  • 📊 Script: Groovy As asserções lidam com respostas dinâmicas e com a lógica de configuração ou finalização.
  • 🔍 Solução de problemas: A maioria das falhas ocorre devido a namespaces incorretos e à sintaxe com ponto em vez de dois pontos.

Asserções em SoapUI

O que é uma afirmação?

Asserção significa ato de afirmar ou afirmar algo. Também pode ser interpretado como ponto de verificação ou ponto de validação.

Assim que uma requisição é enviada a um servidor web, uma resposta é recebida. Precisamos validar se a resposta contém os dados esperados. Para validar a resposta, precisamos usar asserções. Sem uma asserção, uma etapa de teste apenas prova que o serviço respondeu, não que respondeu corretamente, e é por isso que cada teste exige uma asserção. Teste de API deve levar pelo menos um.

Tipos de afirmação

Existem várias maneiras de apresentar uma resposta; no entanto, vamos nos concentrar nas mais comuns. SoapUI tipos de asserção ao validar uma resposta. Abaixo estão as categorias disponíveis na versão de código aberto de SoapUI.

  1. Conteúdo da Propriedade
  2. Padrão de status de conformidade
  3. Script
  4. SLA
  5. JMS
  6. Total

A caixa de diálogo agrupa todas as afirmações nessas categorias, como mostra a captura de tela abaixo.

Categorias de asserções listadas no SoapUI Diálogo Adicionar Asserção
Tipos de Asserções em SoapUI

Além das funcionalidades listadas acima, a versão Pro também possui uma Asserção JDBC integrada, que permite verificar se o serviço web atualizou o banco de dados corretamente.

Nota de versão: atual SoapUI A documentação também lista um JDBC categoria (Status JDBC e Tempo Limite JDBC) juntamente com as categorias acima, e um Conteúdo da mensagem asserção dentro do Conteúdo da Propriedade para uma comparação XML mais rica. A edição comercial aqui referida como “Pro” agora é vendida como ReadyAPI Por SmartBear, portanto, os rótulos dos menus em versões mais recentes podem ser diferentes, embora o comportamento da asserção permaneça o mesmo.

Contém afirmação

Pesquisa a existência da string especificada. Ele também oferece suporte a expressões regulares.

Continuaremos com o mesmo exemplo do tutorial anterior com solicitação WSDL como http://www.dneonline.com/calculator.asmxSe você ainda não construiu esse projeto, trabalhe nele. Criação de um projeto, conjunto de testes e caso de teste. em primeiro lugar.

Passo 1: Por padrão, não há asserções.

  1. O número de asserções é mostrado na guia Asserções.
  2. Para adicionar uma nova asserção, clique no botão 'Adicionar nova asserção'.

SoapUI A aba "Asserções" não exibe nenhuma asserção e o botão "Adicionar nova asserção" está selecionado.

Etapa 2: agora,

  1. Selecione a categoria de afirmação.
  2. Selecione o tipo de declaração.
  3. Clique em 'Adicionar'

Abrir caixa de diálogo Adicionar Asserção com a categoria e o tipo de asserção selecionados

Passo 3: Vamos verificar se a string '46' existe na resposta. Clique em 'OK'.

Nota: Também podemos ignorar maiúsculas e minúsculas e adicionar expressões regulares.

Contém uma caixa de diálogo de configuração de asserção com o valor 46 inserido.

Passo 4: Após a adição, a asserção é executada imediatamente e mostra se é VÁLIDA ou INVÁLIDA.

A aba de asserções reporta a asserção "Contém" como VÁLIDA.

Passo 5: Agora, digamos que alteremos o conteúdo de 'Contém Asserção em SoapUI' para '47' e veja o que acontece.

Editando o conteúdo da declaração "Contém" de 46 para 47.

Etapa 6: A asserção é executada e o resultado é apresentado ao usuário. Como não temos a string '47' na resposta, a asserção falhou.

A aba "Asserções" reporta a asserção "Contém" como falha.

Não contém afirmação

Sua contraparte funciona ao contrário. Busca pela não existência da string especificada. Também suporta expressões regulares.

Passo 1: Agora, após clicar no botão 'adicionar novas asserções',

  1. Selecione a categoria de afirmação.
  2. Selecione o tipo de declaração – neste caso 'NOT Contém'
  3. Clique em 'Adicionar'

Caixa de diálogo Adicionar declaração com a opção NÃO contém selecionada

Passo 2: Vamos verificar se a string 'intA' existe na resposta. Digite a string 'FromCurrency' e clique em 'OK'.

Diálogo de declaração "Não contém" com a string "FromCurrency" inserida.

Passo 3: Assim que uma asserção é adicionada, ela é executada e exibe o resultado. Até agora, adicionamos duas asserções; portanto, ambas foram executadas e exibiram o resultado.

A aba "Asserções" lista os resultados de "Contém" e "Não Contém".

Passo 4: Agora vamos alterar o conteúdo da 'Asserção Não Contém' e ver o que acontece. Vamos verificar a inexistência da string “AddResult”.

Diálogo de verificação de asserção "Não contém" para o token AddResult.

Etapa 5: A string 'AddResult' está de fato presente na resposta, portanto a asserção 'NOT Contains' falhará, conforme mostrado abaixo.

A asserção "Não contém" está falhando porque AddResult está presente.

Asserção de correspondência XPath

A correspondência de strings é imprecisa, portanto, a próxima asserção visa um único nó. Usa uma expressão XPath para selecionar o nó alvo e seus valores. XPathXML é uma linguagem de consulta XML para selecionar nós de um documento XML.

Passo 1: Agora, após clicar no botão 'Adicionar novas asserções',

  1. Selecione a categoria de afirmação.
  2. Selecione o tipo de afirmação – neste caso 'XPath Match'
  3. Clique em 'Adicionar'

Diálogo Adicionar Asserção com Correspondência XPath selecionada

Passo 2: Adicionar XPath. A janela será aberta.

Antes de adicionar um SoapUI XPath, precisamos declarar o namespace. Um namespace XML é uma coleção de nomes, identificados por uma referência de Identificador Uniforme de Recursos (URI), que são usados ​​em documentos XML como nomes de elementos e atributos. O mesmo é usado no SoapUI Asserção XPath.

Para declarar um namespace XML, basta clicar no botão "Declarar", que fará o trabalho automaticamente. Caso contrário, também podemos declarar um namespace manualmente.

Após declarar o namespace, precisamos referenciar o XPath usando o namespace criado.

Ao clicar no botão 'Declarar', dois namespaces serão exibidos, pois temos dois URIs. Um deles é o esquema. URL e o outro corresponde ao serviço web propriamente dito. URLPrecisamos usar o namespace real onde o serviço web está localizado e NÃO o namespace do esquema ao referenciar o XPath. As linhas declaradas aparecem na parte superior da caixa XPath, como mostrado abaixo.

Namespaces soap e ns1 declarados dentro da janela de declaração XPath

declare o espaço para nome soap='http://schemas.xmlsoap.org/soap/envelope/';

declare o espaço para nome ns1='http://tempuri.org/';

A janela de declaração XPath é exibida imediatamente após clicar em Declarar.

Passo 3: Agora precisamos inserir o XPath do nó XML que precisamos validar.

//ns1:AddResult nos dá o valor do nó entre & e ns1 corresponde ao namespace declarado que aponta para 'http://tempuri.org/'

Após inserir o XML, precisamos clicar em 'Selecionar do atual' para que o valor da resposta atual seja obtido para comparação daqui para frente.

Expressão XPath inserida com a opção Selecionar entre as opções atuais destacadas

Etapa 4: Até agora,

  1. Depois de declarar os namespaces, inserimos o XPath do nó XML que precisamos validar.
  2. Precisamos clicar em 'Selecionar do atual' para tornar o valor atual o valor esperado.
  3. O valor atual é mostrado ao usuário e podemos modificá-lo se necessário.
  4. Clique em 'Salvar'.

Configuração de correspondência XPath mostrando o valor esperado e o botão Salvar.

Etapa 5: A asserção adicionada em SoapUI será exibido conforme mostrado abaixo.

A aba Asserções mostra a asserção XPath Match adicionada.

Asserções de script

Esta técnica de asserção é a mais utilizada, pois é extremamente difícil gerenciar e manter centenas de asserções.

SoapUI usa qualquer um Groovy Script ou JavaScript para escrever scripts de asserções. A técnica de script é adotada para desenvolvimento.ping Uma estrutura para teste de SOAP. Asserções de script são usadas nas seguintes circunstâncias.

  • A criação de scripts permite ao usuário executar algumas operações antes e depois da execução de um caso de teste, utilizando os métodos de configuração (setup) e finalização (teardown), respectivamente. A configuração é um procedimento executado antes da execução de um método específico (exemplo: criação e inicialização de objetos), enquanto a finalização é um procedimento executado após a execução do método (exemplo: destruição de objetos e limpeza). Esse recurso não está disponível em outros tipos de asserção e só pode ser implementado por meio de programação.
  • Permite aos usuários abrir/fechar um projeto para inicializar ou limpar configurações relacionadas ao projeto, além de trabalhar com variáveis ​​de ambiente, o que é muito útil durante a criação de scripts.
  • Isso nos ajuda a afirmar um conteúdo de resposta dinâmico.
  • As asserções de script são usadas para criar asserções definidas pelo usuário que NÃO são predefinidas por SoapUI.

Para demonstrar uma asserção de script em SoapUIVamos utilizar o WSDL da calculadora e o caso de teste 'Adicionar' que criamos anteriormente.

Passo 1: Os passos para adicionar um script Groovy são os mesmos que para outras asserções, exceto que a asserção não é predefinida. Em vez disso, é uma asserção definida pelo usuário, que oferece maior flexibilidade do que as asserções integradas.

Selecione a etapa de teste na qual a asserção deve ser adicionada.

Etapa de teste selecionada em SoapUI navegador antes de adicionar uma asserção

Clique no botão 'Adicionar Asserção' conforme mostrado abaixo.

Botão Adicionar Asserção na barra de ferramentas de asserções da etapa de teste

Passo 2: Agora selecione a categoria Asserção.

  1. Neste caso é Script.
  2. Selecionar SoapUI Asserção de script e não há subtipos associados a ela.
  3. Clique em 'Adicionar'.

Abrir a caixa de diálogo Adicionar Asserção com a categoria Script selecionada.

Etapa 3: A caixa de diálogo de script é aberta, onde o usuário poderá escrever um script personalizado para validar o XML de resposta.

vazio SoapUI caixa de diálogo do editor de asserção de script

Passo 4: Agora vamos escrever um script Groovy para validar a taxa de conversão. O script está anexado abaixo com os comentários incorporados. Recomenda-se ter conhecimento sobre Java Roteiro ou Groovy Script antes de tentar escrever seu próprio script.

//Define Groovy Utils and holder for validating the XML reponse content
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(messageExchange.responseContent)

//Define the NameSpace
holder.namespaces["ns1"] = "http://tempuri.org/"

//Get the Value of the Node 'AddResult' and assign to a variable
def addResult = holder.getNodeValue("//ns1:AddResult")

//print the value of the result in the Output panel
log.info "The result value for integers is " + addResult

//Comparing the value to print 'Pass' or 'Fail'
if(addResult=="46")
{ log.info "Pass" }
else
{ log.info "fail"}
  1. Clique no botão 'Executar' para acionar a execução.
  2. A saída do Script é mostrada no painel Saída. Ele imprimiu tanto o valor de conversão quanto o resultado final (aprovado ou reprovado)
  3. As informações são exibidas como 'Asserção de script aprovada'. Clique OK.

Nota: O pop-up de informações final sempre será exibido com a mensagem 'Script Assertion Passed', desde que o script esteja sintaticamente correto. Não há correlação com sua afirmação no script.

Painel de saída da asserção do script imprimindo o valor do resultado e "Passado".

clique em OK

Etapa 5: Agora, a guia de asserções exibe todas as asserções que adicionamos para este conjunto de testes, com o status correspondente a cada uma delas.

A aba "Asserções" lista todas as asserções adicionadas ao conjunto de testes.

Etapa 6: agora

  1. Selecione o Test Suite na árvore do Navigator
  2. Clique no botão 'Executar'
  3. Os resultados seriam exibidos para todo o conjunto de testes.

Resultados da execução do conjunto de testes após a execução de todas as asserções.

Asserção de correspondência XQuery

Ele usa uma expressão XQuery para selecionar conteúdo da propriedade de destino. Precisamos de um XML de resposta muito maior para entender melhor a asserção XQuery em SoapUIVamos importar outro WSDL, conforme mostrado abaixo: http://www.webservicex.net/medicareSupplier.asmx?WSDL

Observação: Os endpoints de demonstração públicos do webservicex.net usados ​​neste passo a passo não estão mais acessíveis de forma confiável, portanto, as capturas de tela de solicitação e resposta abaixo são mantidas como exemplo de referência. Qualquer WSDL que retorne um conjunto de nós repetidos executará a asserção XQuery exatamente da mesma maneira.

Passo 1: Clique com o botão direito do mouse no projeto existente e selecione 'Adicionar WSDL'.

Menu de contexto (clique com o botão direito do mouse) SoapUI Projeto mostrando a adição de WSDL

Passo 2: A caixa de diálogo Adicionar WSDL será aberta. Deixe as outras opções como padrão e clique no botão 'OK'.

Adicionar caixa de diálogo WSDL com as opções de importação padrão

Etapa 3: Todas as operações estão listadas conforme mostrado abaixo.

Operações WSDL de fornecedores do Medicare listadas na árvore de navegação

Passo 4: Agora vamos adicionar um Caso de teste dentro do mesmo conjunto de testes que criamos para Testes o conversor de moeda.

Nova opção de caso de teste no conjunto de testes existente

Passo 5: Insira o nome do caso de teste e clique no botão 'OK'.

Inserindo o nome do caso de teste na caixa de diálogo Novo Caso de Teste

Etapa 6: O caso de teste é criado conforme mostrado abaixo.

Caso de teste recém-criado em SoapUI árvore do navegador

Etapa 7: Adicione uma nova etapa de teste do tipo 'Solicitação de teste SOAP', conforme mostrado abaixo.

Adicionar menu de etapas com a solicitação de teste SOAP selecionada.

Etapa 8: Insira o nome da etapa de teste. Digamos que seja "Fornecedor_por_Cidade", que seria mais significativo. Clique em "OK".

Nomeando a nova etapa de teste: Supplier_by_City

Etapa 9: selecione o Operaque gostaríamos de validar. Neste caso é 'MedicareSupplierSoap -> GetSupplierByCity'. Clique em 'OK'.

Selecionando a operação GetSupplierByCity para a etapa de teste

Passo 10: Insira o nome do caso de teste e clique em 'OK'.

Confirmando o nome da solicitação de teste SOAP

Etapa 11: O esboço XML da solicitação será exibido conforme mostrado abaixo.

Estrutura XML da solicitação GetSupplierByCity gerada

Passo 12: Agora vamos encontrar todas as informações dos fornecedores para a cidade de Nova Iorque.

Para fazer isso, adicione as seguintes linhas ao seu código.

<GetSupplierByCity xmlns="http://www.webservicex.net/">

<City>New York</City>

</GetSupplierByCity>

WSDL abaixo URL – http://www.webservicex.net/medicareSupplier.asmx?op=GetSupplierByCity

Solicitação XML editada com Nova Iorque como valor da cidade.

Etapa 13: Após executar o teste, recebemos a seguinte resposta.

Resposta do GetSupplierByCity contendo registros de fornecedores repetidos

Etapa 14: Digamos que precisamos validar todos os números de fornecedores. Não podemos usar asserções XPath, pois precisaríamos de centenas delas. Portanto, o uso de XQuery é inevitável neste caso.

Asserção XQuery nos ajuda a validar um grupo de respostas XML que são de natureza repetitiva.

Nós SupplierData repetidos que o XQuery irá iterar.

Passo 15: Agora clique em 'Adicionar uma afirmação'.

  1. Selecione a 'Categoria de Asserção' – Conteúdo da Propriedade neste caso.
  2. Selecione o tipo de declaração como 'Asserção XQuery'
  3. Clique em 'Adicionar'.

Declaração XQuery selecionada na categoria Conteúdo da Propriedade

Etapa 16: Semelhante à Asserção XPath, precisamos declarar o namespace.

  1. Clique no botão 'Declarar' para permitir automaticamente. SoapUI Para declarar o namespace, ao clicar no botão "Declarar", uma janela pop-up com a mensagem "Declare o namespace a partir do esquema" será exibida ao usuário. Clique em "Sim" para prosseguir, conforme mostrado abaixo.
  2. Para recuperar todos os Números do Fornecedor, precisamos escrever uma Consulta XPath e iremos colocá-la dentro de <NumberNumber> e Tag.
  3. Clique em 'Selecionar do atual' que será executado a partir da resposta atual.
  4. Ao clicar em 'Selecionar entre os atuais', todos os números de fornecedor serão listados.
  5. Clique em 'Salvar'.

Declare o namespace a partir da janela pop-up de confirmação do esquema.

Observação: Ao clicar no botão 'Declarar', você poderá obter resultados diferentes. URLNo entanto, o namespace que deve ser considerado para a codificação é o do serviço web em si.

A expressão XQuery final, com suas declarações de namespace, fica assim.

// Namespace declaration
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webservicex.net/';
declare namespace x = '';

// Placing the result in Myresult Tags

{
// Iterating through all the supplier number
for $x in //ns1:GetSupplierByCityResponse/ns1:SupplierDataLists/ns1:SupplierDatas/ns1:SupplierData

//Return all the Supplier number within ‘SupplierNumber’ Tags.
return {data($x/ns1:SupplierNumber)}
}

Janela de expressão XQuery listando o número de cada fornecedor

Etapa 17: A asserção XQuery é executada e exibe o resultado final no painel "Asserção", conforme mostrado abaixo. Agora, adicionamos com sucesso uma asserção XQuery que validou todas as informações do número do fornecedor. Essas informações serão comparadas com os valores reais sempre que uma solicitação for enviada ao servidor web.

Nota: Os valores reais não serão exibidos. Se todos os valores reais forem iguais aos valores esperados, ele exibirá VALID, caso contrário, exibirá 'Falha'.

Painel de asserções mostrando o resultado da asserção XQuery

Quando usar asserção embutida?

Com as opções de apontar e clicar e as opções com roteiro já abordadas, a questão prática é qual delas escolher.

  • Quando uma resposta é curta, pode ser validada usando uma dessas asserções embutidas.
  • Também podemos usar Inbuilt Assertion se a resposta enviada do servidor web for sempre de natureza estática. Se for dinâmico, não seremos capazes de afirmá-lo usando asserções embutidas.
  • Quando o uso de asserções embutidas, como asserções de tempo limite e asserções de segurança, torna-se inevitável.
  • Asserções embutidas funcionam muito bem para uso único, onde os testes não precisam ser repetidos.

Opções de asserções

As asserções criadas podem ser melhor controladas com a ajuda do painel de controle destacado abaixo.

Painel de controle da caixa de ferramentas de asserções em SoapUI

As asserções criadas permitem que os testadores configurem os seguintes itens na caixa de ferramentas de asserções.

Opção Descrição
Ícone de mover afirmação para cima A Asserção selecionada sobe na ordem.
Ícone de mover afirmação para baixo A Asserção selecionada desce na ordem.
Remover ícone de afirmação Remove a afirmação selecionada
Configure ou edite o ícone de afirmação Reconfigure/edite a asserção selecionada.

Abaixo estão os recursos disponíveis exclusivamente na versão Pro de SoapUI, agora enviado como ReadyAPIA versão Pro também nos ajuda a agrupar asserções, permitindo adicionar mais uma camada de validação às asserções criadas.

  • E: Todas as asserções são avaliadas como asserções VÁLIDAS, o que resultará na condição de grupo APROVADA.
  • OU: Pelo menos uma das afirmações dentro do grupo deve ser VÁLIDA para que a condição de sucesso do grupo seja atingida.
  • A versão Pro também permite Clonagem de AsserçõesEsta opção permite que os testadores copiem uma asserção para uma etapa de teste diferente, no mesmo projeto ou em um projeto diferente.
  • Desativar/Ativar Asserções: Esta opção permite desativar ou ativar qualquer asserção, agrupada ou não. Se uma asserção estiver desativada, ela ficará acinzentada e, quando um caso de teste for executado, as asserções desativadas não serão executadas.
  • Desagrupar asserções: Qualquer asserção agrupada pode ser desagrupada se os testadores assim o decidirem.

Lista completa de métodos disponíveis em vários tipos de asserção

A tabela abaixo reúne todas as afirmações discutidas acima, agrupadas pela categoria em que aparecem na caixa de diálogo Adicionar Asserção.

Mecanismo de afirmação Descrição
CONTEÚDO DA PROPRIEDADE
contém Pesquisa a existência da string especificada. Ele também oferece suporte a expressões regulares.
Não contém Pesquisa a inexistência da string especificada. Ele também oferece suporte a expressões regulares.
Correspondência XPath Usa a expressão XPath para selecionar o nó de destino e seus valores.
Correspondência XQuery Utiliza uma expressão XQuery para selecionar conteúdo da propriedade de destino.
Conformidade, Status, Padrões
HTTP Baixar todos os recursos Valida o documento HTML após o download e é válido para qualquer propriedade que contenha HTML.
Status HTTP inválido Codes Verifica se a resposta HTML contém um código de status que não está na lista de códigos definidos.
Não é falha do SOAP Verifica se a última mensagem recebida não é uma falha SOAP. É muito óbvio que é aplicável apenas para etapas de teste SOAP.
Conformidade do esquema Verifica se a última mensagem recebida é compatível com a definição de esquema padrão WSDL ou WADL. É válido para etapas de teste SOAP e REST.
Falha de SOAP Verifica se a última mensagem recebida é uma falha SOAP. É o inverso das asserções de falha 'NOT SOAP'.
Resposta SOAP Verifica se a última resposta recebida é uma resposta SOAP válida e é válida somente para etapas de solicitação de teste SOAP.
Status HTTP válido Codes Verifica se a resposta HTML contém um código de status que está na lista de códigos definidos. É o inverso de 'Status HTTP inválido'. CodeAfirmação de s'.
Solicitação de endereçamento WS Verifica se a última solicitação recebida contém cabeçalhos WS-Addressing apropriados.
Resposta de endereçamento WS Verifica se a última resposta recebida contém cabeçalhos WS-Addressing apropriados.
Status de segurança WS Valida se a última mensagem recebida contém cabeçalhos WS-Security válidos e é válida apenas para solicitações SOAP.
Script
Asserção de script Permite que os usuários executem um script personalizado para realizar validações definidas pelo usuário.
SLA
SLA de resposta Valida se o tempo de resposta da última resposta recebida estava dentro do limite definido.
JMS
Status JMS Verifica se a solicitação JMS da Etapa de Teste foi executada com êxito e é válida para Etapas de Teste com um terminal JMS.
Tempo limite do JMS Verifica se a resposta JMS de uma etapa de teste não demorou mais que a duração especificada.
Total
Exposição de informações confidenciais Verifica se a mensagem de resposta não expõe informações confidenciais sobre o sistema de destino. Podemos usar esta afirmação para etapas de teste REST, SOAP e HTTP.

BAIXE O PROJETO SOAPUI CONTENDO AS ASSERÇÕES ACIMA

Erros comuns e solução de problemas

A maioria das falhas de asserção trace voltamos a um pequeno conjunto de erros, portanto, verifique-os antes de reescrever uma expressão.

  • Use o namespace correto. O namespace deve ser o URL onde o serviço web está localizado.
  • Se ocorrer um erro durante o desenvolvimentoping Para executar uma asserção em script, use 'log.info' para imprimir o conteúdo das variáveis.
  • Se você não obteve a saída desejada, verifique se uma entrada válida foi passada na solicitação.

Por exemplo, em um conversor de moedas, se você inserir 'intA' como 'x', que não é um número inteiro, a saída exibirá um código de erro 'SOAP-Client', o que significa que o problema está no parâmetro que está sendo passado do lado do cliente. A solicitação que contém o valor inválido é exibida primeiro.

SoapUI solicitação passando um valor não inteiro inválido para intA

A resposta retorna o código de falha em vez de um resultado, conforme mostrado abaixo.

Código de falha do cliente SOAP retornado em SoapUI editor de resposta

Certifique-se de usar a sintaxe correta ao utilizar asserções XPath e XQuery. Você NÃO deve usar ponto (.) em vez de dois pontos (:) ao usar a asserção acima. A sintaxe é //namespace:Tagname e NÃO //namespace.tagname. Caso contrário, você poderá receber a mensagem "Nenhuma correspondência na resposta atual", mesmo que o nome da tag esteja correto.

Erro "Nenhuma correspondência na resposta atual" causado por sintaxe XPath incorreta.

Perguntas Frequentes

Qualquer número. SoapUI Aplica todas as asserções associadas a uma etapa de teste do sampler após sua execução, e a etapa é marcada como falha na visualização do caso de teste se pelo menos uma dessas asserções falhar.

Ele compara uma mensagem XML com um documento esperado, nó por nó, de modo que campos selecionados podem ser ignorados ou correspondidos de forma flexível, em vez de tratar toda a carga útil como uma única string simples.

Open-source SoapUI Abrange conteúdo da propriedade, conformidade, script, SLA, JMS e segurança. ReadyAPI adiciona grupoping, clonagem, verificações JDBC e ativação ou desativação do controle.

Os modelos de IA leem uma resposta de amostra e sugerem expressões XPath ou XQuery, propõem valores limite e sinalizam campos que mudam a cada execução — reduzindo consideravelmente o trabalho manual de escrita de namespaces e expressões.

Sim. Travas deslizantes portáteis Copilot preenchimento automático GroovyCódigo padrão para as classes Utils e XmlHolder. Sempre execute o script primeiro, pois um script sintaticamente válido reporta "Script Assertion Passed" independentemente da sua comparação.

Sim. Os campos de conteúdo de asserção suportam expansão de propriedades, portanto, o valor esperado pode ser obtido de uma propriedade do projeto ou do caso de teste, em vez de um valor literal, o que permite que uma mesma asserção seja reutilizada em diferentes ambientes.

Uma asserção com falha marca sua etapa de teste como falha na visualização do caso de teste e grava uma entrada correspondente com a palavra FALHOU, contendo os detalhes da falha, no Log de Execução de Teste na parte inferior da janela.

Contém, Não Contém, Correspondência XPath, Correspondência XQuery, SLA de Resposta, Script, códigos de status HTTP válidos e inválidos, Exposição de Informações Sensíveis e Conformidade de Esquema em relação a um WADL ou esquema inferido.

Resuma esta postagem com: