Topicos Recents
-
Dica de ferramentas para testes visuais
Geral4 -
Erro ao executar testes automatizados com o Chrome [Capybara + Selenium + Docker]
Geral1 -
Problemas com o nightwatch
Geral1 -
Ajuda com Curso
Geral5 -
Como você mapearia este elemento?
Geral12 -
Questionário sobre testes automatizados em aplicativos móveis
Geral4 -
A arte de desenvolver testes - Cucumber + Capybara
Artigos e Tutoriais44 -
Como abrir todos os link de uma página
Geral2 -
QA Analyst/Project Lead (Florianópolis/Remote)
Vagas1 -
QA Engineer - (Pinheiro)
Vagas1 -
Teste de Stress
Geral5 -
Tester que não programa, leia isso por favor.
Artigos e Tutoriais6 -
Executar tags em features diferentes no Cucumber
Geral1 -
QA, trate sua automação como software
Artigos e Tutoriais5 -
[Survey] - Testes automatizados em aplicativos móveis
Geral6 -
Cucumber para javascript Duvida
Artigos e Tutoriais2 -
Vagas QA PL e Sr - São Paulo
Vagas1 -
Episode 010 - The Automate or Die Special - The Evil Tester Show
Feed de Blogs e Posts2 -
Ruby In Tests
Artigos e Tutoriais7 -
Livros
Geral19
Problemas ao testar fluxo de compra com capybara + site prism
-
Bom dia.
Estou escrevendo alguns testes com capybara e site prism, estou especificamente fazendo um fluxo de compra em uma loja, basicamente o fluxo é este:- Procurar e selecionar produto
- Preencher informação adicional
- Comprar produto
- Verificar dados no carrinho
- Não permitir avançar sem calcular frete
- Calcular frete
Cada elemento da lista é um “it” dos meus testes, o problema ocorre a partir do segundo “it”, meu teste procura e seleciona o produto, mas quando é para preencher os dados do produto ele cria uma página em branco.
class HomePage < SitePrism::Page element :input_busca, 'input[name="palavra_busca"]' element :botao_busca, '#botao_buscar' def busca_produto(produto) input_busca.set produto botao_busca.click end end
class ProdutoPage < SitePrism::Page element :info_adicional, '#infoAdicional_5' def preenche_info_adicional(texto) info_adicional.set texto end end
require_relative '../../pages/home.rb' require_relative '../../pages/produto.rb' describe 'Produto com informação adicional e prazo adicional específico' do home_page = HomePage.new produto_page = ProdutoPage.new produto = { nome: 'informação adicional especifico', termo: '0000010' } before(:all) do visit '/' end it "Acessa o produto: #{produto[:nome]}" do home_page.busca_produto(produto[:termo]) teste = find('.product-name', text: "#{produto[:name]} #{produto[:termo]}").click expect(page).to have_content produto[:name] end it 'Preenche a informação adicional' do produto_page.preenche_info_adicional('Teste 2') end end
-
Só para entender melhor…
quando vc chamaproduto_page.preenche_info_adicional('Teste 2')
ele atualiza a pagina com uma pagina em branco? -
@Leonardo-Galani, beleza?
Pelo que eu vi, parece que ele carrega uma nova página em branco.
-
Desculpa…
Mas parece que é isso que você disse mesmo @Leonardo-Galani, é que executa muito rápido. -
Esse negocio de um teste depender do outro… não é uma boa pratica… pq pode executar fora da ordem… e com rspec vc tb consegue executar 'it’s individualmente.
parece que esses 2 ‘it’ s deveriam ser juntos.
E mesmo assim se vc criar um novo
it
e ele ainda ficar com a pagina em branco, vc está matando a sessão em algumafterEach
jogado por ai -
@Leonardo-Galani, foi o que eu pensei.
O correto então seria criar um único teste com o fluxo completo, correto?Eu to em um processo de modernização dos testes aqui da empresa e com certeza começar a adotar boas práticas é importante.
-
Sim…E se vc tem múltiplos testes que usam o mesmo setup… vc pode criar um
beforeEach
para fazer esse setup. -
Entendi, obrigado pela atenção.