understanding working with robot framework
O tutorial explica como criar e executar um caso de teste básico na estrutura do robô. Você também aprenderá sobre variáveis e palavras-chave na estrutura do robô:
Aprendemos sobre o Fundamentos do Robot Framework IDE - RIDE em nosso tutorial anterior para nos ajudar a começar a escrever scripts de teste usando RIDE neste Robot Framework series .
O tutorial fornecerá uma compreensão dos fundamentos da Estrutura do Robô.
Devemos aprender sobre as variáveis e os tipos de variáveis disponíveis no Robot Framework. Veremos como criar e usar a variável. Também entenderemos quais são as palavras-chave junto com seus vários tipos. Também saberemos como as palavras-chave podem ser criadas e usadas.
quanto custa o ponto de venda de quickbooks
Além disso, este tutorial também fornecerá conhecimento sobre as opções de Configuração e Desmontagem em RIDE que são úteis na execução de casos de teste. Também aprenderemos sobre Tags - um recurso do RIDE que ajuda na execução seletiva de casos de teste.
Mais importante, estaremos escrevendo o script de teste (com e sem localizadores) para alguns casos de teste de amostra. Aprenderemos como esses scripts de teste são executados no Ride e, finalmente, no final do tutorial, aprenderemos a visualizar os relatórios dos scripts de teste executados.
Estaremos concluindo o tutorial com alguns links úteis sobre o Robot Framework que você pode consultar a qualquer momento.
O que você aprenderá:
- Criando e executando um caso de teste básico
- Compreendendo as variáveis na estrutura do robô
- Compreendendo palavras-chave na estrutura do robô
- Usando configuração e desmontagem no RIDE
- Usando tags no RIDE
- Criando caso de teste usando localizadores
- Compreendendo a abordagem baseada em palavras-chave e dados na estrutura do robô
- Acessando Relatórios em Ride
- Conclusão
- Leitura recomendada
Criando e executando um caso de teste básico
Vamos agora criar um caso de teste básico no RIDE, onde abriremos o site google.com no navegador Chrome e, em seguida, fecharemos o navegador. Então, vamos começar com nosso primeiro caso de teste no Robot Framework usando Ride.
Clique em ‘TestCase1’ e você pode ver uma grade (você deve estar na guia ‘Editar’).
Siga as etapas abaixo para escrever o código:
- Digite 'Open Browser' (palavra-chave fornecida pela Selenium Library) na primeira célula.
- Ao começar a digitar, selecione ctrl + alt + barra de espaço (ou ctrl + barra de espaço) para obter assistência de conteúdo.
- Na próxima célula digite o URL Google .
- Na terceira célula, digite o nome do navegador. Fornecer o nome do navegador é opcional.
- Na primeira célula da próxima linha, digite ‘Fechar navegador’.
Vamos entender o que acabamos de fazer.
- ‘Open Browser’ é uma palavra-chave fornecida pela biblioteca Selenium que importamos acima em nosso caso de teste.
- A assistência de conteúdo nos ajuda com a sintaxe exata, sem ter que nos lembrar dela.
- ‘Abrir navegador’ recebe o primeiro argumento como o URL do site que queremos abrir no navegador. O segundo argumento é opcional e especifica o navegador que queremos usar. Se isso não for mencionado, o Firefox é usado como o navegador padrão.
- “Fechar navegador” é novamente uma palavra-chave da Biblioteca Selenium que fecha o navegador que abrimos.
Agora vamos executar esse código seguindo as etapas abaixo:
- Clique na guia ‘Executar’ - esta guia contém a opção de executar o caso de teste.
- Marque ‘Autosave’ - para garantir que todas as alterações não salvas no caso de teste sejam salvas automaticamente.
- Verifique ‘TestCase1’ - para permitir à RIDE saber qual caso de teste deseja executar.
- Clique no botão ‘Iniciar’ - para iniciar a execução do caso de teste.
O caso de teste é executado com sucesso. Abaixo está a tela que obtemos após a execução bem-sucedida do caso de teste. Aqui, podemos ver o tempo total gasto para a execução do teste junto com a contagem de casos de teste aprovados e reprovados.
Além disso, também temos a opção de visualizar Relatório e Log do caso de teste executado. Veremos isso nos próximos tutoriais.
Compreendendo as variáveis na estrutura do robô
Assim como qualquer linguagem de programação onde usamos variáveis, da mesma forma, também temos variáveis no Robot Framework.
O que são variáveis?
As variáveis nada mais são do que locais de armazenamento referidos por um nome que contém algum valor.
Tipos de Variáveis
No Robot Framework, temos 3 tipos de variáveis:
- Escalar
- Lista
- Dicionário
Nos próximos dois tópicos, veremos como cada um dos tipos de variáveis acima pode ser criado e usado.
Criação de variáveis
No Robot Framework, as variáveis não diferenciam maiúsculas de minúsculas. Devemos usar letras maiúsculas para se referir a variáveis globais (que são usadas em todo o conjunto de casos de teste) e letras minúsculas para se referir a variáveis locais (que são usadas em certos casos de teste apenas).
Para nomear uma variável, usamos um identificador de tipo de variável (&,%, $, @) que precede o nome da variável escrito entre chaves. Vamos dar uma olhada em como cada um dos tipos de variáveis é declarado.
# 1) Variável Escalar : Uma variável escalar é referenciada como $ {Name}.
Aqui, $ - refere-se ao tipo de variável, ou seja, Nome escalar - é o nome da variável.
Como regra, isso é colocado entre chaves. Uma variável escalar pode ser fornecida com qualquer valor, por exemplo, uma string, um objeto, números, listas, dicionários ou objetos personalizados.
Vamos atribuir o valor 5 à variável escalar ‘a’.
Siga as etapas abaixo para fazer isso:
TestCase1 (botão direito do mouse) -> Novo escalar
Você verá uma tela pop-up conforme mostrado abaixo:
Insira o nome da variável entre as chaves, conforme visto no instantâneo acima. Forneça seu valor na caixa de texto 'Valor' e adicione um comentário se desejar.
Esta variável escalar - $ {a} que acabamos de criar pode agora ser vista no painel esquerdo.
# 2) Variável de lista : Uma variável de lista é referenciada como @ {nome}.
Aqui, @ - refere-se ao tipo de variável, ou seja, nome da lista - é o nome da variável. Como regra, isso é colocado entre chaves.
A lista permite que uma lista Python ou um objeto semelhante a uma lista seja armazenado nela. Robot Framework não permite que strings sejam usadas como listas, mas objetos como tuplas ou dicionários são permitidos.
Vamos atribuir os valores ‘Hello’, ‘Robot’ e ‘Framework’ para listar a variável ‘b’. Siga as etapas abaixo para fazer isso:
TestSuite1 (clique com o botão direito) -> Nova variável de lista
Você obterá uma tela pop-up conforme mostrado abaixo. Em vez do padrão '4' na queda das colunas, selecionaremos '2'.
Agora siga as etapas abaixo:
- Insira o nome da variável ‘b’ entre as chaves, como visto no instantâneo abaixo.
- Forneça seus valores na caixa de texto 'Valor'.
- Adicione um comentário (opcional).
- Clique em ‘OK’ para salvar a variável.
Cada um dos valores dentro da variável de lista é acessado em relação ao seu índice, que é considerado de 0 para o primeiro valor da lista. Por exemplo, para nos referirmos a um Framework, escreveríamos como @ {b} (2), pois está na posição 3 para a qual o índice seria 2.
# 3) Variável de Dicionário : Uma variável de dicionário é referenciada como & {Nome}.
Aqui, & - refere-se ao tipo de variável, ou seja, Nome do Dicionário - é o nome da variável. Como regra, isso é colocado entre chaves.
Variáveis de dicionário são usadas principalmente quando temos uma tabela com pares de valores-chave. Por exemplo, quando queremos testar o login para um conjunto de ID e senha. A diferença entre as variáveis de lista e dicionário é como elas são referidas e veremos isso daqui para frente.
Vamos criar uma variável de dicionário ‘login’ e atribuir valores: e-mail e senha a ela, conforme mostrado abaixo: ‘testingrf19@gmail.com’, ‘123’. Siga as etapas abaixo para fazer isso:
TestSuite1 (clique com o botão direito) -> Nova Variável de Dicionário
Você obterá uma tela pop-up conforme mostrado abaixo. Em vez do padrão '4' na queda das colunas, selecionaremos '1'.
Agora siga as etapas abaixo:
- Digite o nome da variável ‘login’ entre as chaves, conforme visto no instantâneo abaixo.
- Forneça seus valores na caixa de texto 'Valor'.
- Adicione um comentário (opcional).
- Clique em ‘OK’ para salvar a variável.
Ao contrário das variáveis de lista que usam o índice para referenciar os valores individuais dentro dele, as variáveis de dicionário usam uma maneira mais clara de referenciar seus valores. Como no caso acima, usaríamos & {login} (email) e & {login} (senha). Isso não parece autoexplicativo?
Essas variáveis criadas também são visíveis em ‘TestSuite1’ (guia Editar).
Usando Variáveis
Veremos agora como podemos usar essas variáveis em nosso caso de teste. Usaremos o caso de teste criado anteriormente e substituiremos a URL usada por uma variável que armazenará a URL. Então, vamos criar uma variável escalar chamada ‘URL’ e armazenar o valor Google iniciar.
Vamos agora substituir o URL pela variável em nosso código. Como esta é uma variável escalar, será referenciada como $ {URL}. Nosso caso de teste agora deve ter a seguinte aparência:
Vamos executar este caso de teste e ver se a variável ‘URL’ é substituída pelo valor correto. Sim! Nosso caso de teste é executado com sucesso. Google com abre no navegador e, em seguida, o navegador fecha. O resultado mostra que foi um sucesso.
O símbolo verde ao lado do nome do caso de teste no painel esquerdo e PASS no painel direito mostra que a execução do caso de teste foi bem-sucedida.
É assim que usamos variáveis em um caso de teste. O benefício de usar variáveis é visível quando usamos o mesmo valor em vários lugares. Sempre que houver uma alteração no valor, precisaríamos apenas substituir o valor da variável e o mesmo seria refletido em todos os locais onde a variável foi usada.
Da mesma forma, podemos usar a lista, bem como a variável de dicionário, conforme necessário em nossos casos de teste.
Compreendendo palavras-chave na estrutura do robô
O que são palavras-chave?
Palavras-chave, como o nome indica ('Chave' + 'palavra') é uma palavra que serve como uma chave para algo que não está à vista. De forma mais simples, vamos entender que se eu tenho uma tarefa com 10 etapas a serem realizadas e menciono essas 10 etapas e as refiro por um nome, então o nome é uma palavra-chave.
Tipos de palavras-chave
Robot Framework fornece dois tipos de palavras-chave:
- Palavras-chave da biblioteca : Essas palavras-chave também são conhecidas como palavras-chave de baixo nível. Estes são disponibilizados pelas bibliotecas usadas com o Robot Framework (bibliotecas internas e externas). Por exemplo, temos uma palavra-chave “Log to Console” fornecida pela biblioteca interna e “Open Browser” é uma palavra-chave fornecida pela biblioteca Selenium.
- Palavras-chave definidas pelo usuário : Também são conhecidas como palavras-chave de alto nível. Eles são definidos pelo usuário. Palavras-chave definidas pelo usuário também podem conter outras palavras-chave da Biblioteca e / ou outras ações.
Criação de palavras-chave
Este tutorial explicará as maneiras de criar palavras-chave definidas pelo usuário.
Clique com o botão direito ‘TestSuite1’ e selecione ‘Nova palavra-chave do usuário’ .
Você obteria uma tela pop-up como abaixo. Vamos criar uma palavra-chave para abrir o site do Google. Portanto, teríamos apenas uma palavra-chave para realizar a tarefa do caso de teste que criamos.
Abra o caso de teste que você criou e observe as etapas adicionadas. Abrimos google.com no Chrome e fechamos o navegador.
Vamos dar o nome ‘Abra o google’ à nossa palavra-chave e clique em ‘Ok’.
A palavra-chave foi definida e agora as ações que precisam ser realizadas serão escritas dentro desta palavra-chave. Então clique em ‘ Abra o Google ’ e escrever as mesmas etapas que escrevemos em nosso TestCase1.
capturas de tela de sites no passado
Como você pode ver abaixo, a palavra-chave “ Opengoogle ”Abriria Google com no navegador Chrome e saia do navegador.
Usando palavras-chave
Agora definimos nossa palavra-chave “ Abra o Google ”. É muito simples de usar em nosso caso de teste. Primeiro, dê uma olhada em nosso caso de teste original que criamos para abrir o Google abaixo.
Vamos agora substituir esse código pela palavra-chave. Você perceberá que, à medida que começa a digitar a palavra-chave e abre o assistente de conteúdo, essa palavra-chave também fica visível na lista exibida. Olhe a imagem abaixo.
Depois de substituído, nosso TestCase1 pareceria simples, conforme mostrado abaixo:
Vamos executar isso e ver se funciona como planejado.
Sim! o caso de teste passa e temos o resultado esperado.
Usando configuração e desmontagem no RIDE
Assim como o nome sugere, Setup é o conjunto de instruções / palavras-chave que devem ser executadas como preparação inicial para executar o caso de teste real. Como exemplo, geralmente para qualquer execução de caso de teste, nosso requisito básico seria abrir um navegador. Portanto, sempre podemos adicionar esta etapa de abrir o navegador como uma atividade de configuração.
Da mesma forma, derrubar é o conjunto de instruções / palavras-chave que devem ser executadas no final da execução de um caso de teste. Por exemplo, quando terminarmos de executar um caso de teste, gostaríamos de fechar o navegador. Portanto, sempre podemos adicionar esta etapa de fechamento do navegador como uma atividade de desmontagem.
As atividades de configuração e desmontagem podem ser declaradas em:
- Nível de suíte de teste: Quando declarado no nível de suíte de teste, as instruções de configuração serão executadas antes que qualquer um dos casos de teste dentro dessa suíte de teste seja executado. Da mesma forma, a demolição declarada no nível de suíte de teste seria executada após qualquer um dos casos de teste dentro dessa suíte de teste ser executado.
- Nível de caso de teste : Quando declarado em um nível de caso de teste, as instruções de configuração serão executadas antes da execução dos casos de teste dentro desse conjunto de testes. Da mesma forma, o término declarado no nível do caso de teste seria executado depois que o caso de teste fosse executado.
Vamos agora ver como adicionamos uma atividade de configuração no nível de caso de teste.
- Crie TestCase2.
- Clique no botão ‘Editar’ para Configuração, logo abaixo de Configurações no painel direito.
- Digite a palavra-chave, “Open Browser” no nosso caso. Você pode usar a assistência de conteúdo aqui também.
- Os argumentos podem ser transmitidos junto com a palavra-chave, separando-os com uma barra vertical ‘|’.
- Clique OK'.
Vamos agora ver como adicionamos uma atividade de desmontagem no nível do caso de teste.
- Clique em TestCase1
- Clique no botão ‘Editar’ para desmontar, logo abaixo de Configurações no painel direito.
- Digite a palavra-chave “Fechar navegador” no nosso caso. Você pode usar a assistência de conteúdo aqui também.
- Clique OK'.
Agora que movemos ambas as etapas do caso de teste como atividade de configuração e desmontagem, vamos adicionar mais uma etapa ao caso de teste para que possamos executar e verificar seu resultado. Vamos exibir “Hello” no console. A palavra-chave que usamos é ‘Log’, que vem da Biblioteca Integrada.
TestCase2 ficaria como mostrado abaixo:
Quando é executado, a configuração é executada primeiro, seguida pelo registro de ‘Olá’ no console e, finalmente, a atividade de desmontagem é executada e o navegador fecha.
Usando tags no RIDE
A marcação é usada quando queremos agrupar um conjunto de casos de teste para executá-los ou para evitar sua execução. Principalmente, agrupamos os testes em Regressão, Fumaça e Sanidade. Ou pode ser em cenários em que alguma funcionalidade importante precisa ser testada repetidamente.
Para entender como as tags são criadas e usadas, vamos escrever dois casos de teste simples - ‘TestCase3’ e ‘TestCase4’. O código para isso é mostrado abaixo. Usamos as palavras-chave, ‘Log to Console’ que é da biblioteca interna.
Caso de Teste 3
Caso de Teste 4
Para marcar esses casos de teste, siga as etapas abaixo:
- Clique no botão Editar para ‘Tags’.
- No pop-up, digite um nome para a tag, diga Case3.
- Clique OK'
Ambos os casos de teste agora têm a tag ‘Case3’. Vamos ver como isso pode ser usado.
Suponha que desejamos executar apenas testcase3 e testcase4.
- Guia Goto RUN
- Verifica a caixa ‘Apenas execute testes com essas tags’
- Na caixa de texto abaixo, digite ‘Case3’.
- Clique no botão iniciar.
Observe que não selecionamos nenhum caso de teste, mas após a execução do teste, você verá que apenas ‘TestCase3’ e ‘TestCase4’ foram executados.
Da mesma forma, também temos a opção de pular determinados casos de teste marcados usando ‘Pule os testes com essas tags’ e mencionando o nome da tag.
Também temos a opção de criar tags dinamicamente em tempo de execução usando a palavra-chave “Definir Tag” , da mesma forma, também podemos remover tags em tempo de execução usando a palavra-chave “Remover Tag” .
Espero que este tutorial tenha dado a você uma ideia clara sobre como criar e usar tags até agora.
Criando caso de teste usando localizadores
Criamos um caso de teste muito básico que envolvia escrever algo no console ou apenas abrir um navegador. Vamos agora escrever casos de teste que envolvem o uso de localizadores.
Testar um site ou qualquer aplicativo envolve localizar os elementos. Quando queremos realizar uma ação em qualquer elemento, precisamos conhecer seu localizador. Normalmente, o 'id' ou o 'nome' são os atributos de um elemento que são usados para identificá-lo em uma página e, portanto, executar uma ação nele usando palavras-chave.
Devemos abrir um navegador e procurar o site oficial do Robot Framework e abri-lo.
Vamos começar e escrever o código para isso.
- Crie ‘TestCase5’ dentro do TestSuite1.
- Abra o navegador (Chrome).
- Em seguida, encontre o localizador da caixa de texto de pesquisa do Google.
Configurações do Chrome -> Ferramentas -> Ferramentas do desenvolvedor .
O mesmo também pode ser acessado usando Ctrl + Shift + I.
- Com a ferramenta de desenvolvedor aberta, clique no ícone localizar elemento conforme indicado abaixo.
- Passe o mouse sobre a caixa de texto de pesquisa do Google até que seja destacado e clique sobre ele. Você notará que o código relacionado à caixa de pesquisa fica destacado no painel direito.
- A partir do código, usaremos o nome = ’q’ como o localizador.
- ‘Texto de entrada’ é a palavra-chave Selenium a ser usada para inserir texto na caixa de pesquisa do Google.
- Pressione a tecla Enter para obter os resultados da pesquisa.
É assim que nosso código ficaria. Parece muito simples !! Não é?
É tudo uma questão de prática. Tudo o que precisamos é ser capaz de lembrar qual palavra-chave está disponível para automatizar uma ação específica. Portanto, quanto mais você automatizar seus testes, mais confortável ficará trabalhando com este Framework.
O resultado do caso de teste acima após a execução é mostrado abaixo. O navegador Chrome é visto aberto abaixo, mostrando os resultados da pesquisa para o ‘Robot Framework’.
Compreendendo a abordagem baseada em palavras-chave e dados na estrutura do robô
Ao escrever um caso de teste no Robot Framework, seguimos uma das abordagens abaixo:
- Abordagem baseada em palavras-chave: Quando usamos palavras-chave ao escrever os casos de teste, chamamos isso de abordagem baseada em palavras-chave. A abordagem baseada em palavras-chave melhora a legibilidade do caso de teste. Já vimos como as palavras-chave podem ser criadas e usadas em um caso de teste.
- Abordagem baseada em dados : Esta abordagem é seguida principalmente quando queremos testar a lógica para diferentes valores de dados. Nessa abordagem, um modelo é criado para uma palavra-chave de alto nível e os argumentos para essa palavra-chave são enviados do caso de teste, que é o valor de dados para o qual o caso de teste precisa ser executado.
Como usamos essa abordagem em nossos casos de teste é o que veremos a seguir, conforme criamos uma nova palavra-chave.
Vamos criar um caso de teste para pesquisar diferentes ferramentas / frameworks de automação de teste - Robot Framework, J-meter, Selenium, etc.
O caso de teste conteria apenas os dados, neste caso, as palavras de pesquisa que seriam passadas como argumentos para o modelo. O modelo conteria a palavra-chave de alto nível que teria o código real a ser executado. Os valores de pesquisa seriam escritos no caso de teste.
Com esse breve entendimento, vamos criar o modelo ‘Pesquisa Google’ seguindo as etapas abaixo:
- Crie TestCase6 conforme explicado no tópico “Criando um Projeto, Suíte de Teste e um Caso de Teste em Execução”.
- Clique em ‘Editar’ para o modelo e insira um nome. ‘Pesquisa Google’ em nosso caso.
- Usaremos o mesmo código do TestCase5, com a única diferença de que o texto a ser pesquisado será passado como argumento conforme apontado abaixo.
- Este argumento também deve ser mencionado na caixa de texto Argumento. Portanto, clique em Editar na caixa de texto Argumentos, insira o argumento e clique em ‘OK’.
- Agora vamos voltar ao TestCase6 e inserir os dados.
- É assim que sua tela ficará após a conclusão da execução do caso de teste.
Você notará que cinco instâncias do navegador Chrome foram abertas e cada uma teria os resultados da pesquisa para as cinco diferentes ferramentas de automação de teste que pesquisamos.
Esperamos que este caso de teste tenha fornecido uma boa clareza sobre a abordagem baseada em dados. À medida que você experimenta mais exemplos desse tipo, essa abordagem parece bastante simples para você.
Acessando Relatórios em Ride
A seguir está a captura de tela após a execução de TestCase6. Ele fornece 2 opções 'Relatório' e 'Registro' conforme indicado abaixo. Ele também fornece o link completo para acessar o Log e o Relatório.
Relatório - Resultado da execução do TestCase6
Fornece um relatório resumido do (s) conjunto (s) de teste executado (s). Ao clicar na suíte de teste, ele mostra os detalhes da suíte de teste, caso de teste. Quando clicamos mais no caso de teste, ele abre os detalhes do caso de teste que é chamado de Log.
Registro - Resultado da execução do TestCase6.
Log fornece um relatório detalhado de caso de teste para todo o projeto.
Além dos ícones Relatório e Log. Também temos os respectivos URLs que podem ser copiados e abertos diretamente no navegador. É um problema conhecido que às vezes, após a execução de um caso de teste, os ícones ‘Relatório’ e ‘Registro’ são desativados. Nesse cenário, esses links podem ser copiados e abertos no navegador para visualizar o Relatório.
O URL é o local na máquina local onde os relatórios são salvos. Cada vez que executamos um caso de teste, este local é atualizado e o novo relatório gerado é salvo neste local.
Robot Framework - Links úteis
- Robot Framework oficial local na rede Internet
- Wikipedia
Conclusão
Esperamos que, como um iniciante, este tutorial tenha fornecido a você um bom conhecimento sobre o uso do Robot Framework como uma ferramenta de automação de teste.
Neste tutorial, aprendemos sobre a criação de variáveis e palavras-chave. Vimos como escrever scripts de teste usando abordagem baseada em palavras-chave e baseada em dados.
Também executamos um teste prático de execução. O tutorial forneceu uma visão sobre como visualizar os resultados detalhados do teste por meio de log e relatórios. Além disso, URLs importantes relacionados ao Robot Framework também foram compartilhados.
“A prática torna o homem perfeito”, portanto, sem demora, use esta ferramenta o máximo que puder para que aos poucos se torne confiante em usá-la.
Leitura feliz!!
PREV Tutorial | PRIMEIRO Tutorial
Leitura recomendada
- Tutorial do Robot Framework - Recursos e instalação de software
- Introdução ao RIDE - Robot Framework IDE
- Tutorial TestNG: Introdução ao Framework TestNG
- Estrutura BDD (Behavior Driven Development): um tutorial completo
- Tutorial D3.js - Estrutura de visualização de dados para iniciantes
- Jasmine Framework Tutorial incluindo Jasmine Jquery com exemplos
- Tutorial do Java Collections Framework (JCF)
- Tutorial do Karate Framework: Teste de API automatizado com Karate