Qual o framework de testes que devo escolher para automatizar aplicações web?
Quando começei
O primeiro framework (open source) de automação que usei foi Selenium RC + Java em 2008. Quando o Selenium Webriver foi lançado, comecei a usar com C# (eu amo programar em dó sustenido).
Estudando Ruby, conheci frameworks para automação que são simplesmente fantásticos e maduros. (Trabalhei na boo-box por um tempo (acho que em 2011), e os Devs Rubistas que eram tops me apresentaram o Capybara.)
Já fiz muitos projetos com o Capybara e ministro treinamento com o Capy também. Às vezes, vejo em alguns grupos uma galera perguntando qual o melhor, Capybara ou Watir, ou Selenium puro? Creio que o melhor é aquele que você sabe usar e entregar projeto. hahaha
Se você está começando na automação, vou te falar um pouco sobre ambos. O Selenium parece uma opção natural, é open source e super popular, jogou no Google verá uma infinidade de artigos falando sobre ele e tudo mais. Mas o fato é que com o Capybara e Watir eu obtive uma produtividade absurda nas entregas de projetos. Isso pra mim, faz uma baita diferença.
Linguagem
Se eu considerar o meu gosto pessoal, eu programo em C# ou Javascript (node.js), pois é nisso que tenho mais experiência. Minha equipe de testes em 2012, não tinha experiência alguma com programação e tinham diversos bloqueios com isso. Percebi que com o Ruby o bloqueio poderia ser removido ou minimizado e unificado com a simplicidade do Capybara, teríamos finalmente uma equipe de automatizadores. Foi exatamente assim que aconteceu, em poucos meses, tínhamos um time de QA de alta performance.
Criar códigos em Ruby é simples e divertido. Porque Ruby é menos verboso, com tipagem dinâmica e pouco burocrático. Lembro que os QAs do meu time se apaixonaram, e era lindo ver todo mundo codando e automatizando testes com Capybara, Cucumber e RSpec 🙂

Importante
Devemos considerar automação de testes como um valor agregado para os Devs também, os próprios Devs podem, manter, melhorar, utilizar o código de testes. Mas isso já é assunto para outro fórum…srrs
Veja a tabelinha
Pesquisando sobre ambos, listei abaixo um pequeno comparativo. Espero que ajude.

Watir | Capybara | Selenium | |
Approach de codificação | Orientado a Objeto | DSL | Orientado a Objeto |
Lançado em: | 2008 | 2009 | 2004 |
Popularidade | 3º | 2º | 1º |
Ativo? | Parece que sim | Sim | Sim |
Último release | 12/2018 | 01/2020 | 01/2020 |
Configuração | Muito simples | Simples | Médio |
Sintaxe | Simples | Muito simples | Médio |
Roda com o Cucumber? | Sim | Sim | Sim |
Posso usar com BrowserStack e/ou SauceLabs | Sim | Sim | Sim |
Page Object | Sim | Sim (fica legal com SitePrism) | Sim |
Browers | Chrome Firefox Edge IE Safari | Chrome Firefox (da para estender para os outros) | Firefox Chrome IE Safari Opera |
Roda em Headless? | Sim | Sim | Sim |
Localizadores | Id, Nome, CSS Selectors, XPath | Id, Nome, CSS Selectors, XPath | Id, Nome, CSS Selectors, XPath |
Conclusão
O fato é que o Capybara é o queridinho dos Testers, e o Selenium, dos programadores. Por outro lado, a popularidade do Capybara na comunidade é de QA é muito alta.
Watir? Ja usei e gostei :O. Capybara? uso muito e gosto demais. Selenium estude e não pra não ficar na mão :/
O que você pode considerar:
- Watir tem um suporte bacana no github (mas não tem Release desde dezembro de 2018);
- Provavelmente você encontrará um QA Ruby com mais experiência em Capybara do que em Watir ou Selenium;
- Capybara é mais popular e aceito no mercado de trabalho;
- Capybara tem Release a cada trimestre (em média);
- Cursos com Capybara são mais populares também. Inclusive aqui na QA Ninja.
- Se você aprender Capybara, migrar para Watir ou Selenium será melzinho na chupeta.
Então, por enquanto estou com o Capybara 🙂
Qual a sua opinião? Deixe um comentário e compartilha conosco!
Comentários