working with soapui properties soapui tutorial 8
Este tutorial é sobre propriedades SoapUI. No último tutorial SoapUI vimos como adicionar propriedades no script Groovy .
Uma propriedade em SABÃO é semelhante a uma variável / parâmetro e neste tutorial falarei sobre como usar um em uma solicitação de serviço e atribuir um valor de resposta a ele por meio de script. Posteriormente, passaremos para a etapa de teste de transferência de propriedade e, em seguida, importar as propriedades.
Este é o 8º tutorial em nosso Treinamento online SoapUI Series.
O que você aprenderá com este tutorial SoapUI?
- Diferentes faces de propriedades
- Integrando Propriedades na Solicitação de Serviço
- Noções básicas sobre o teste de transferência de propriedade
- Carregar propriedades externamente
São doistipos de propriedades em SoapUI:
- Propriedades Padrão : incluído na instalação do SoapUI. Podemos editar algumas das propriedades padrão, mas não todas.
- Propriedades personalizadas / definidas pelo usuário : Estes são definidos por nós em qualquer nível necessário, como global, projeto, suíte de teste, caso de teste ou etapa de teste.
Na maioria das vezes, as propriedades são usadas para armazene e recupere os dados durante a execução dos casos de teste. Internamente, a propriedade armazenará o valor no formato de par de chaves.
Por exemplo , na declaração abaixo, “Local_Property_FromCurrency” é um nome de chave e “USD” refere-se ao valor. Para acessar o valor da propriedade, precisamos usar o nome da propriedade.
testRunner.testCase.testSteps (“Propriedades”). setPropertyValue
(' Local_Property_FromCurrency ', 'USD' )
O que você aprenderá:
- Vários níveis de propriedade no SoapUI Pro
- Mais detalhes sobre propriedades com exemplos
- Usando propriedades em serviços
- Transferência de propriedade
- Conclusão
- Leitura recomendada
Vários níveis de propriedade no SoapUI Pro
Vamos discutir os vários níveis de propriedade no SoapUI Pro. Em SoapUI existem três níveis de propriedades disponíveis.
Nível 1. Projeto e propriedades personalizadas
Neste nível, as propriedades são divididas em duas seções. Eles são propriedades do projeto e propriedades personalizadas. Eles aparecerão na parte inferior do painel do navegador quando clicarmos no nome do Projeto. A seção de propriedades do projeto tem propriedades padrão que são criadas durante a criação do projeto, por exemplo, Nome, Descrição, Arquivo etc.
Para criar nossas próprias propriedades, podemos usar a guia de propriedades personalizadas. Clique no ícone de adição para criar propriedades:

Existem muitas outras opções disponíveis, como remover, mover para cima, mover para baixo e classificar ao lado de adicionar. Qualquer número de propriedades personalizadas pode ser adicionado e usado por qualquer seção (suíte de teste, casos de teste) dentro do projeto.
Nível 2. Conjunto de testes e propriedades personalizadas
Essas propriedades são visíveis apenas no conjunto de testes. Uma suíte de teste pode conter qualquer número de propriedades e elas podem ser acessadas a partir de quaisquer etapas de teste que pertençam a essa suíte de teste.
As propriedades do conjunto de testes aparecem ao clicar no respectivo nome do conjunto de testes no projeto. Para adicionar propriedades personalizadas conforme necessário, clique na guia de propriedades personalizadas e clique no sinal ‘+’ abaixo dela.

