Dezembro 17, 2021

SoapUI Common Assertions

nos dois artigos anteriores, cobrimos os detalhes de afirmações específicas de teste, que eram aplicáveis apenas para um tipo específico de TestCase ou WebService em teste. Todas as afirmações mencionadas no artigo “SoapUI test Specific Assertions: REST Services” são aplicáveis apenas para rest WebServices e todas as afirmações mencionadas no artigo “SoapUI Test Specific Assertions: SOAP Services” são aplicáveis apenas a soap WebServices. Agora, o SoapUI também fornece algumas outras afirmações, que são aplicáveis aos serviços SOAP e REST e são conhecidas como asserções comuns do SoapUI. Neste artigo, entenderemos o uso de todas essas afirmações comuns, cobrindo os detalhes nos seguintes tópicos:

  • quais são as afirmações comuns de conteúdo de propriedade no SoapUI?
    • o que contém asserção no SoapUI?
    • além disso, o que não contém asserção no SoapUI?
    • o que é afirmação XPath no SoapUI?
    • o que é XQuery jogo Assertionin SoapUI?
  • da mesma forma, Quais são as afirmações comuns de Conformidade, Status e padrão no SoapUI?
    • quais são as afirmações de códigos de status HTTP fornecidas pelo SoapUI?
    • além disso, quais são as afirmações de Conformidade do esquema no SoapUI?
  • quais são as afirmações comuns do SLA no SoapUI?

Como todas essas afirmações são aplicáveis tanto para SOAP e REST serviços, estaremos utilizando as seguintes informações para a validação de todas essas afirmações,:

  • O RESTO projeto criado usando URI: “http://bookstore.toolsqa.com/BookStore/v1/Books “e o projeto SOAP criado usando WSDL:” http://bookstore.toolsqa.com/BookStoreService.wsdl ” de acordo com os detalhes mencionados no artigo “SoapUI: trabalhando com projetos.”
  • você pode consultar a saída de amostra do projeto REST do artigo ” asserções específicas do teste SoapUI: serviços REST “e a saída de amostra do projeto SOAP do artigo”asserções específicas do teste SoapUI: serviços SOAP”.

quais são as afirmações comuns de conteúdo de propriedade no SoapUI?

como já sabemos, as afirmações do conteúdo da propriedade validam o conteúdo da resposta recebida. SoapUI fornece várias afirmações de conteúdo que são aplicáveis para solicitações SOAP e REST. Vamos ver nas seções abaixo, como podemos usar essas afirmações?

o que contém asserção no SoapUI?

a afirmação contém pesquisas para a existência de um token de string no valor da propriedade.

considere um cenário que no serviço de Livraria, precisamos verificar se existe um livro com o nome do autor “Richard E. Silverman”?Vamos seguir as etapas mencionadas abaixo para validar a mesma afirmação usando “contém” :

  1. primeiro, navegue até a caixa de diálogo Adicionar afirmação. Depois disso, clique em “Contém declaração” sob a “Propriedade de Conteúdo” declaração de categoria, como destacado abaixo:

Como Adicionar Contém AssertionCommon para tanto SOAP e REST Em SoapUI

  1. em Segundo lugar, clique no botão “Adicionar”, e ele irá exibir o “Contém Declaração de” caixa de diálogo, como mostrado abaixo:

Contém Afirmação caixa de Diálogo em SoapUI

  1. em Terceiro lugar, inserir o nome do autor “Richard E. Silverman” no “Conteúdo” seção. É a string de pesquisa que você deseja validar na resposta do WebService.

  2. em quarto lugar, na caixa de diálogo acima, você verá duas caixas de seleção também. Eles são:

  • ignorar caso: se você selecionar a caixa de seleção Ignorar caso, ele validará a string ignorando o caso. Suponha que você digite “richARD E. SilVerMan” na caixa de texto Conteúdo e marque a caixa de seleção “Ignorar caso em comparação”. Além disso, ele ignorará o caso e verificará apenas o valor da string inserida.

IgnoreCase contém asserção em SoapUI

portanto, a asserção passará, pois os caracteres na string são os mesmos se ignorarmos o caso.

  • expressão Regular: se você deseja validar a saída com base em um RegEx, pode marcar essa caixa de seleção e especificar sua expressão regular na seção Conteúdo. SoapUI segue os padrões de expressão regular especificados pela Oracle, por exemplo, se quisermos validar que a resposta do serviço do livro contém “O’Reilly” na resposta, você pode especificar “.O’Reilly.”como uma RegEx na seção de Conteúdo, como mostrado abaixo:

