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.
- Os pontos de verificação Contain retornam um status Transmitido quando o conteúdo XML
de resposta contém fragmento XML esperado.
- Os pontos de verificação Equal retornam um status Transmitido quando o conteúdo XML
de resposta corresponde exatamente ao conteúdo XML esperado todo.
Procedimento
- Abra o editor de teste e selecione um elemento de resposta de serviço.
- Na área Detalhes do Elemento de Teste, clique na guia Mensagem
e selecione a visualização em Formulário ou Árvore .
- 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 . 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.
- 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.
- 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.
- Marque a caixa de seleção Nós de Texto XML de Texto para incluir o conteúdo
de elementos de texto na verificação.
- Marque a caixa de seleção Atributos XML de Texto para incluir o conteúdo
de atributos na verificação.
- 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="en-US">A mensagem não pôde ser processada. Isso é provavelmente porque a ação'http://Samples.ICalculator/Add' 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'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.