BIGtheme.net http://bigtheme.net/ecommerce/opencart OpenCart Templates

Criando projeto de automação de testes mobile – Parte 2

Vamos iniciar a segunda parte, então começaremos por editar o arquivo env.rb, este arquivo é carregado primeiramente quando rodarmos os testes, vamos adicionar no env.rb o seguinte código:

Para você acessar o arquivo env.rb você deve seguir este path: nome-projeto/features/support/env.rb

 

require "appium_lib"
require "pry"


def caps
    { caps: { deviceName: "Samsung",
        platformName: "Android",
        deviceName: "J7 Galaxy"
        app: (File.join(File.dirname(__FILE__), "PreciseUnitConversion.apk")),
        appPackage: "com.ba.universalconverter",
        appActivity: "MainConverterActivity",
        newCommandTimeout: "3600",
    appium_lib: { wait: 20,
    		  debug: false
    			  }

  }}
end

Appium::Driver.new(caps)
Appium.promote_appium_methods Object

Vamos entender cada uma das linhas:

Linha 1 e 2: São bibliotecas necessárias para rodar os testes.

Linha 5: Criamos uma nova função chamada caps, esta funcão tem vários atributos nela, vamos entender cada um

  • platformName
  • deviceName
  • app
  • appPackage
  • appActivity
  • newCommandTimeout
  • debug
Qual plataforma você quer utilizar, você pode optar por

  • iOS
  • Android
  • FirefoxOS
Que tipo de device e seu nome você usará? Pode ser um emulador/simulador ou device real conectado ao local que irá rodar os testes.

Para descobrir o nome do device real, conecte-o com a opção de desenvolvedor: DEPURAÇÃO DE USB(debug) habilitada e no seu terminar insira o seguinte comando: “$adb devices” então mostrará o nome do device.
Exemplo:

Neste parâmetro você precisa inserir o local exato onde está seu app ou qual URL. Este arquivo pode ser um .ipa ou apk  ou .zip contendo esses dois arquivos. O Appium irá pegar esse arquivo e tentar instalar no primeiro device (caso você não especifique o deviceName) ou irá instalar no device que você definio em deviceName.

Exemplo:

  • /users/quatest/teste/meu.apk
  • http://quatest.com.br/teste/app.ipa
Java Package do app que você irá rodar

Exemplo:

  • com.example.quatest.meuApp
  • com.android.home
Nome da activity que irá abrir do Package

Exemplo:

  • MainActivity
  • .Setting
 Quanto tempo (em segundos) o Appium irá aguardar um novo comando até assumir que o client finalizou para encerrar a sessão.

Exemplo:

  • 20
  • 60
Este parâmetro você irá setar com TRUE ou FALSE para que os logs mudem conforme sua escolha para debugar

 

Outro arquivo que vamos adicionar é o hooks.rb.

Para você acessar o arquico hooks.rb você deve seguir este path: nome-projeto/features/support/hooks.rb

Vamos adicionar o seguinte código:

Before do
  $driver.start_driver	
end

After do |scenario|
  if scenario.failed?
    unless File.directory?("screenshots") 
      FileUtils.mkdir_p("screenshots")
    end

    time_stamp = Time.now.strftime("%Y-%m-%d_%H.%M.%S")
    screenshot_name = "#{time_stamp}.png"
    screenshot_file = File.join("screenshots", screenshot_name)
    $driver.screenshot(screenshot_file)
    embed("#{screenshot_file}", "image/png")
  end
  $driver.driver_quit
end

AfterConfiguration do
  FileUtils.rm_r("screenshots") if File.directory?("screenshots") 
end

O Before fará com que o driver seja iniciado antes dos testes iniciarem

O Afer fará com que em caso de falha de algum cenário irá tirar um screeshot e salvar e fará o driver parar.

AfterConfiguration deletará a pasta sempre que iniciar uma nova rodada de testes para excluir os screenshots antigos.

 

Vamos adicionar esses arquivos? Qualquer dúvida só deixar seu comentário!

 

 

 

 

About Luiz Lohn

Avatar
Luiz Lohn trabalha como QA Engineer em uma multinacional, além de realizar palestras e consultorias em empresas. Atua como um dos coordenadores do GUTS-SC (Grupo de usuário de teste de software), membro ativo na comunidade de qualidade e teste de software, ministra palestras e cursos. Especializando-se em segurança web e mobile.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Page Reader Press Enter to Read Page Content Out Loud Press Enter to Pause or Restart Reading Page Content Out Loud Press Enter to Stop Reading Page Content Out Loud Screen Reader Support