Expressão Regular em Conter Declaração na SoapUI

Assim, podemos validar a existência de uma cadeia de caracteres na resposta do WebService usando o Contém afirmação, e podemos usar isso para SOAP e REST Webservices.

o que não contém asserção no SoapUI?

em contraste com Contains assertion, o Not Contains assertion procura a inexistência de uma string no valor da propriedade. Além disso, essa afirmação passará se a resposta não contiver o valor especificado.

vamos supor; queremos validar que não há livro com o título “livro Groovy” na resposta do serviço da livraria, podemos usar essa afirmação para validar a resposta da API da Livraria.

vamos seguir as etapas mencionadas abaixo para validar a mesma afirmação usando “não contém” :

  1. em primeiro lugar, navegue para adicionar a caixa de diálogo asserção e clique na asserção” não contém “na categoria asserção ” conteúdo da propriedade”, conforme destacado abaixo:

Como adicionar não contém assertionCommon para tanto SOAP e REST em SoapUI

  1. em Segundo lugar, clique no botão “Adicionar”, e ele irá exibir o “NotContains Afirmação” caixa de diálogo, como mostrado abaixo:

  2. em Terceiro lugar, inserir o nome da cadeia “Groo Livro” no “Conteúdo” seção. É a string de pesquisa que você deseja validar que não existe na resposta do WebService.

Observação: As duas caixas de seleção(Ignorar caso & RegEx) aqui funcionam da mesma maneira, como estavam com a afirmação Contains.

  1. em Quarto lugar, clicando no botão “OK” irá executar a declaração contra o WebService de resposta e vai mostrar o resultado, como mostrado abaixo:

Não Contém Declaração de Configuração em SoapUI

  1. Então, enquanto a seqüência de caracteres não está presente na resposta do serviço de destino, a declaração irá passar.

o que é afirmação de correspondência XPath no SoapUI?

a asserção de correspondência XPath permite que você use uma expressão XPath para selecionar o conteúdo do nó específico da resposta de destino e compará-lo com o valor que você espera.

suponha que você queira validar que o ISBN do primeiro livro presente na resposta da API da Livraria não é nulo. Podemos validar rapidamente o mesmo usando a afirmação XPath.

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a afirmação” XPath Match”:

  1. em primeiro lugar, navegue para adicionar a caixa de diálogo asserção. Depois disso, clique na asserção” XPath Match “na categoria asserção ” conteúdo da propriedade”, conforme destacado abaixo:

Como adicionar XPath Correspondência AssertionCommon para tanto SOAP e REST em SoapUI

  1. em Segundo lugar, clique no botão “Adicionar”, e ele irá exibir o “Xpath Coincidir com a Configuração de” caixa de diálogo, como mostrado abaixo:

Xpath Correspondência de Declaração ConfigurationsCommon para tanto SOAP e REST em SoapUI

Onde,

  • Declarar: ao Clicar neste botão busca e preenche o espaço de nomes automaticamente. Se você estiver confiante de que os detalhes do espaço de nomes, você pode digitá-lo manualmente, caso contrário, apenas clique em “Declarar” botão e ele vai preencher o espaço de nomes de detalhes, como mostrado abaixo:

    • O espaço de nomes para o serviço SOAP será preenchida, como mostrado abaixo:

Declarar o Namespace para o serviço SOAP em Xpath correspondência de declaração em SoapUI

  • Da mesma forma, o espaço de nomes para o RESTO de serviço será preenchida, como mostrado abaixo:

declarando Namespace para o serviço REST na asserção de correspondência Xpath em SoapUI

depois de declarar o namespace, podemos especificar XPATH do nó desejado na expressão seção XPath.

  • Você pode especificar um exemplo de XPATH “//ns1:BooksResult/ns1:Livros/ns1:CustomBookModel/ns1:Isbn” para o serviço SOAP, como mostrado abaixo:

Especificando XPath para um serviço SOAP em SoapUI

da mesma forma, você pode especificar um exemplo de XPATH “//ns1:livros//ns1:e/ns1:isbn” para o RESTO de serviço, como mostrado abaixo:

