getting started with watir
Watir é um acrônimo para ‘Web Application Testing In Ruby’. Aprenda a instalar e usar o Watir para criar e executar casos de teste com exemplos de código:
Watir é pronunciado como Água. É uma coleção de bibliotecas Ruby de código aberto. Por ser o Web Application Testing em Ruby, ele usa Ruby como sua linguagem de script.
como você abre um arquivo eps
O que você aprenderá:
- Instalação de Watir
- Como usar o Watir: criação e execução de casos de teste
- Exemplos Watir
- Esperas e chaves especiais
- Teste de regressão com Watir
- Conclusão
- Leitura recomendada
Instalação de Watir
Deve-se ter conhecimento básico de HTML, programação e Ruby para usar o Watir. No entanto, como o Ruby em si é fácil de usar e entender, aprendê-lo e usar o Watir não é tão difícil.
Instalação Watir para Windows
Há uma grande chance de você não ter o Ruby instalado em seu computador. Para verificar isso, abra o Prompt de Comando e digite > ruby –v e pressione ‘Enter’ .
Fig 1: Se você não tiver o Ruby instalado, receberá a seguinte mensagem.
Se Ruby estiver instalado, você obterá sua versão com este comando. Você pode clicar aqui para baixar a última versão do Ruby. Selecione a versão apropriada, o próprio site recomendará Ruby 2.4.X como instalador x64 ou x86.
Fig 2: Ao clicar nesta versão, você terá a seguinte janela.
Fig 3: Clique no botão Iniciar Download e você verá a seguinte janela.
Como o processo de download é pausado para fins de captura de tela, você pode ver o 'Começar' botão, caso contrário, você será capaz de ver o 'Pausa' botão aqui. Agora vá para o local / pasta onde o seu arquivo foi baixado (aqui, como você pode ver na Fig 2, o local é: C: Usuários Ojas Downloads Programas )
Fig 4: Execute o arquivo rubyinstaller-2.4.3-2-x64.exe.
Fig 5: Selecione ‘Aceito a Licença’ e clique em ‘Avançar’:
Fig 6: Clique em Instalar e depois em Concluir.
A tela acima perguntará 'Quais componentes devem ser instalados?' Se você não tiver certeza, basta pressionar a tecla Enter e o sistema instalará todos os três componentes, ou seja, Instalação básica do MSYS2, atualização do sistema MSYS2 e conjunto de ferramentas de desenvolvimento MSYS2 e MINGW .
As ferramentas MSYS2 são necessárias para compilar gemas de rubi baseadas em C. MSYS2 também pode ser instalado manualmente.
Fig 7: MSYS2 instalado manualmente
A instalação de todos os componentes levará alguns minutos. Basta fechar o Prompt de Comando e abri-lo novamente. Em seguida, digite> ruby –v e pressione a tecla Enter. Se você receber a seguinte mensagem, significa que o Ruby foi instalado com sucesso.
ruby 2.4.3p205 (revisão 61247 de 14/12/2017) (x64-mingw32)
O software escrito em Ruby é denominado Ruby Gems. Instalamos Ruby, mas existe a possibilidade de não termos a versão mais recente dessas joias Ruby. Portanto, primeiro precisamos verificar esta versão da gem usando o comando> gem –v, aqui temos a versão 2.6.14.
Vamos atualizá-lo usando o comando:
> atualização de gem - sistema
Uma vez feito isso, receberemos a mensagem - Software de sistema RubyGems atualizado .
Agora precisamos instalar o gem do driver da web Selenium usando o comando (> gem instalar o driver selenium-web –no-ri –no-rdoc).
Ele será instalado e você receberá a seguinte mensagem:
Buscando: selenium-web driver-3.11.0.gem (100%)
Selenium-web driver-3.11.0 instalado com sucesso
1 gema instalada
** Se você receber qualquer mensagem do Firewall do Windows, feche essa janela.
Agora precisamos do IEDriverServer. Clique aqui Baixar IEDriverServer
Clique no primeiro link e selecione a versão apropriada para o seu computador, ou seja, o arquivo Win32 ou X64.Zip será baixado. Para saber onde extrair esses arquivos, siga as etapas abaixo:
Vá para o prompt de comando.
Digite> PATH
Fig 8 : O seguinte resultado será obtido:
Vamos extrair nossos arquivos para PATH C: Ruby24-x64 bin . Extraia os arquivos para o caminho da pasta Ruby. Agora digite irb no prompt de comando e pressione ENTER. IRB significa Interactive Ruby.
> requerem “selenium-webdriver”
Você obterá => verdadeiro
> navegador = Selenium :: WebDriver.for: internet_explorer
Seu navegador IE será aberto e você verá a mensagem: “Esta é a página inicial do servidor WebDriver” .
Para abrir a página www.google.co.in no navegador IE, digite o comando:
> navegador. obtenha “https://www.google.co.in/”
A tabela a seguir lhe dará uma lista de drivers dos respectivos navegadores e seus links para download. Siga o mesmo procedimento para os outros drivers, bem como explicado para IEDriverServer.
Nome do navegador | Nome do motorista | Link para Download | |
---|---|---|---|
:Claro | : f8 | :deixou | : numpad7 |
Raposa de fogo | motorista gecko | https://github.com/mozilla/geckodriver/releases | |
Google Chrome | cromedriver | http://chromedriver.storage.googleapis.com/index.html | |
Safári | - | Safari não funciona para windows |
Instalação Watir:
- Vá para o prompt de comando.
- Digite command> gem install watir
- Aperte o botão Enter.
Watir será instalado. Agora você pode começar a usar o Watir.
Instalação Watir Para Mac
Passos:
- Instalando Ruby
- Instalando Ruby gem
- Atualizando Ruby gem
- Instalando Selenium WebDriver
- Instalação do driver do IE / driver Gecko / driver do Chrome / driver safari
- Instalando Watir
Não há necessidade de instalar Ruby no Mac. Portanto, já cobrimos a primeira etapa. Isso vai economizar muito tempo. Verificaremos a versão do ruby com o comando: $ ruby -v
Aqui, temos como - ruby 2.0.0p648 (2015-12-16 revisão 53162) (universal.x86_64-darwin16)
Agora vamos verificar a versão do ruby: gem $ gem -v
Aqui está - 2.0.14.1. Vamos atualizar nossas joias de rubi usando o comando- $ sudo gem update —sistema. Vamos instalar o Selenium WebDriver usando o comando: $ sudo gem install selenium-webdriver —no-ri —no-rdoc
Existe a possibilidade de obter o seguinte erro ao instalar o Selenium webdriver ou atualizar o ruby gem.
Erro :O carregamento seguro YAML não está disponível. Atualize o psych para uma versão que suporte carregamento seguro (> = 2.0).
Para resolver este erro, precisamos atualizar nosso Ruby. Para atualizar o Ruby, primeiro precisaremos do gerenciador de versões Ruby, você pode obtê-lo usando este comando ($ curl -L https://get.rvm.io | bash -s stable) . Para instalar a versão mais recente do tipo Ruby ($ rvm instalar ruby - (versão)) . Reinicie o terminal assim que o rvm estiver completamente instalado.
Agora precisamos definir esta versão mais recente como queremos usá-la. Então digite ($ rvm use ruby-2.4.1). Para definir esta versão como padrão, use o seguinte comando: ($ rvm - uso padrão 2.4.1). Agora, novamente, atualize as joias de rubi. Tente instalar o selenium-webdriver. Se você receber qualquer erro novamente, então você pode requerer ferramentas de desenvolvedor de linha de comando, portanto, instale-as usando ($ git —version). Como já fizemos, não o instalamos aqui.
Para instalar o driver do Chrome, precisamos do homebrew ($ ruby -e “$ (curl -fsSL https://raw.github.com/mxcl/homebrew/go/install) ”).
Vamos instalar o driver do Chrome. ($ brew install chromedriver).
Experimente este código no terminal:
$irb >require “selenium-webdriver” You will get >true browser=Selenium::WebDriver.for:chrome browser.get “https://www.google.co.in”
Com este código, seu navegador deve abrir com a página da web especificada. Agora vamos instalar o Watir: ($ gem instalar água).
Concluímos o processo de instalação. Agora você pode começar a escrever scripts de teste.
Como usar o Watir: criação e execução de casos de teste
Você pode escrever os casos de teste ou scripts no Bloco de notas. Salve este arquivo com a extensão .rb.
Exemplo: Suponha que você tenha criado um arquivo test.rb. Para executar este script / programa, clique duas vezes neste arquivo ou siga as etapas listadas abaixo. Suponha que você salvou este arquivo na unidade C. O endereço deste arquivo é “C Ruby_Programs”.
>cd >cd Ruby_Programs >ruby test.rb
Aperte o botão ENTER. Para editar este arquivo, clique com o botão direito no arquivo e selecione a opção Abrir com.
# 1) Execução de casos de teste em paralelo
Se você escreveu dois casos de teste e os salvou como test1.rb e test2.rb. Para executar esses dois testes em paralelo, você precisa seguir estas etapas:
Fig.9: Vá para o prompt de comando e digite (> gem install parallel_tests). Você verá a seguinte mensagem.
Em seguida, execute seus testes.
>parallel_test test1.rb test2.rb
# 2) Criação de suíte de teste
Se você deseja que alguns testes sejam executados com frequência e os adicione ao conjunto de testes, aqui está o código para isso.
Código:
require 'minitest/autorun' require 'C:/Ruby_Programs/test3' # This is the path of your test file which you want to include. require 'C:/Ruby_Programs/test4' # This is the path of your test file which you want to include.
Salve este arquivo como testSuite.rb e execute
C: Ruby_Programs> ruby testSuite.rb
Exemplos Watir
Exemplo 1:
Como este é o nosso primeiro programa, vamos apenas abrir a página “Google.co.in” e clicar no link do Gmail.
Código:
require 'watir' test_site = 'https://www.google.co.in/' browser = Watir::Browser.new:firefox browser.goto test_site browser.link(:href, 'https://mail.google.com/mail/?tab=wm').click puts “Test Executes” browser.close
Entendendo o Código
# 1) require ‘watir’ # Aqui estamos informando que exigiremos a biblioteca Watir para executar nosso programa e ele será carregado com esta instrução.
# 2) test_site = “https://www.google.co.in/” # Aqui estamos declarando a variável.
# 3) browser = Watir :: Browser.new: firefox # Aqui estamos abrindo o navegador Firefox.
Watir :: Browser.new: internet_explorer # Para Internet Explorer
Watir :: Browser.new: safari # For Safari
# 4) browser.goto test_site # Ou browser.goto “https://www.google.co.in/” # comando goto é usado para navegar para o site especificado.
# 5) browser.link (: href, “https://mail.google.com/mail/?tab=wm”).click # Aqui clicamos no link do Gmail. O hiperlink é referido como um link no código e estamos usando sua propriedade “href” para localizar esse hiperlink.
# 6) puts “Teste executado” # Esta linha gravará a string “Teste executado” no prompt de comando.
# 7) browser.close # Esta linha fechará o navegador.
Se não mencionarmos os nomes dos navegadores, escreveremos apenas esta linha em nosso código (Watir :: Browser.new), o Watir abrirá o navegador Chrome, pois o Chrome é o navegador padrão do Watir.
Exemplo 2:
Neste exemplo, abriremos a página da web www.google.co.in. Em seguida, pesquisaremos o texto “Teste manual”. Em seguida, voltaremos à página inicial e clicaremos no link “Gmail”.
Código:
require 'watir' browser=Watir::Browser.new:firefox browser.goto 'https://www.google.co.in' if browser.title.include? 'Google' browser.text_field(:class, 'gsfi').set 'Manual Testing' browser.button(:name, 'btnK').click if browser.text.include? 'Manual Testing is a process of finding out the defects' puts 'Title of webpage '+ browser.title browser.img(:src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png').click browser.link(:class, 'gb_P').click else puts 'Wrong result found' end else puts 'Either you are on wrong page or page not found' end puts 'Now title of webpage '+ browser.title browser.close puts 'Test Executed Successfully'
Compreender o Código:
# 1) browser.goto https://www.google.co.in - aqui estamos navegando para o site especificado.
# 2) se browser.title.include? “Google” - aqui estamos verificando se o título da página está conforme o esperado ou não. Na outra parte deste ‘Se’, colocamos esta declaração “Ou você está na página errada ou página não encontrada”. Esta declaração será exibida no prompt de comando.
# 3) browser.text_field (: class, “gsfi”). Set “Teste manual” - aqui estamos inserindo o texto “Teste manual” na caixa de texto de pesquisa.
# 4) browser.button (: nome, “btnK”). Click - Aqui estamos clicando no botão “Pesquisa Google”.
# 5) if browser.text.include? “Teste manual é um processo de descoberta de defeitos” - Agora estamos verificando o texto da página da web para verificar se obtivemos o resultado correto da pesquisa. Na parte ‘Else’ desta declaração ‘If’ colocamos a declaração “Resultado incorreto encontrado”.
# 6) coloca “Título da página da web“ + browser.title - Aqui estamos exibindo o título da página da web no prompt de comando.
# 7) browser.img (: src, “/images/branding/googlelogo/2x/googlelogo_color_120x44dp.png”).click - Aqui estamos clicando na imagem para voltar à página inicial.
# 8) browser.link (: class, “gb_P”). Click - Aqui estamos clicando no link do Gmail.
# 9) coloca “Agora o título da página da web“ + browser.title - Agora, novamente, estamos colocando o título da página da web no prompt de comando. Deve ser o título da página do Gmail.
# 10) browser.close - Estamos fechando o navegador.
# 11) coloca “Teste executado com sucesso”. Apenas para garantir que todas as etapas sejam executadas corretamente, estamos colocando esta instrução no prompt de comando.
Exemplo 3:
Neste exemplo, tentaremos usar o máximo de comandos Watir, para que você entenda como usá-los. Veremos sua descrição junto com o código.
Código com comentários:
require 'watir' browser=Watir::Browser.new:chrome browser.goto “http://watir.com/examples/forms_with_input_elements.html” #Here we will see how to insert data in text field. t1=browser.text_field id: 'new_user_first_name' t1.set 'Testing' t2=browser.text_field id: 'new_user_last_name' t2.set “testdata' #Here we will see how to select data from select list. sl=browser.select_list id: 'new_user_languages' sl.select 'English' sl.selected_options #Here we will see how to select radio button. rd=browser.radio value: 'no' rd.set chk=browser.checkbox value: 'cars' chk.set #Here we will see how to click button. btn=browser.button name: 'new_user_button_2' btn.click #This is an Explicit wait statement. This statement will make the program wait #until the particular event happens. Watir::Wait.until {browser.text.include? 'submit'} # Here I used this if statement because this is a test webpage and nothing is #happening after clicking the button. So just to show that button is clicked I used If #statement. if browser.text.include? 'submit' puts 'Data Submitted' else puts 'Data not yet submitted' end # This is an implicit wait statement. It will make your program to wait for 30 seconds compulsory. browser.driver.manage.timeouts.implicit_wait = 30 # You can send special keys to browser. There is a big list of these keys. browser.send_keys :page_up #Here we are taking the screenshot and saving it in a png file. browser.screenshot.save ‘screenshot1.png' browser.send_keys :page_down browser.screenshot.save ‘screenshot2.png' puts 'TestCase Executed' browser.close
Esperas e chaves especiais
Existem dois tipos de instruções de espera com suporte por Watir. O primeiro é uma espera explícita e o segundo é uma espera implícita. Vimos a sintaxe de ambos no código acima, ou seja, no Exemplo 3.
Chaves especiais suportadas por Watir: Primeiro, veremos a sintaxe para usar essas chaves especiais.
- browser.send_keys: page_up #Nós usamos isso em nosso código.
- browser.element.send_keys (: control, ‘c’),: cancelar
- browser.element.click (: inserir,: espaço)
A seguir está uma lista das chaves especiais que são suportadas pelo Watir:
:digitar | : f1 | :ao controle | : numpad0 |
:mudança | : f2 | :tudo | : numpad1 |
:nulo | : f3 | :pausa | : numpad2 |
:cancelar | : f4 | :escapar | : numpad3 |
:ajuda | : f5 | :espaço | : numpad4 |
: backspace | : f6 | :fim | : numpad5 |
:aba | : f7 | :casa | : numpad6 |
:Retorna | : f9 | :acima | : numpad8 |
:desvio à esquerda | : f10 | :direita | : numpad9 |
:Controle esquerdo | : f11 | :baixa | :multiplicar |
:subir página | : f12 | :inserir | :adicionar |
: page_down | : meta | :excluir | :subtrair |
: arrow_left | :comando | :é igual a | : dividir |
Teste de regressão com Watir
No teste de regressão, verificamos se as mudanças afetaram a parte inalterada ou não.
Para isso, precisamos executar novamente nossos casos de teste anteriores. O teste de regressão será demorado se feito manualmente. Watir é uma das melhores ferramentas de teste de regressão, pois escrever, manter / atualizar e executar casos de teste são fáceis.
Conclusão
Para concluir, podemos dizer que Watir é fácil de aprender a ferramenta. É uma ferramenta de código aberto, portanto, é econômica e fácil de usar. Embora não tenha tantas vantagens sobre o Selenium WebDriver, é uma ferramenta melhor quando comparada com muitas outras ferramentas.
Ele suporta programação, portanto, é muito melhor do que outras ferramentas de gravação e reprodução. Na verdade, é uma das melhores ferramentas de teste de regressão.
Você já experimentou a ferramenta Watir?
Leitura recomendada
- 30+ Melhores Tutoriais de Selênio: Aprenda Selênio com Exemplos Reais
- Tutorial do ChromeDriver Selenium: testes do Selenium Webdriver no Chrome
- Mais de 180 casos de teste de exemplo de teste de aplicativo da Web (lista de verificação de amostra)
- Mais de 30 ferramentas de teste de aplicativos da Web em 2021 (lista abrangente)
- Guia completo de teste de aplicativo da Web (como testar um site)
- As 10 ferramentas de teste de regressão mais populares em 2021
- O que é teste de regressão? Definição, ferramentas, método e exemplo
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)