Incluindo Pontos de Verificação Contain

Com os pontos de verificação Contain, é possível verificar se um ou vários elementos do conteúdo XML retornados por um serviço correspondem ao fragmento XML especificado no ponto de verificação.

Sobre Esta Tarefa

Quando você inclui pontos de verificação, os resultados de uma resposta de serviço são comparados com o conteúdo esperado especificado no elemento de teste do ponto de verificação. Os pontos de verificação Igual ou contêm permitem comparar diretamente o conteúdo XML retornado pelo serviço.

As solicitações de serviço complexo ou pontos de verificação podem ter elementos XML vazios que não são necessários em um script de teste. Ao reproduzir o teste, é possível ignorar esses elementos XML vazios. Em Janela > Preferências > Teste > Editor de teste > Teste de serviço assegure-se de que a caixa de seleção Exibir coluna 'Ignorar, se vazio' no visualizador de árvore XML esteja selecionada. Esta opção exibe uma coluna Ignorar, se vazio na visualização em árvore da solicitação. Em seguida, é possível escolher os elementos XML a serem ignorados.

Procedimento

  1. Abra o editor de teste e selecione um elemento de resposta de serviço.
  2. Na área Detalhes do Elemento de Teste, clique na guia Mensagem e selecione a visualização em Formulário ou Árvore .
  3. Expanda a linha do envelope, clique com o botão direito do mouse no elemento que deseja verificar e, então, clique em Criar Ponto de Verificação de Conteúdo. Essa ação cria um ponto de verificação Contain que inclui o elemento XML da resposta registrada.
    Nota: Também é possível criar um ponto de verificação contain com a resposta de mensagem selecionando a resposta de mensagem na área de janela Testar Conteúdo e clicando em Incluir > Ponto de Verificação Contain. No entanto, o resultado é efetivamente o mesmo que um ponto de verificação Igual, pois o ponto de verificação contain o conteúdo XML todo da resposta de mensagem.
  4. Selecione o ponto de verificação e, na área de janela Detalhes do Elemento de Teste, digite um nome para o ponto de verificação.
  5. Selecione as opções de verificação:
    • Marque a caixa de seleção Testar Utilizando Espaços de Nomes XML para executar a verificação na estrutura qualificada do documento XML, incluindo a marcação do espaço de nomes, em vez do nome simples. Desative essa opção para verificar somente o nome simples do elemento e o valor de retorno final.
    • Selecione a caixa de seleção Nós de Textos XML de Testes para incluir o conteúdo dos elementos de texto na verificação.
    • Selecione a caixa de seleção atributos XML de Testes para incluir o contepudo de atributos de verificação.
  6. Se necessário, selecione a visualização em Formulário, Árvore ou Origem para editar o fragmento XML esperado.

    Para um ponto de verificação Equal, os dados XML esperados contêm o documento XML do elemento de teste de resposta. Se necessário, você poderá editar os dados XML esperados.

    Você pode especificar expressões comuns Java™ padrão na visualização em Árvore. Selecione a coluna Expressão Regular na linha de um valor de atributo ou de texto e digite a expressão regular na coluna Valor. Por exemplo, a seguinte expressão comum procura um endereço de e-mail formatado corretamente: /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/

    Ao usar expressões regulares, o número de nós ou fragmentos XML no ponto de verificação deve corresponder ao número de nós esperados. O ponto de verificação retorna um status Transferido quando todas as expressões regulares no fragmento XML forem correspondidas.

Exemplo