Especificando XPath para um serviço REST em SoapUI

Nota: o uso de namespace ns1 em ambos os casos. Para acessar os nós, o uso do namespace é obrigatório.

  • Select from current: ao clicar neste botão, ele selecionará automaticamente o valor do nó conforme mencionado acima na seção resultado esperado, que é isbn no caso acima. Além disso, ele selecionará o valor do node isbn como “9781449325862”. Se você não quiser selecionar automaticamente o valor clicando neste botão, você pode até digitar o resultado esperado manualmente também.
  • Teste: ao clicar no botão “Teste”, você pode testar o resultado, se a declaração passa, ele vai mostrar o abaixo sucesso de alerta :

Xpath Correspondência Teste bem-sucedido de alerta de mensagem em SoapUI

Ou se a asserção de falha, ele lança Erro e mostra uma caixa de diálogo, como mostrado abaixo:

XpathMatch de Erro de teste

  • Opcional Caixas de seleção: O Resultado Esperado seção fornece algumas caixas de verificação também, que fornece ajuda na validação da declaração. Vamos entender os detalhes dessas caixas de seleção:
  • caixa de seleção Permitir curinga: se o valor que queremos validar alterações dinamicamente na resposta de destino, podemos usar curingas para validar a resposta. Suponha que, se considerarmos que o isbn do 1º livro sempre termina com “862”, então podemos usar o curinga *”862″, que validará que o isbn sempre termina com “862”. Ele aparecerá na seção de resultados esperados como:

permitir correspondência XPath curinga em SoapUI

  • ignorar a caixa de seleção prefixo do namespace: Se quisermos ignorar o prefixo do namespace ao validar a Resposta, Podemos fazer isso marcando esta caixa de seleção.
  • ignorar comentários XML caixa de seleção: se quisermos ignorar os comentários na Resposta, Podemos conseguir isso selecionando esta caixa de seleção.
  • depois de explorar todas as opções acima, clique no botão Salvar para salvar a afirmação. Ele passará como a afirmação e obterá o Isbn esperado como “9781449325862”. Consequentemente, mostrará a saída da amostra como segue:

Xpath Match AssertionCommon para SOAP e RESToutput View em SoapUI

o que é XQuery Match Assertionin SoapUI?

a correspondência XQuery é bastante semelhante à afirmação XPath, com a única diferença de que ele usa uma expressão XQuery e compará-la com o resultado que você espera.

considere um cenário suponha que você queira validar todos os” títulos ” dos livros disponíveis na resposta, independentemente da ordem em que eles existem. Você pode escrever um XQuery simples e, em seguida, você está pronto para ir.

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a asserção ” XQueryMatch:

  1. primeiro, navegue até a caixa de diálogo Adicionar afirmação. Depois disso, clique em “XQuery Correspondência de declaração” sob a “Propriedade de Conteúdo” declaração de categoria, como destacado abaixo:

Como adicionar XQuery Correspondência AssertionCommon para tanto SOAP e REST em SoapUI

  1. em Segundo lugar, clique no botão “Adicionar”, e ele irá exibir o “XQuery Coincidir com a Configuração de” caixa de diálogo, como mostrado abaixo:

Xquery Corresponder a Declaração de Configuração Comum para ambas as SOAP e REST em SoapUI

Onde,

  • Expressão XQuery: Esta é a expressão XQuery que você precisa especificar para extrair o valor da resposta do WebService. Por exemplo, para obter o Título de todos os livros, podemos especificar a expressão XQuery como segue:
<Result>{for$z in //*:CustomBookModelreturn (<Title>{data($z/*:Title)}</Title>)}</Result>

No trecho de código acima:

  • <Result> é a tag que irá armazenar o resultado com base no XQuery resposta. Além disso, pode ser qualquer tag com base na escolha do Usuário.
  • além disso, estamos iterando a resposta usando o loop for, E $z é qualquer variável, que obterá o valor de <CustomBookModel>.
  • //. especifica a raiz do CustomBookModel, você também pode navegar usando Namespace e, em seguida, especificando o namespace em vez de **”//.”.***
  • além do acima, a função “return” retornará o valor da tag <Title>.
  • além disso, a função “dados” retorna os dados de cada tag de título na tag <CustomBookModel>.

2) Selecione a partir da corrente: Clique no botão para selecionar o valor atual da resposta de acordo com o XQuery mencionado.