Propriedade # 3. Caso de teste e propriedades personalizadas
As propriedades do caso de teste são acessíveis dentro do caso de teste. Eles não são acessíveis por outras etapas de caso de teste ou mesmo suíte de teste no projeto.
onde está a chave de segurança da rede no roteador
Mais detalhes sobre propriedades com exemplos
As propriedades podem armazenar terminais, detalhes de login, informações de cabeçalho e domínio, etc., embora tenhamos discutido sobre como escrever e ler dados de / para as propriedades, ainda vamos discutir este tópico em detalhes com exemplo.
Os níveis de propriedades discutidos acima são usados em scripts para ler os dados.
# 1. Propriedades de leitura:
Veremos como podemos ler propriedades em um script groovy. Para acessar propriedades de diferentes níveis, segue a sintaxe:
Projeto: Sintaxe: $ {# Nome do projeto # Valor}
Exemplo:
def pr ojectPro = testRunner.testC para se.testSuite.project.getPropertyValue
(“Project_Level_Property”)
“Project_Level_Property”)
log.info (projectPro)
Conjunto de testes: Sintaxe: $ {# TestSuite # Value}
Exemplo:
def testP ro = testRunner.testCase.testSuite.getPropertyValue (‘Testsuite_Property’)
log.info (testPro)
Caso de teste: Sintaxe: $ {# TestCase # Value}
Exemplo:
def teste casePro = testRunner.testCase.getPropertyValue (‘Testcase_Property’)
log.info (testcasePro)
Consulte a captura de tela abaixo:

# 2. Escrevendo em propriedades:
Para fazer isso, temos que usar setPropertyValue método.
Sintaxe: setPropertyValue (“nome da propriedade”, “valor”)
Se atribuirmos valores a propriedades desconhecidas, o SoapUI criará essas propriedades novamente. Para propriedades existentes receberá os valores durante a atribuição.
# 3. Removendo propriedades por meio de script:
Isso pode ser feito clicando com o botão direito do mouse no nome da propriedade no painel de propriedades. Em seguida, clique na opção Remover do menu de contexto.
Para fazer isso usando um script para remover as propriedades personalizadas, use as seguintes instruções para os níveis de projeto, suíte de teste ou caso de teste, respectivamente:
testRunner.testCase.testSuite.project.removeProperty (“Testcase_Property”);
testRunner.testCase.testSuite.removeProperty (“Testcase_Property”);
testRunner.testCase.removeProperty (“Testcase_Property”);
Os scripts acima não são ideais quando temos várias propriedades em cada nível, pois essas etapas devem ser repetidas várias vezes para cada propriedade. Uma alternativa é iterar as propriedades por meio do script conforme abaixo:
testRunner.testCase.properties.each
{
chave, valor ->
testRunner.testCase.removeProperty (chave)
}
O script acima irá iterar até a última propriedade disponível no caso de teste. “ Chave ”Refere-se ao nome da propriedade onde como“ valor ”Denota o valor real da propriedade. Podemos modificar o script acima para remover a lista de propriedades em massa presente em vários níveis.
# 4. Adicionar propriedade:
AddProperty método é usado para este cuja sintaxe é:
addProperty (nome da propriedade);
Isso pode ser adaptado para cada nível conforme abaixo:
testRunner.testCase.testSuite.project.addProperty (‘ProjectProperty1’)
testRunner.testCase.testSuite.addProperty (‘TestsuiteProperty1’)
testRunner.testCase.addProperty (‘TestcaseProperty1’)
Depois de executar os scripts acima, clique no nome do projeto / suíte de teste / caso de teste. Verifique a guia de propriedades personalizadas no painel de propriedades e a propriedade criada aparece aqui. Veja abaixo para referência:

Usando propriedades em serviços
Nesta seção, aprenderemos como podemos usar as propriedades em serviços e usaremos os scripts acima para adicionar, atribuir e recuperar dados de propriedade com o serviço da web do conversor de moeda.
Integrando Propriedades no Serviço:
Vamos começar a adicionar etapas de teste conforme mostrado na captura de tela abaixo.

Na captura de tela acima, a etapa de teste AddProperties_Script contém o seguinte script que adiciona duas propriedades, como Property_FromCurrency e Property_ToCurrency .
// Adicionar Propriedades
testRunner.testCase.addProperty (‘Property_FromCurrency’)
testRunner.testCase.addProperty (‘Property_ToCurrency’)
// Atribuir valores às propriedades
testRunner.testCase.setPropertyValue (‘Property_FromCurrency’, ’USD’)
testRunner.testCase.setPropertyValue (‘Property_ToCurrency’, ‘INR’)
No ServiceRequest_CurrencyConverter_1 contém a solicitação com parâmetros de entrada conforme visto abaixo:

Os valores atribuídos nas propriedades serão transferidos para esses parâmetros durante a execução. Após esta etapa de teste, GetResponseData_Script A etapa de teste possui o script que obterá o valor da resposta e mostrará o resultado no log. Aqui está o script.
// Obtenha dados de resposta do serviço
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ’)
def parsedResponse = new XmlSlurper (). parseText (resposta)
String convertedValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (convertedValue)
Quando todas as etapas estiverem prontas, clique duas vezes no nome do conjunto de testes e execute o conjunto de testes. Em seguida, clique duas vezes no ServiceRequest_CurrencyConverter_1 e veja a seção de resposta.
Isso é o que encontraríamos:
- A resposta será recebida
- Abra o log do script para ver os dados resultantes que são convertidos com base nos parâmetros de entrada
É assim que podemos passar os parâmetros para a solicitação de entrada e obter a resposta por meio do script usando propriedades. Indo além, também podemos passar o valor da resposta para outro serviço como entrada.
Transferência de propriedade
A etapa de teste de transferência de propriedade transfere os dados de propriedade de uma propriedade para outra durante a execução. Vejamos resumidamente como podemos criar uma etapa de teste de transferência de propriedade e como o valor da propriedade é transferido entre duas propriedades.
- Clique com o botão direito no nome do caso de teste no conjunto de testes
- Clique Adicionar Etapa e então clique Propriedades opção do menu de contexto
- Repita as etapas acima para criar a segunda propriedade. Veja a imagem abaixo:

- Agora temos que adicionar a etapa de teste de transferência de propriedade.
- Clique com o botão direito no nome do caso de teste e clique na opção de transferência de propriedade no menu de contexto
- Digite o nome de transferência da propriedade desejada e clique em OK
- Clique em Adicionar, ou seja, sinal de mais na barra de ferramentas de transferência de propriedade
- Especifique o nome da transferência e clique no botão OK
- No painel do lado direito, há duas seções disponíveis: Origem e Destino.
Escolha a fonte como Propriedades e propriedade como Property_Zipcode . Faça o mesmo na seção de destino. Escolher Target_Property na lista suspensa de propriedades. Quando ícone de execução, o valor da propriedade será transferido de Property_Zipcode para Target_Property .
(Clique na imagem para ampliá-la)

Veja o valor transferido conforme mostrado na imagem abaixo.

Observação: A propriedade Source deve conter o valor padrão.
Além disso, muitas são as opções disponíveis na tela de transferência de propriedade.
- Falha na transferência em caso de erro
- Transferir Conteúdo de Texto
- Transferir para todos
- Autorizar valor (es) transferido (s)
- Definir nulo na fonte ausente
- Ignorar valores vazios / ausentes
- Use XQuery
- Transferir nós filhos
Carregar propriedades de fonte externa:
Para carregar propriedades de uma fonte externa, siga estas etapas.
- Adicionar etapa de teste de propriedades no caso de teste
- Insira o nome da etapa da propriedade e clique em OK
- No painel de propriedades sob o painel de navegação, clique na guia Propriedades personalizadas
- Clique
ícone para carregar as propriedades do arquivo de propriedade externo
Observação: O arquivo de propriedade deve ser salvo ou estar presente em seu computador. Para salvar as propriedades, clique no ícone.
Em seguida, vá para o respectivo drive e escolha a propriedade conforme mostrado abaixo:

Em OK, podemos ver as propriedades carregadas e seus valores na guia Propriedades Customizadas.
Conclusão
Bem, são propriedades para nós!
Cada propriedade de nível tem suas próprias características. Durante sua prática SoapUI, tente incluir propriedades sempre que possível com a etapa de teste de script groovy para adicionar, remover, atribuir e recuperar dados de propriedade. Isso não é apenas útil quando você pratica com os serviços, mas também é crítico para o teste de aplicativos reais, pois esta técnica é muito útil para afirme seus casos de teste .
Transferir propriedades entre as etapas de teste é mais fácil do que escrever scripts repetidos para criar novos. SoapUI também oferece o recurso maravilhoso para importar e exportar propriedades. Este recurso será útil quando estivermos usando propriedades comuns, como detalhes de login, detalhes da sessão, etc., para vários projetos. Dessa forma, não precisamos criar as mesmas propriedades repetidamente para vários projetos. Podemos simplesmente alterar o valor da propriedade em relação às propriedades com base nos projetos.
Próximo tutorial # 9 : No próximo tutorial SoapUI, aprenderemos Declarações condicionais em Groovy como:
- Declarações Booleanas
- Declarações de Iteração
- Matrizes em Groovy
Por hoje é isso. Continue lendo e nos veremos no próximo tutorial. Por favor, compartilhe suas perguntas, comentários e experiências abaixo.
Leitura recomendada
- Como usar propriedades em SoapUI Groovy Script - SoapUI Tutorial # 7
- Como realizar testes orientados a dados no SoapUI Pro - Tutorial # 14 do SoapUI
- Mais de 15 tutoriais SoapUI: a melhor ferramenta de teste de API de serviços da Web
- Como escrever um script Groovy básico em SoapUI - Tutorial SoapUi # 6
- Tutoriais detalhados do Eclipse para iniciantes
- 7 recursos importantes do SoapUI e SoapUI Pro - Tutorial 2
- Compreendendo as afirmações no SoapUI - Tutorial # 5 do SoapUI
- 4 características importantes do SoapUI Pro para Pro Audience - SoapUI Tutorial # 12
ícone para carregar as propriedades do arquivo de propriedade externo