É possível usar um ponto de verificação contain para verificar se a resposta de mensagem contém apenas um elemento específico com um valor específico. Por exemplo, considere a resposta de mensagem a seguir:
<s:Envelope
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope">
  <s:Header>
    <a:Action
     s:mustUnderstand="1">http://www.w3.org/2005/08/addressing/soap/fault</a:Action>
    <a:RelatesTo>uuid:ed9bc447-d739-452f-989d-cd48344d494a</a:RelatesTo>
  </s:Header>
  <s:Body>
    <s:Fault>
      <s:Code>
        <s:Value>s:Sender</s:Value>
        <s:Subcode>
          <s:Value
           xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
        </s:Subcode>
      </s:Code>
      <s:Reason>
        <s:Text
         xml:lang="pt-br">A mensagem não pôde ser processada. Isso é provavelmente porque a ação&apos;http://Samples.ICalculator/Add&apos; está incorreta ou porque a mensagem contém um token de contexto de segurança inválido ou expirado ou porque há uma incompatibilidade entre as ligações. O token de contexto de segurança seria inválido se o serviço tiver interrompido o canal devido a inatividade. Para evitar que o serviço interrompa sessões inativas de maneira prematura, aumente o tempo limite de recebimento no terminal em serviço&apos;s binding.</s:Text>
      </s:Reason>
      <s:Node>http://www.w3.org/1999/xlink</s:Node>
      <s:Role>http://www.w3.org/1999/xlink</s:Role>
      <s:Detail
       xmlns:tns0="http://schemas.com/2003/10/Serialization/"
       xmlns:tns15="http://Samples.Windows"
       tns0:Id="id"
       tns0:Ref="idref">
        <tns15:GetCallerIdentityResponse>
          <tns15:GetCallerIdentityResult>str</tns15:GetCallerIdentityResult>
        </tns15:GetCallerIdentityResponse>
      </s:Detail>
    </s:Fault>
  </s:Body>
</s:Envelope>
Para procurar pelo elemento Subcode, o conteúdo esperado do ponto de ver ificação contém é o fragmento XML a seguir:
<s:Subcode
  xmlns:a="http://www.w3.org/2005/08/addressing"
  xmlns:s="http://www.w3.org/2003/05/soap-envelope">
   <s:Value
   xmlns:a="http://schemas.xmlsoap.org/ws/2005/02/sc">a:BadContextToken</s:Value>
</s:Subcode>
Por padrão, o ponto de verificação contain verifica se um elemento denominado Subcode contém um elemento denominado Value. É possível usar as opções a seguir:
  • Teste usando namespaces XML: Com essa opção, o ponto de verificação verifica se um elemento denominado "http://www.w3.org/2003/05/soap-envelope":SubCode contém um elemento denominado "http://www.w3.org/2003/05/soap-envelope":Value.
  • Teste de nó de texto XML: Com essa opção, o ponto de verificação também verifica se o elemento denominado Value contém o texto a:BadContextToken.
  • Teste de atributos XML: Com essa opção, o ponto de verificação também verificar se os atributos correspondem ao fragmento XML esperado. Neste exemplo, a opção Teste de atributos XML não é necessária, pois o elemento Subcode não possui nenhum atributo.
Para verificar que o elemento Detail retorna adequadamente um valor específico para GetCallerIdentityResult, o conteúdo esperado do ponto de verificação contain é o fragmento XML a seguir:
<s:Detail
 xmlns:a="http://www.w3.org/2005/08/addressing"
 xmlns:s="http://www.w3.org/2003/05/soap-envelope"
 xmlns:tns0="http://schemas.com/2003/10/Serialization/"
 xmlns:tns15="http://Samples.Windows"
 tns0:Id="regular_expression"
 tns0:Ref="idref">
  <tns15:GetCallerIdentityResponse>
    <tns15:GetCallerIdentityResult>IdentityValue</tns15:GetCallerIdentityResult>
  </tns15:GetCallerIdentityResponse>
</s:Detail>
É possível usar as opções a seguir:
  • Teste de nó de texto XML: Com essa opção, o ponto de verificação também verifica se o elemento denominado GetCallerIdentityResult contém o texto IdentityValue.
  • Teste de atributos XML: Com essa opção, o ponto de verificação também verifica se o atributo Id referido pelo tns0:Id possui o valor esperado. É possível verificar a expressão regular para esse valor usando a coluna Expressão Regular na visualização emÁrvore do ponto de verificação. Por exemplo, tns0:Id="[a-zA-Z]" verifica se o valor não contém números.

O que Fazer Depois

Você pode ativar ou desativar cada ponto de verificação clicando nele com o botão direito do mouse no editor de teste e clicando em Ativar ou Desativar.

Feedback