3) resultado esperado: depois de clicar no botão” Selecionar da corrente”, ele retornará todos os títulos da resposta do serviço. Você também pode especificar o resultado esperado manualmente.

4) Clicar no botão “Teste” vai mostrar o sucesso de resposta, como mostrado abaixo:

Feliz Xquery correspondência de Declaração em SoapUI

  1. Clicando no botão “OK” para mostrar o válido execução da declaração.

quais são as afirmações comuns de Conformidade, Status e padrão no SoapUI?

como as afirmações comuns fornecidas pelo SoapUI na seção “Conteúdo da propriedade”, ele também fornece algumas afirmações na categoria “conformidade, Status e padrão” asserções, que são comuns para Soap e REST Webservices. Vamos entender os detalhes de todas essas afirmações nas seguintes seções:

quais são as afirmações de códigos de status HTTP fornecidas pelo SoapUI?Como todos sabemos, os códigos de status HTTP representam se uma solicitação HTTP foi concluída ou não. Todos estes códigos de resposta, geralmente, dividida nas seguintes categorias:

1 1xx: Informativo: Esses códigos de status representar o recebimento do pedido e seu processamento.
2 2xx: sucesso: esses códigos de status representam que a ação foi recebida, processada e aceita com sucesso.
3 3xx: redirecionamento: esses códigos de status representam que há mais ações necessárias para concluir a solicitação.
4 4xx: erro do cliente: esses códigos de status representam que a solicitação contém sintaxe incorreta ou há algo errado com nossa solicitação.
5 5xx: erro do servidor: esses códigos de status representam que há um erro do lado do servidor, o que significa que o servidor falhou em atender a uma solicitação válida.

para validação desses códigos de status, o SoapUI fornece algumas afirmações. Vamos entender os detalhes dessas afirmações nas seções a seguir:

o que é uma afirmação válida de códigos de status HTTP no SoapUI?

esta afirmação valida que o código de resposta HTTP retornado pelo Webservice está na lista de códigos HTTP esperados.

considere um cenário que, para a API da Livraria, queremos validar se o código de resposta retornado é sempre 200 ou 201. Podemos usar a afirmação “códigos de status HTTP válidos” para validar o mesmo.

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a afirmação “códigos de status HTTP válidos” :

  1. Navegar para Adicionar Afirmação caixa de diálogo e clique em “Válido Códigos de Status HTTP de declaração” sob a “de Conformidade, o Estado e o Padrão de” declaração de categoria, como destacado abaixo:

Como adicionar Válido código de status HTTP assertionCommon para tanto SOAP e REST em SoapUI

  1. Clique no botão “Adicionar”, e ele irá exibir o “Válido códigos de status HTTP de Declaração de Configuração a caixa de diálogo”, como mostrado abaixo:

configuração válida de asserção de código de status HTTP comum para SOAP e REST em SoapUI

  1. na seção” especificar códigos”, coloque os valores 200, 201. Você pode especificar um único código ou uma lista de códigos separados por vírgulas. Clicar no botão” OK ” validará os códigos de status HTTP em relação à última resposta do serviço.

o que é uma afirmação inválida de códigos de Status HTTP no SoapUI?

em contraste com a afirmação” códigos de status HTTP válidos”, a afirmação” códigos de status HTTP inválidos “valida que a lista” códigos esperados ” não contém o código de status HTTP retornado pelo Webservice.

considere um cenário que, para a API da Livraria, queremos validar se o código de resposta retornado não é 401. Podemos usar a afirmação “códigos de status HTTP inválidos” para validar o mesmo.

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a afirmação ” códigos de status HTTP inválidos:

  1. Navegar para Adicionar Afirmação caixa de diálogo e clique em “Inválido Códigos de Status HTTP de declaração” sob a “de Conformidade, o Estado e o Padrão de” declaração de categoria, como destacado abaixo:

Como especificar Inválido código de status HTTP assertionCommon para tanto SOAP e REST em SoapUI

  1. Clique no botão “Adicionar”, e ele irá exibir o “Inválido códigos de status HTTP de Declaração de Configuração a caixa de diálogo”, como mostrado abaixo:

configurações inválidas de asserção de código de status HTTP comuns para SOAP e REST no SoapUI

  1. na seção” especificar códigos”, coloque os valores 401. Você pode especificar um único código ou uma lista de códigos separados por vírgulas. Clicar no botão” OK ” validará a inexistência de códigos de status HTTP em relação à última resposta do serviço.

Nota: Podemos aplicar essas afirmações aos pontos finais SOAP e REST.

quais são as afirmações de Conformidade do esquema no SoapUI?

além dos códigos de status, no SoapUI, também podemos validar a mensagem de resposta em relação à definição no WSDL(SOAP) ou WADL(REST) do serviço de destino em teste.

considere um cenário que queremos verificar rapidamente se a resposta SOAP que estamos recebendo está em conformidade com o WSDL ou não?

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a asserção ” conformidade do esquema:

  1. Navegar para Adicionar Afirmação caixa de diálogo e clique em “Esquema de Conformidade declaração” sob a “de Conformidade, o Estado e o Padrão de” declaração de categoria, como destacado abaixo:

Como Adicionar Esquema de Conformidade AssertionCommon para tanto SOAP e REST em SoapUI

  1. Clique no botão “Adicionar”, e ele irá exibir o “Esquema de Conformidade Declaração de Configuração a caixa de diálogo”, como mostrado abaixo:

  2. Na Configuração de caixa de diálogo, ele preenche automaticamente o WSDL, que criou o projeto, mas se você quiser especificar alguns outros WSDL, você também pode atualizá-lo. Clique em OK para prosseguir.

visualização de Resposta de asserções de Conformidade de esquema no SoapU

  1. se a resposta for compatível de acordo com o esquema mencionado, você verá a resposta de sucesso, conforme mostrado acima. Você verá o erro sempre que a última resposta não estiver em conformidade com o esquema WSDL.

Nota: Da mesma forma, você pode validar a resposta do serviço REST em relação a um WADL especificado.

quais são as afirmações comuns do SLA no SoapUI?Como todos sabemos, um Acordo de Nível de Serviço(SLA) é geralmente referido como o Acordo entre um provedor de serviços e um cliente. O Acordo pode ser classificado por várias características acordadas, como disponibilidade, qualidade, tempo de resposta, etc. O SoapUI fornece a funcionalidade para validar o tempo de resposta de um serviço específico.

considere um cenário hipotético de que o tempo de resposta acordado para o WebService da livraria é inferior a 4 segundos. Podemos validar o mesmo em SoapUI usando as categorias de asserção” SLA”.

vamos seguir as etapas mencionadas abaixo para validar o mesmo usando a afirmação” Response SLA”:

  1. navegue para adicionar a caixa de diálogo asserção e clique na asserção “Response SLA” na categoria asserção “SLA”, conforme destacado abaixo:

Como adicionar SLA de Resposta assertionCommon para tanto SOAP e REST em SoapUI

  1. Clique no botão “Adicionar”, e ele irá exibir o “SLA de Resposta de Declaração de configuração a caixa de diálogo”, como mostrado abaixo:

Configurar SLA assertionCommon para tanto SOAP e REST em SoapUI_0

  1. Especificar o tempo máximo (em ms), em que o serviço de espera de retorno da resposta. Para o nosso cenário, especificamos 4000 ms. clique no botão OK para adicionar a afirmação. Ele mostrará o resultado do teste, conforme mostrado abaixo:

SLA Declaração resposta visualizar em SoapUI

  1. Como podemos ver na imagem acima, como o tempo de resposta do serviço foi 1374 ms, portanto, foi sob o mencionado SLA de 4000 ms e resultou em um sucesso de declaração.

key Takeaways

  • SoapUI fornece uma ampla gama de afirmações que podem ser aplicadas aos serviços da web SOAP e REST.
  • além disso, poucas das afirmações comuns são conter, não conter, Xpath e XQuery Match, que são usados para a validação da resposta do conteúdo do Webservice.Além disso, outro conjunto de afirmações comuns fornecidas pelo SoapUI é usado para validação dos códigos de status HTTP e do esquema da resposta dos WebServices.
  • além disso, o SoapUI também fornece uma afirmação SLA que pode ser usada para validação do tempo de resposta dos serviços SOAP e REST.

vamos passar para o próximo artigo, onde vamos mergulhar mais fundo para entender como podemos implementar algumas afirmações avançadas usando “asserções de Script” no SoapUI.

Deixe uma resposta

O seu endereço de email não será publicado.