SlideShare uma empresa Scribd logo
Automação de Testes com
SoapUI
Fundamentos
Mateus Caletti
linkedin.com/in/mateuscaletti/
github.com/mateuscaletti
slideshare.net/mateuscaletti
Criando um projeto...
O projeto é onde você organizará os
seus testes.
Passo-a-passo:
• Tenha a URL que contenha o WSDL que deseja testar
• Vá em “File -> New SOAP Project”
• Insira um nome para o projeto e a URL com o WSDL
do serviço
• Pronto, deverá aparecer algo como:
Criando uma Suíte de Teste...
A Suíte de Teste (TestSuite) é um
conjunto de cenários de teste.
Passo-a-passo:
• Clique com botão direito sobre o nome do seu
projeto anteriormente criado e vá em “New
TestSuite”
• Nomeie o seu TestSuite
• Uma janela com o seu TestSuite deverá aparecer na
tela:
Criando um cenário de teste...
O cenário de teste (TestCase) é onde
você configurará os passos necessários
para a execução do seu teste.
Passo-a-passo:
• Clique com botão direito sobre o nome do seu
TestSuite e vá em “New TestCase”
• Nomeie o seu TestCase
• Uma janela com o seu TestCase deverá ser aberta:
Criando os passos dos seu teste...
Todo TestCase requer que sejam incluídos os
passos (TestStep) para sua execução. São as
tarefas automatizadas para que o teste seja
concluído.
Passo-a-passo:
• Expanda a árvore do seu TestCase e clique com botão direito sobre
“Test Steps” e vá em “Add Step”
• Uma lista de opções será apresentada. Cada qual representa um
tipo de tarefa que pode ser adicionada.
• Para este exemplo, iremos incluir uma atividade mais básica em
teste de serviço que é o “SOAP Request”
• Nomeie a sua atividade
• Escolha a operação do serviço que você importou lá no início
deste tutorial e clique em “OK”
• Aparecerá uma janela para confirmar a criação da tarefa, clique
em “OK” novamente.
... continua ...
Criando os passos dos seu teste...
Todo TestCase requer que sejam incluídos
os passos (TestStep) para sua execução.
São as tarefas automatizadas para que o
teste seja concluído.
Passo-a-passo:
• Agora você precisará configurar o request do seu
serviço Soap
• Você poderá testar normalmente a requisição até que
ela esteja OK
• Pronto! Seu TestStep está criado!
Obs.: Mais adiante, iremos tratar dos principais tipos de TestSteps!
... continua ...
Criando suas asserções...
Para automatizar um teste, você precisará estabelecer quais
são as condições para que o teste conclua com sucesso ou
falha. Neste caso, você irá precisar trabalhar com
“Assertions”, que são condições que você entende que
devem ser verdadeiras, caso contrário, o teste estará
falhando.
Passo-a-passo:
• Na janela do seu “TestStep”, haverá um menu na barra inferior chamado
“Assertions”, clique sobre este botão
• Uma lista de “Assertions” será aberta. Por padrão, em um “SOAP Request”, estará
criada um “SOAP Request – VALID”
• Vamos criar um novo... Clique no sinal de + na barra superior desta lista
• Uma janela com várias opções será aberta. Na versão gratuita do SoapUI, apenas
algumas opções estão disponíveis. Vamos utilizar uma bem simples em “Property
Content -> Not Contains” e clique em “Add”
• Adicione a trecho do retorno que você deseja que não contenha no retorno.
• Por que usaremos este? Como nosso objetivo do teste é validar o “Cenário
Positivo”, isto é, que eu obtenha o valor da série indicada. Então, quando o
serviço retorna erro, ele apresenta algo como a imagem ao lado. Nossa condição
é que “Não contenha” a string “<faultstring>”. Caso tenha, o teste falhará.
... continua ...
Criando suas asserções...
Para automatizar um teste, você precisará
estabelecer quais são as condições para
que o teste conclua com sucesso ou falha.
Neste caso, você irá precisar trabalhar
com “Assertions”, que são condições que
você entende que devem ser verdadeiras,
caso contrário, o teste estará falhando.
Passo-a-passo:
• Instantaneamente, o teste falhará, pois a string
“<faultstring>” estará contida no retorno (response),
pois incluímos, nos parâmetros de entrada, um código
que não existe no banco de dados do BCB.
• Para que o teste passe, vamos alterar o parâmetro de
entrada que a gente sabe que existe.
Vamos rodar o teste...
Podemos rodar o teste conforme o escopo.
Escopo: TestStep
Podemos rodar apenas uma tarefa para validá-la. Para isso, basta dar
duplo-clique sobre o TestStep desejado e clicar no botão “Play”.
Escopo: TestCase
Podemos rodar o TestCase inteiro. Neste caso, ele irá rodar todos
os TestSteps na sequência em que você configurou. Apresentará
uma tela contendo o resumo e o log da execução.
Para isso, basta dar duplo-clique sobre o TestStep desejado e
clicar no botão “Play”.
Escopo: TestSuite
Podemos rodar o TestSuite inteiro. Neste caso, ele irá rodar todos
os TestCase na sequência em que você configurou. Apresentará
uma tela contendo o resumo e o log da execução.
Para isso, basta dar duplo-clique sobre o TestSuite desejado e
clicar no botão “Play”.
Automação de Testes com
SoapUI
Tópicos Avançados:
Conhecendo as Custom Properties
Trabalhando com Propriedades de Ambiente
(Custom Properties)
Propriedades Personalizadas
Existem três tipos de propriedades
personalizadas que podem ser
configuradas.
1. No nível do “Projeto”
2. No nível do “TestSuite”
3. No nível do “TestCase”
Para visualizá-los e manipulá-las, você
deve selecionar o nível desejado. Na
parte inferior esquerdo, uma aba
“Custom Properties” será apresentada.
... continua ...
(Custom Properties)
Propriedades Personalizadas
Mas para que serve?
Podem ser utilizadas para a definição de
dados que poderão ser acessadas nos
TestSteps que estiverem dentro do seu
escopo.
Elucide um exemplo, por favor!
Na versão gratuita, não há funcionalidade
que permita definirmos os “Ambientes” em
que será rodado os testes, isto é, caso eu
precise rodar o teste no ambiente de
“Teste” e, posteriormente, no ambiente de
“Homologação”. Uma forma de contornar
isso é utilizando as propriedades.
A seguir iremos apresentar como...
... continua ...
(Custom Properties)
Propriedades Personalizadas
Mãos na massa...
1. No nível do Projeto, iremos definir a variável
“urlWsdl” conforme a imagem ao lado;
2. Iremos criar um TestStep de “SOAP Request” para
exemplificar;
3. No campo em que está o “endpoint”, iremos
substituir a URL pela tag “${#Project#urlWsdl}”
4. Aperte no play e verá que ele utilizará o valor que
estiver definido na variável. Caso seja necessário
alternar entre ambientes, basta alterar esta variável.
Outros escopos...
Você poderá utilizar as propriedades personalizadas nos
escopos mencionados, bastando referenciá-las da seguinte
maneira:
1. Projeto = ${#Project#nomeDaPropriedade}
2. TestSuite = ${#TestSuite#nomeDaPropriedade}
3. TestCase = ${#TestCase#nomeDaPropriedade}
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
Trabalhando com Properties
Properties
Trabalhando com Propriedades
Este TestStep serve para carregar
variáveis de propriedades que
poderão ser consumidas por outros
TestStep subsequentes.
Existem duas formas:
1. Incluir variáveis manualmente e
mantendo os valores por dentro
da interface do SoapUI
2. Informar um arquivo no formato
.properties para carregar as
variáveis e seus valores
... continua ...
Properties
Trabalhando com Propriedades
Manualmente
1. Clique sobre + na barra superior da
janela para adicionar uma nova
variável
2. Adicione o nome da variável e seu
respectivo valor
3. Repita o processo para tantas
variáveis desejar
4. Para editar os valores, basta dar
duplo-clique sobre o campo
desejado
... continua ...
Properties
Trabalhando com Propriedades
Via arquivo .properties
1. Crie um diretório chamado “resources” dentro
do diretório em que está salvo o seu projeto
2. Crie um arquivo no formato .properties no
diretório recém criado
3. Vamos adicionar um novo TestStep chamado
“PropertiesArquivo”
4. Ao lado do campo “Load from:”, clique no ícone
para selecionar o arquivo
5. Selecione o arquivo criado
6. O SoapUI irá perguntar se deseja criar as
variáveis. Clique em “Sim”
7. Pronto! As variáveis foram criadas e seus
valores serão recarregadas sempre que rodar
seu teste.
... continua ...
Properties
Trabalhando com Propriedades
Via arquivo .properties
1. Mas temos um problema! Caso você
precise movimentar o diretório do seu
projeto, os apontamentos do arquivo
.properties se perderão.
2. Para resolver isso, configure o “Resource
Root” para ser o diretório do seu projeto.
3. Agora retorne para o TestStep
“PropertiesArquivo” e coloque:
“resources/Soap.properties”
4. Rode novamente o seu teste
5. Pronto! Agora o caminho do properties
será relativo ao diretório do seu projeto.
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
Transferindo dados para dentro das propriedades
Property Transfer
Transferindo dados para dentro das propriedades
Agora já sabemos trabalhar com o
TestStep de propriedades, podemos
realizar alguns usos deste recurso.
Digamos que queremos transferir um
valor retornado de um TestStep
“SOAP Request” para ser utilizado
mais adiante.
Para isso, iremos utilizar o TestStep
de Property Transfer.
Property Transfer
Transferindo dados para dentro das propriedades
No nosso exemplo, iremos realizar uma
requisição SOAP para descobrir a cotação de
uma moeda em um determinado dia e
queremos que este valor seja transferido para
uma propriedade.
Para isso, siga o passo-a-passo:
1. Antes de tudo, crie uma variável em algum
TestStep para que você possa ter para onde
transferir o valor neste exemplo
2. Adicione o TestStep “Property Transfer”
3. Nomeie ele para um nome que faça sentido
no teste
4. Uma janela de configuração será
apresentada
... continua ...
Property Transfer
Transferindo dados para dentro das propriedades
5. Para nosso exemplo, criamos um TestStep
chamado “CotacaoResult”
6. Adicione uma nova instrução de transferência
7. Nomeie de uma maneira que faça sentido no
teste.
8. Para configurar, iremos estabelecer dois pontos:
• Origem (source): para a origem, iremos informar o TestStep
“SOAP Request” e sua “Property” chamada “Response”. Isso
indicará ao SoapUI para que trabalhemos com o retorno da
chamada do serviço. Iremos aplicar um comando XPath para
extrair a informação desejada
• Destino (target): para o destino, iremos informar o TestStep
“CotacaoResult” e sua “Property” chamada “resultCotacao”,
conforme variável criada anteriormente.
9. Podemos clicar em play para verificar qual valor
foi transferido
10. Pronto! Seu comando de transferência foi
realizado!
... continua ...
Property Transfer
Transferindo dados para dentro das propriedades
É muito importante o conhecimento
em XPath para o uso deste TestStep.
Com ele, conseguimos obter
resultados incríveis com pouca linha
de comando.
No nosso exemplo, apesar do retorno
da requisição SOAP ter uma alta
complexidade, com apenas um
comando, obtivemos exatamente o
valor desejado.
... continua ...
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
Trabalhando com HTTP Request
HTTP Request
Trabalhando com HTTP Requests
Com o TestStep “HTTP Request” é possível
realizar uma chamada à uma URL na Web. É
bastante útil para acionar API’s em Rest ou
simplesmente verificar o resultado em uma
determinar página.
O SoapUI permite a execução de comandos
GET, POST, PUT, DELETE, ...
Vamos adicionar então...
1. Adicione o TestStep “HTTP Request”
2. Nomeie de uma forma que faça sentido
no seu teste
3. Informe o endpoint que deseja acessar,
bem como forneça os parâmetros
necessários e escolha o método de
requisição
... continua ...
HTTP Request
Trabalhando com HTTP Requests
4. Clique em play e verifique o
resultado
5. Agora podemos inserir “Assertions”
para garantir que o retorno esteja
OK
6. Dado que o retorno está numa
estrutura JSON, iremos aplicar um
assertion do tipo “JsonPath Match”
7. Iremos configurar para que seja
testado se o status seja “ok”
8. Pronto! Veremos que o teste passou!
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
Trabalhando com JDBC Request
JDBC Request
Trabalhando com JDBC Requests
O TestStep “JDBC Request” permitirá
que você realize acessos diretos ao seu
banco de dados, para a execução de
consultas.
Para isso, é necessário baixar os drivers
de conexão do seu banco de dados e
configurá-los no SoapUI.
1. Acesse e baixe
https://www.soapui.org/jdbc/refere
nce/jdbc-drivers.html
2. Coloque o arquivo .jar dentro do
diretório binext da sua instalação
do SoapUI
... continua ...
JDBC Request
Trabalhando com JDBC Requests
Posto que configuração do seu JDBC
Driver esteja feita, iremos adicionar o
TestStep e testá-lo.
1. Adicione o TestStep “JDBC Request”
2. Você deverá informar o “Driver” e a
“Connection String”
3. Clique em “TestConnection” para
verificar se a conexão está
corretamente configurada
4. Informe uma “SQL Query” para ser
realizada no banco de dados
5. Visualize o retorno no lado esquerdo
6. Pronto! Você conseguiu acessar os
dados de banco de dados! ... continua ...
JDBC Request
Trabalhando com JDBC Requests
Os drivers e as Connection Strings
podem ser consultadas no site
https://www.soapui.org/jdbc/referen
ce/jdbc-drivers.html
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
Trabalhando com SOAP Request
SOAP Request
Trabalhando com SOAP Requests
O TestStep “SOAP Request” permitirá
que você realize testes funcionais em
chamadas de webservices expostos
em SOAP.
Conforme explicado no início, você
precisará da URL contendo o WSDL
de seu serviço.
... continua ...
SOAP Request
Trabalhando com SOAP Requests
Primeiramente, você deverá garantir
que o seu serviço já não se encontra
carregado em seu Projeto SoapUI.
Para isso, você poderá navegar nos
itens com setas duplas invertidas.
Caso haja algum cadastrado, dê um
duplo-clique e verifique o endereço
do serviço.
... continua ...
SOAP Request
Trabalhando com SOAP Requests
Caso não exista, você poderá
facilmente adicionar seguindo os
passos abaixo:
1. Clique com botão direito sobre o
nome do seu Projeto SoapUi
2. Vá em “Add WSDL”, adicione a
URL em “WSDL Location” e clique
em “OK”
3. Pronto! Seu serviço está pronto
para ser chamado dentro dos
testes.
... continua ...
SOAP Request
Trabalhando com SOAP Requests
Uma vez adicionado, você poderá, em
qualquer ponto e suíte de teste do seu
Projeto SoapUI, fazer referência às
definições do webservice recém carregado.
Agora fica mais fácil:
1. Basta clicar com botão direito sobre
“Test Steps”, ir em “Add Step” e clicar
sobre “SOAP Request”
2. Dê um nome que faça sentido
3. Escolha o serviço e operação desejada
4. Prepare o payload desejado, podendo
fazer referências às propriedades e
variáveis de ambiente
5. Pronto!
Automação de Testes com
SoapUI
Tópicos Avançados:
Explorando os diferentes tipos de TestStep
O poder do Groovy
Groovy Script
O poder do Groovy
O “TestStep” de Groovy Script
permite que você programe scripts
para realizar validações e
transformações em seus testes.
Mas vamos iniciar e, ao longo do
caminho, explicamos melhor...
1. Clique com botão direito sobre
“Test Steps”, vá em “Add Step” e
clique em “Groovy Script”
2. Dê um nome que faça sentido
3. Uma janela, em branco, será
aberta...
... continua ...
Groovy Script
O poder do Groovy
Nesta janela é em que você poderá
escrever seus scripts.
Mas o que é possível fazer?
O Groovy é uma poderosa ferramenta
que dá a liberdade de interagir com a
sua própria Suite, realizando ações
que não vem embarcadas no SoapUI.
Além disso, permite a importação de
classes externas Java que podem ser
utilizadas para apoiar.
... continua ...
Groovy Script
O poder do Groovy
Mãos à obra!

Mais conteúdo relacionado

Semelhante a Automação de Testes com SoapUI v1 (20)

PPTX
Automação de Teste para REST, Web e Mobile
Elias Nogueira
 
PPT
Reusabilidade na Utilização de Frameworks Automatizados
Webcasts developerWorks Brasil
 
PDF
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
Júlio de Lima
 
PDF
Automação de testes funcionais com selenium webdriver
Qualister
 
PDF
Testando API Rest com Insomnia Core
Pedro Fernandes Vieira
 
PDF
Automação de testes de API utilizando Postman
Lucas Amaral
 
PDF
GOTEST-Aula3-Automacao-Processo-Testes.pdf
RodolphoCesar2
 
PDF
Automação de Testes
Gabriel Garcêz
 
PDF
Metralhando sua API
minastestingconference
 
PPTX
#Moving br workshop
Fernanda Ferreira
 
PPTX
Tutorial - Visão sobre Automação de Testes com CasperJS
Frederico Allan
 
PDF
Tutorial visão automação de testes e casper js
4ALL Tests
 
PPTX
SoapUI & Jmeter Basics Web service testing
Ricardo Moura
 
PDF
MTC2015-Automatizar_testes_efetivos
Taise Dias da Silva
 
PDF
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
minastestingconference
 
PPTX
Março 2016 - Como testar sua API Rest
Grupo de Testes Carioca
 
PPTX
Palestra de como testar sua API Rest no Grupo de Teste Carioca
Frederico Augusto Do Carmo Moreira
 
PPT
Boas práticas de Automação de Testes
Camilo Ribeiro
 
PPTX
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Demetrius Nunes
 
PPTX
Peguei um freela e agora?
Matheus Costa Vieira
 
Automação de Teste para REST, Web e Mobile
Elias Nogueira
 
Reusabilidade na Utilização de Frameworks Automatizados
Webcasts developerWorks Brasil
 
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
Júlio de Lima
 
Automação de testes funcionais com selenium webdriver
Qualister
 
Testando API Rest com Insomnia Core
Pedro Fernandes Vieira
 
Automação de testes de API utilizando Postman
Lucas Amaral
 
GOTEST-Aula3-Automacao-Processo-Testes.pdf
RodolphoCesar2
 
Automação de Testes
Gabriel Garcêz
 
Metralhando sua API
minastestingconference
 
#Moving br workshop
Fernanda Ferreira
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Frederico Allan
 
Tutorial visão automação de testes e casper js
4ALL Tests
 
SoapUI & Jmeter Basics Web service testing
Ricardo Moura
 
MTC2015-Automatizar_testes_efetivos
Taise Dias da Silva
 
3 noções básicas para automação de testes efetivos - Taíse Dias da Silva
minastestingconference
 
Março 2016 - Como testar sua API Rest
Grupo de Testes Carioca
 
Palestra de como testar sua API Rest no Grupo de Teste Carioca
Frederico Augusto Do Carmo Moreira
 
Boas práticas de Automação de Testes
Camilo Ribeiro
 
Desenvolvimento Ágil de Software com Qualidade Intrínseca
Demetrius Nunes
 
Peguei um freela e agora?
Matheus Costa Vieira
 

Automação de Testes com SoapUI v1

  • 1. Automação de Testes com SoapUI Fundamentos Mateus Caletti linkedin.com/in/mateuscaletti/ github.com/mateuscaletti slideshare.net/mateuscaletti
  • 2. Criando um projeto... O projeto é onde você organizará os seus testes. Passo-a-passo: • Tenha a URL que contenha o WSDL que deseja testar • Vá em “File -> New SOAP Project” • Insira um nome para o projeto e a URL com o WSDL do serviço • Pronto, deverá aparecer algo como:
  • 3. Criando uma Suíte de Teste... A Suíte de Teste (TestSuite) é um conjunto de cenários de teste. Passo-a-passo: • Clique com botão direito sobre o nome do seu projeto anteriormente criado e vá em “New TestSuite” • Nomeie o seu TestSuite • Uma janela com o seu TestSuite deverá aparecer na tela:
  • 4. Criando um cenário de teste... O cenário de teste (TestCase) é onde você configurará os passos necessários para a execução do seu teste. Passo-a-passo: • Clique com botão direito sobre o nome do seu TestSuite e vá em “New TestCase” • Nomeie o seu TestCase • Uma janela com o seu TestCase deverá ser aberta:
  • 5. Criando os passos dos seu teste... Todo TestCase requer que sejam incluídos os passos (TestStep) para sua execução. São as tarefas automatizadas para que o teste seja concluído. Passo-a-passo: • Expanda a árvore do seu TestCase e clique com botão direito sobre “Test Steps” e vá em “Add Step” • Uma lista de opções será apresentada. Cada qual representa um tipo de tarefa que pode ser adicionada. • Para este exemplo, iremos incluir uma atividade mais básica em teste de serviço que é o “SOAP Request” • Nomeie a sua atividade • Escolha a operação do serviço que você importou lá no início deste tutorial e clique em “OK” • Aparecerá uma janela para confirmar a criação da tarefa, clique em “OK” novamente. ... continua ...
  • 6. Criando os passos dos seu teste... Todo TestCase requer que sejam incluídos os passos (TestStep) para sua execução. São as tarefas automatizadas para que o teste seja concluído. Passo-a-passo: • Agora você precisará configurar o request do seu serviço Soap • Você poderá testar normalmente a requisição até que ela esteja OK • Pronto! Seu TestStep está criado! Obs.: Mais adiante, iremos tratar dos principais tipos de TestSteps! ... continua ...
  • 7. Criando suas asserções... Para automatizar um teste, você precisará estabelecer quais são as condições para que o teste conclua com sucesso ou falha. Neste caso, você irá precisar trabalhar com “Assertions”, que são condições que você entende que devem ser verdadeiras, caso contrário, o teste estará falhando. Passo-a-passo: • Na janela do seu “TestStep”, haverá um menu na barra inferior chamado “Assertions”, clique sobre este botão • Uma lista de “Assertions” será aberta. Por padrão, em um “SOAP Request”, estará criada um “SOAP Request – VALID” • Vamos criar um novo... Clique no sinal de + na barra superior desta lista • Uma janela com várias opções será aberta. Na versão gratuita do SoapUI, apenas algumas opções estão disponíveis. Vamos utilizar uma bem simples em “Property Content -> Not Contains” e clique em “Add” • Adicione a trecho do retorno que você deseja que não contenha no retorno. • Por que usaremos este? Como nosso objetivo do teste é validar o “Cenário Positivo”, isto é, que eu obtenha o valor da série indicada. Então, quando o serviço retorna erro, ele apresenta algo como a imagem ao lado. Nossa condição é que “Não contenha” a string “<faultstring>”. Caso tenha, o teste falhará. ... continua ...
  • 8. Criando suas asserções... Para automatizar um teste, você precisará estabelecer quais são as condições para que o teste conclua com sucesso ou falha. Neste caso, você irá precisar trabalhar com “Assertions”, que são condições que você entende que devem ser verdadeiras, caso contrário, o teste estará falhando. Passo-a-passo: • Instantaneamente, o teste falhará, pois a string “<faultstring>” estará contida no retorno (response), pois incluímos, nos parâmetros de entrada, um código que não existe no banco de dados do BCB. • Para que o teste passe, vamos alterar o parâmetro de entrada que a gente sabe que existe.
  • 9. Vamos rodar o teste... Podemos rodar o teste conforme o escopo. Escopo: TestStep Podemos rodar apenas uma tarefa para validá-la. Para isso, basta dar duplo-clique sobre o TestStep desejado e clicar no botão “Play”. Escopo: TestCase Podemos rodar o TestCase inteiro. Neste caso, ele irá rodar todos os TestSteps na sequência em que você configurou. Apresentará uma tela contendo o resumo e o log da execução. Para isso, basta dar duplo-clique sobre o TestStep desejado e clicar no botão “Play”. Escopo: TestSuite Podemos rodar o TestSuite inteiro. Neste caso, ele irá rodar todos os TestCase na sequência em que você configurou. Apresentará uma tela contendo o resumo e o log da execução. Para isso, basta dar duplo-clique sobre o TestSuite desejado e clicar no botão “Play”.
  • 10. Automação de Testes com SoapUI Tópicos Avançados: Conhecendo as Custom Properties Trabalhando com Propriedades de Ambiente
  • 11. (Custom Properties) Propriedades Personalizadas Existem três tipos de propriedades personalizadas que podem ser configuradas. 1. No nível do “Projeto” 2. No nível do “TestSuite” 3. No nível do “TestCase” Para visualizá-los e manipulá-las, você deve selecionar o nível desejado. Na parte inferior esquerdo, uma aba “Custom Properties” será apresentada. ... continua ...
  • 12. (Custom Properties) Propriedades Personalizadas Mas para que serve? Podem ser utilizadas para a definição de dados que poderão ser acessadas nos TestSteps que estiverem dentro do seu escopo. Elucide um exemplo, por favor! Na versão gratuita, não há funcionalidade que permita definirmos os “Ambientes” em que será rodado os testes, isto é, caso eu precise rodar o teste no ambiente de “Teste” e, posteriormente, no ambiente de “Homologação”. Uma forma de contornar isso é utilizando as propriedades. A seguir iremos apresentar como... ... continua ...
  • 13. (Custom Properties) Propriedades Personalizadas Mãos na massa... 1. No nível do Projeto, iremos definir a variável “urlWsdl” conforme a imagem ao lado; 2. Iremos criar um TestStep de “SOAP Request” para exemplificar; 3. No campo em que está o “endpoint”, iremos substituir a URL pela tag “${#Project#urlWsdl}” 4. Aperte no play e verá que ele utilizará o valor que estiver definido na variável. Caso seja necessário alternar entre ambientes, basta alterar esta variável. Outros escopos... Você poderá utilizar as propriedades personalizadas nos escopos mencionados, bastando referenciá-las da seguinte maneira: 1. Projeto = ${#Project#nomeDaPropriedade} 2. TestSuite = ${#TestSuite#nomeDaPropriedade} 3. TestCase = ${#TestCase#nomeDaPropriedade}
  • 14. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep Trabalhando com Properties
  • 15. Properties Trabalhando com Propriedades Este TestStep serve para carregar variáveis de propriedades que poderão ser consumidas por outros TestStep subsequentes. Existem duas formas: 1. Incluir variáveis manualmente e mantendo os valores por dentro da interface do SoapUI 2. Informar um arquivo no formato .properties para carregar as variáveis e seus valores ... continua ...
  • 16. Properties Trabalhando com Propriedades Manualmente 1. Clique sobre + na barra superior da janela para adicionar uma nova variável 2. Adicione o nome da variável e seu respectivo valor 3. Repita o processo para tantas variáveis desejar 4. Para editar os valores, basta dar duplo-clique sobre o campo desejado ... continua ...
  • 17. Properties Trabalhando com Propriedades Via arquivo .properties 1. Crie um diretório chamado “resources” dentro do diretório em que está salvo o seu projeto 2. Crie um arquivo no formato .properties no diretório recém criado 3. Vamos adicionar um novo TestStep chamado “PropertiesArquivo” 4. Ao lado do campo “Load from:”, clique no ícone para selecionar o arquivo 5. Selecione o arquivo criado 6. O SoapUI irá perguntar se deseja criar as variáveis. Clique em “Sim” 7. Pronto! As variáveis foram criadas e seus valores serão recarregadas sempre que rodar seu teste. ... continua ...
  • 18. Properties Trabalhando com Propriedades Via arquivo .properties 1. Mas temos um problema! Caso você precise movimentar o diretório do seu projeto, os apontamentos do arquivo .properties se perderão. 2. Para resolver isso, configure o “Resource Root” para ser o diretório do seu projeto. 3. Agora retorne para o TestStep “PropertiesArquivo” e coloque: “resources/Soap.properties” 4. Rode novamente o seu teste 5. Pronto! Agora o caminho do properties será relativo ao diretório do seu projeto.
  • 19. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep Transferindo dados para dentro das propriedades
  • 20. Property Transfer Transferindo dados para dentro das propriedades Agora já sabemos trabalhar com o TestStep de propriedades, podemos realizar alguns usos deste recurso. Digamos que queremos transferir um valor retornado de um TestStep “SOAP Request” para ser utilizado mais adiante. Para isso, iremos utilizar o TestStep de Property Transfer.
  • 21. Property Transfer Transferindo dados para dentro das propriedades No nosso exemplo, iremos realizar uma requisição SOAP para descobrir a cotação de uma moeda em um determinado dia e queremos que este valor seja transferido para uma propriedade. Para isso, siga o passo-a-passo: 1. Antes de tudo, crie uma variável em algum TestStep para que você possa ter para onde transferir o valor neste exemplo 2. Adicione o TestStep “Property Transfer” 3. Nomeie ele para um nome que faça sentido no teste 4. Uma janela de configuração será apresentada ... continua ...
  • 22. Property Transfer Transferindo dados para dentro das propriedades 5. Para nosso exemplo, criamos um TestStep chamado “CotacaoResult” 6. Adicione uma nova instrução de transferência 7. Nomeie de uma maneira que faça sentido no teste. 8. Para configurar, iremos estabelecer dois pontos: • Origem (source): para a origem, iremos informar o TestStep “SOAP Request” e sua “Property” chamada “Response”. Isso indicará ao SoapUI para que trabalhemos com o retorno da chamada do serviço. Iremos aplicar um comando XPath para extrair a informação desejada • Destino (target): para o destino, iremos informar o TestStep “CotacaoResult” e sua “Property” chamada “resultCotacao”, conforme variável criada anteriormente. 9. Podemos clicar em play para verificar qual valor foi transferido 10. Pronto! Seu comando de transferência foi realizado! ... continua ...
  • 23. Property Transfer Transferindo dados para dentro das propriedades É muito importante o conhecimento em XPath para o uso deste TestStep. Com ele, conseguimos obter resultados incríveis com pouca linha de comando. No nosso exemplo, apesar do retorno da requisição SOAP ter uma alta complexidade, com apenas um comando, obtivemos exatamente o valor desejado. ... continua ...
  • 24. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep Trabalhando com HTTP Request
  • 25. HTTP Request Trabalhando com HTTP Requests Com o TestStep “HTTP Request” é possível realizar uma chamada à uma URL na Web. É bastante útil para acionar API’s em Rest ou simplesmente verificar o resultado em uma determinar página. O SoapUI permite a execução de comandos GET, POST, PUT, DELETE, ... Vamos adicionar então... 1. Adicione o TestStep “HTTP Request” 2. Nomeie de uma forma que faça sentido no seu teste 3. Informe o endpoint que deseja acessar, bem como forneça os parâmetros necessários e escolha o método de requisição ... continua ...
  • 26. HTTP Request Trabalhando com HTTP Requests 4. Clique em play e verifique o resultado 5. Agora podemos inserir “Assertions” para garantir que o retorno esteja OK 6. Dado que o retorno está numa estrutura JSON, iremos aplicar um assertion do tipo “JsonPath Match” 7. Iremos configurar para que seja testado se o status seja “ok” 8. Pronto! Veremos que o teste passou!
  • 27. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep Trabalhando com JDBC Request
  • 28. JDBC Request Trabalhando com JDBC Requests O TestStep “JDBC Request” permitirá que você realize acessos diretos ao seu banco de dados, para a execução de consultas. Para isso, é necessário baixar os drivers de conexão do seu banco de dados e configurá-los no SoapUI. 1. Acesse e baixe https://www.soapui.org/jdbc/refere nce/jdbc-drivers.html 2. Coloque o arquivo .jar dentro do diretório binext da sua instalação do SoapUI ... continua ...
  • 29. JDBC Request Trabalhando com JDBC Requests Posto que configuração do seu JDBC Driver esteja feita, iremos adicionar o TestStep e testá-lo. 1. Adicione o TestStep “JDBC Request” 2. Você deverá informar o “Driver” e a “Connection String” 3. Clique em “TestConnection” para verificar se a conexão está corretamente configurada 4. Informe uma “SQL Query” para ser realizada no banco de dados 5. Visualize o retorno no lado esquerdo 6. Pronto! Você conseguiu acessar os dados de banco de dados! ... continua ...
  • 30. JDBC Request Trabalhando com JDBC Requests Os drivers e as Connection Strings podem ser consultadas no site https://www.soapui.org/jdbc/referen ce/jdbc-drivers.html
  • 31. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep Trabalhando com SOAP Request
  • 32. SOAP Request Trabalhando com SOAP Requests O TestStep “SOAP Request” permitirá que você realize testes funcionais em chamadas de webservices expostos em SOAP. Conforme explicado no início, você precisará da URL contendo o WSDL de seu serviço. ... continua ...
  • 33. SOAP Request Trabalhando com SOAP Requests Primeiramente, você deverá garantir que o seu serviço já não se encontra carregado em seu Projeto SoapUI. Para isso, você poderá navegar nos itens com setas duplas invertidas. Caso haja algum cadastrado, dê um duplo-clique e verifique o endereço do serviço. ... continua ...
  • 34. SOAP Request Trabalhando com SOAP Requests Caso não exista, você poderá facilmente adicionar seguindo os passos abaixo: 1. Clique com botão direito sobre o nome do seu Projeto SoapUi 2. Vá em “Add WSDL”, adicione a URL em “WSDL Location” e clique em “OK” 3. Pronto! Seu serviço está pronto para ser chamado dentro dos testes. ... continua ...
  • 35. SOAP Request Trabalhando com SOAP Requests Uma vez adicionado, você poderá, em qualquer ponto e suíte de teste do seu Projeto SoapUI, fazer referência às definições do webservice recém carregado. Agora fica mais fácil: 1. Basta clicar com botão direito sobre “Test Steps”, ir em “Add Step” e clicar sobre “SOAP Request” 2. Dê um nome que faça sentido 3. Escolha o serviço e operação desejada 4. Prepare o payload desejado, podendo fazer referências às propriedades e variáveis de ambiente 5. Pronto!
  • 36. Automação de Testes com SoapUI Tópicos Avançados: Explorando os diferentes tipos de TestStep O poder do Groovy
  • 37. Groovy Script O poder do Groovy O “TestStep” de Groovy Script permite que você programe scripts para realizar validações e transformações em seus testes. Mas vamos iniciar e, ao longo do caminho, explicamos melhor... 1. Clique com botão direito sobre “Test Steps”, vá em “Add Step” e clique em “Groovy Script” 2. Dê um nome que faça sentido 3. Uma janela, em branco, será aberta... ... continua ...
  • 38. Groovy Script O poder do Groovy Nesta janela é em que você poderá escrever seus scripts. Mas o que é possível fazer? O Groovy é uma poderosa ferramenta que dá a liberdade de interagir com a sua própria Suite, realizando ações que não vem embarcadas no SoapUI. Além disso, permite a importação de classes externas Java que podem ser utilizadas para apoiar. ... continua ...
  • 39. Groovy Script O poder do Groovy Mãos à obra!