Skip to content
Diego Henrique Domingues edited this page Mar 11, 2015 · 1 revision

Configuração do Ambiente

Principais Gems utilizadas

Padrão para nomes

  • Nomes de atributos devem usar underline.
  • Nomes de classe e módulos devem usar UpperCamelCase.
  • Classes de testes devem ser escritas em formato de BDD. 
  • Escrever classe, atributo, etc em português.

Code Style Ruby

Padrões

  • A partir da branch r127, cada módulo corresponderá na pipe-line a uma equipe.
cadastros=taurus  
comerial=navegantes  
contabil=aguia  
ferramentas=navegantes  
financeiro=taurus  
fiscal=aguia  
operacao=navegantes
  • Existe uma pasta chamada lib, que são colocados as classes de page-object.

  • Ao setar a page_url, montar a URL com base no menu_key.

page_url "http://#{getUrl}/menu/1063"
  • Os módulos devem corresponder a estrutura do menu.
module ERP module Fiscal module GuiaRecolhimento
  • Para fazer a asserção, usar:
expect(@page.msgErroNovoTipoAreaVenda).to eq("Não é possivel ter mais de um Tipo de Área de Venda com a mesma descrição!")
  • Cada classe de teste deve ser escrita usando it.
  • Em cada teste deve ser instanciado o browser.
it "Dado que o usuário clica na aba Areas de Vendas  
 E clica no botão de Novo Tipo  
 E preenche o nome do novo tipo com um nome existente  
 Quando clicar no botão Criar  
 Então deve exibir mensagem de erro" do  
 @page = ERP::Cadastros::Operacoes::AreasDeVendas.new($browser, true)  
 end
  • Métodos devem ser escritos dentro do Page Object.
  • Para variáveis de instância devemos colocar uma estrutura parecida com a abaixo:
before(:all) do  
 @tipo_area_venda = "Corredor"  
 @descricao_area_venda = "Descrição do corredor"  
 end

O que evitar?

  • Colocar sleeps no código.

 

Como realizar chamadas AJAX?

Dicas

  • Para rodar apenas um exemplo dos testes, execute: bundle exec rspec path_para_pasta -e 'descricao para o exemplo'

  • Para rodar os testes usando o rake:

  • rake all ( Ex: rake all ) # executa todos os testes (high e low) de todas as equipes

  • rake all_high ( Ex: rake all_high ) # executa todos os testes high de todas as equipes

  • rake all_low ( Ex: rake all_low ) # executa todos os testes low de todas as equipes

  • rake equipe:high ( Ex: rake taurus:high ) # executa todos os testes high da equipe

  • rake equipe:low ( Ex: rake taurus:low )  # executa todos os testes low da equipe

  • rake equipe:run nome_do_arquivo ( Ex: rake taurus:run quitacao )  # executa todos os testes que o arquivo de spec tem quitacao no nome

Importante

  • O arquivo base.rb fica na raiz da past ui-test do ERP, e nela ficam alguns dos metódos que podem ser usados em qualquer parte do código.
  • No arquivo override.rb são sobre escritos alguns métodos padrão do Page Object. 
  • Fazemos os testes com base nos qa_homo e qa_prod, por tanto, os testes devem estar passando em ambos. Devemos evitar essa prática, por enquanto ainda é o recurso que nós temos/sabemos para resolver alguns problemas dos testes como a latência para acessar as bases dos qa's.