Postagens

Season Running - Ep. 06: Exportando seu log para Excel

Imagem
Olááá Robotizadores!!! Esse post veio de uma dúvida de um futuro robotizador do Curso Automação de Testes com Robot Framework !!! Siiim, a comunidade está crescendo!!! Ele gostaria de saber como exportar os resultados do log.html para excel , vamos ver como faz? Chega mais... Esse post foi baseado na solução encontrada no GitHub , testei aqui e funcionou, então vamos aos passos: OBS.: O script do GitHub acima funcionou apenas no Python 2.7!!!! Então alterei ele para manter compatível com ambas as versões, está no meu GitHub ! 01 - Instale os pacotes abaixo: pip install openpyxl pip install lxml 02 - Baixe o arquivo  result_extractor_excel.py do GitHub que citei. 03 - Coloque o arquivo no mesmo diretório em que estão sendo salvos os seus outputs da execução. 04 - Após executar os testes, rode o comando dentro do diretório dos  outputs : python result_extractor_excel.py 05 - Confira o .xls gerado no diretório, ele contém as colunas [ TEST CASE - STAT...

Season QA - Ep. 02: Carreira em Teste de Software! Por onde começo?

Imagem
Olá robotizadores!!!! Muitas pessoas já me procuraram para perguntar e pedir dicas sobre como entrar na área de teste de software. Eu não sou consultora, mas já passei por isso e tenho algumas dicas que deram certo para mim e podem dar certo para você! Dividirei as dicas em etapas, etapas essas que considero importantes e foram essenciais para eu chegar onde estou hoje. Etapas: 1 —  As Certificações podem te ajudar! 2 —  Cursos e Leituras 3 —  Saiba sobre Teste Tradicional x Teste Ágil 4 —  Tentando uma vaga no mercado 5 —  Eventos e Comunidade Se você seguir essas dicas, você já estará bem apto a encarar um cargo inicial na área de teste de software. Claro que cada caso é um caso, nem todas as dicas podem ser úteis para você ou serem cruciais, absorva o que lhe parecer mais importante. Essas dicas são iniciais, existem muito mais coisas a se aprender e desenvolver que vão além do que vou falar nessa série. Eu mesma ainda estou me desenvolvendo e estou ...

Season Libraries - Ep. 04: Library DateTime - Manipulação de Data e Hora

Imagem
Olááá Robotizadores pontuais deste blog!!! Hoje vamos falar de uma library utilitária, sim uma library que disponibiliza recursos que podem ser muito úteis nos testes de qualquer sistema. A primeira library utilitária que vamos falar é a DateTime , para manipularmos datas e hora no Robot!!! 01 - A library DateTime A  DateTime é uma library do tipo Standard, então você não precisará baixá-la e nem instalá-la, ela já vem com o Robot. Mas para utilizá-la nos seus testes você precisará instanciá-la: *** Settings ** * Library       DateTime Com ela você poderá criar e converter valores de data/hora com as keywords Get Current Date   e  Convert Time , por exemplo e poderá  também fazer cálculos simples com as keywords   Subtract Time From Date   e   Add Time To Time , por exemplo. É muito importante se atentar ao FORMATO das datas que você estiver trabalhando!!! Talvez, antes de manipular, você terá que converter para ...

Season Scripts - Ep. 03: Tipos de variáveis e seu uso

Imagem
Olááá Robotizadores!! Nesse post vamos falar um pouco sobre como trabalhar com os diferentes tipos de variáveis do Robot Framework... Sim! Não temos somente a ${VAR} , chega mais e conheça a  @{LISTA} e &{DICIONARIO} !!! Tipo Simples O tipo mais comum é o simples, ele é declarado com o $ , exemplo ${NOME} . Tipo Lista O tipo lista permite que você guarde vários itens em uma única variável. Ele é declarado com o @ , exemplo @{FRUTAS} . Os valores são acessados pelo índice que se inicia do zero. Tipo Dicionário O tipo dicionário permite que você guarde atributos de um objeto em uma única variável. Ele é declarado com o & , exemplo &{PESSOA} . Os valores são acessados pelo OBJETO.argumento. Exemplos: OBS.: Quando você utiliza um valor único da lista ou dicionário, ela se torna simples, por isso no exemplo acima usamos com o $. Figura 01: LOG com o uso das variáveis Esses tipos de variáveis podem deixar seu teste mais limpo e organ...

Season WEB Testing - Ep. 01: HTML Locators

Imagem
Oláááá Robotizadores!!!! Está com dificuldades em encontrar elementos web??? Está começando agora com testes WEB (assim como eu) e está precisando dar um up sobre locators ? Esse é o seu post, bora lá ver umas dicas de HTML locators !!!! Estratégias básicas para localizar um elemento WEB Identificação simples dos locators: Pelo ID               Exemplo:  Click Element    id=Theld ou: Click Element    Theld   Pelo Nome            Exemplo:  Click Element    name=Blink    ou: Click Element    Blink   Pelo Texto do Link       Exemplo:  Click Link    link=Your site.com ou: Click Link    Your Site.com   Pelo Texto parcial do link     Exemplo:  Click Link     partial link=Site.com   Pelo XPATH     Exemplo:  Click Link ...

Season Running - Ep. 05: Debugando seu teste (via LOG)

Imagem
Olááááá Robotizadores, faz tempo, mas tô de volta!!! Nesse post vamos falar de DEBUG, como entender o que está acontecendo melhor com seu teste e analisar os erros!!! Bora lá... Debug via LOG O robot não é compilado, então não temos uma IDE que passa linha a linha debugando... Mas podemos analisar os erros ou verificar os testes através do LOG mais detalhado... Abaixo mostrarei como gerar esse LOG! Executar com configuração de  level do Log: robot -L trace suiteTestes robot -L debug suiteTestes Onde,  -L  é o parâmetro que indica que o LOG será gravado em modo ( trace/debug ). Modos possíveis de passar no argumento -L: INFO: O level padrão para mensagens normais. Por padrão, as mensagens abaixo desse nível não são mostradas no arquivo de log. Obs.: Se você não especificar o -L no comando de execução, o log será detalhado em nível INFO. DEBUG : Usado para fins de depuração. Útil, por exemplo, para registrar em log o que as bibl...

Season Libraries - Ep. 03: Criando uma library personalizada em Python e usando nos seus testes com o Robot

Imagem
Olááá Robotizadores!!! Nesse post de hoje vamos falar sobre como você pode criar e usar uma library customizada para atender suas necessidades que não foram atendidas com nenhuma outra library já existente!!!! Vem ver!!!! 01 - Criando uma library em Python Ah, para criar uma library, sim, você precisa ter um básico de Python, mas se você não sabe Python ainda, assim como eu, pode pedir ajuda para um DEV e criar juntos uma library que atenda as suas necessidades e aí então você pode incluí-la e usá-la nos seus testes do Robot Framework! OBS.: O exemplo que vou citar é didático, não pesquisei se existe uma library que já atenda esse  problema. Se tiver, deixe seu comentário!!! Precisei de uma keyword que decodificasse uma string em base64 para uma string legível. Então criei a função abaixo: O nome da sua função será a sua keyword . O  underline representa o espaço em branco, então, lá no seu teste do Robot, você irá chamar a keyword  conforme o exem...

Season Running - Ep. 04: Gerando documentação dos seus testes com Testdoc

Imagem
Oláááá robotizadores!!! Você escreveu aquele lindo cenário BDD, ou aqueles maravilhosos casos de teste e quer torná-los uma documentação??? Chega aqui que o Robot tem um jeitinho... Gerando documentação: Testdoc É beeeeeeem simples, como tudo no Robot!! Você vai precisar apenas executar o comando abaixo apontando o diretório ou o arquivo onde estão as suítes que você quer transformar em um documento...veja meu exemplo abaixo... python -m robot.testdoc -N "Suíte Cadastro QA Ninja" TestCasesCadastroQANinja.robot DocMinhaSuite.html Nesse comando acima eu chamei o módulo ( -m robot.testdoc ), pedi para renomear minha suíte ( -N "Suíte Cadastro QA Ninja" ), informei qual a suíte que era para gerar a documentação ( TestCasesCadastroQANinja.robot ) e qual o arquivo de saída desejado ( DocMinhaSuite.html ) ... ele gerará o arquivo no diretório que você está rodando o comando no cmd... Gerou assim para mim: Prontinhooo, temos documentação!!!! Até a p...

Season Libraries - Ep. 02: Library Sikuli - Automação GUI com reconhecimento de imagens

Imagem
Olááááá Robotizadores!!! O post da vez é sobre automação de interfaces GUI com reconhecimento de imagens, para quem ainda não conhece, estamos falando do Sikuli !! E siiiim, o Robot Framework tem uma library para ele!!! Bora automatizar desktop também??? Vem... 01 - Instalação da library SikuliLibrary pip install robotframework-SikuliLibrary 02 - Captura das imagens O Sikuli utiliza reconhecimento de imagens para identificar e controlar componentes GUI, para isso vamos precisar tirar print dos componentes que você quer que ele identifique, no nosso exemplo, eu quero que ele clique no botão Iniciar do Windows , depois no ícone do Notepad++ , em seguida quero que ele selecione o campo de digitação do Notepad++  para que seja digitado "Hello World" e por fim, aperte o fechar ' X ' do Notepad++... Precisei das seguintes imagens: Botão Iniciar do Windows Ícone do Notepad++ Campo de digitação do Notepad++ Botão de fechar do Notepad++ ...

Season Running - Ep. 03: Rodandando seus testes web em paralelo com o Pabot

Imagem
Fala robotizadores! O que acham de rodar os seus testes do Robot Framework mais rápido? Isso é possível executando todos eles ao mesmo tempo em paralelo!  Neste artigo vamos falar sobre o  Pabot , um executor que vai rodar todos os seus testes ao mesmo tempo! 01 - Instalação Vamos começar com a instalação: > pip install -U robotframework-pabot  02 - Configurando seus arquivos Para rodar seus testes em paralelo, é preciso que cada Teste Case esteja em um arquivo separado. O Pabot não consegue dividir testes dentro de um mesmo arquivo. No nosso exemplo vou utilizar a tela de login do site https://the-internet.herokuapp.com/login . Esse site tem vários exemplos para você usar como estudo de automação web. Vamos fazer o login no Chrome e Firefox ao mesmo tempo. login_chrome.robot login_firefox.robot Notem que a única diferença entre os arquivos é o browser. O arquivo de implementação é o mesmo para os dois casos steps_login.robot 03 - Executando ...