Pupleto vs selênio

Pupleto vs selênio
Hoje, quando se trata de testes da Web automatizados, marionetistas e selênio são os dois nomes que surgem. Uma das principais razões pelas quais eles são bem conhecidos é a capacidade de executar navegadores sem cabeça. Portanto, antes de prosseguirmos com o artigo, vamos dar uma rápida olhada no que são navegadores sem cabeça e suas vantagens.

Em termos básicos, os navegadores sem cabeça são navegadores que podem ser usados ​​para testar a usabilidade de páginas da web e executar interações do navegador, como faria com seu navegador comum. A única diferença aqui é que não há interface gráfica do usuário (GUI) e eles geralmente são executados do terminal.

Navegadores sem cabeça:

  • ajudar a reduzir bastante o uso de recursos
  • Eles são mais rápidos
  • Eles são ideais para fins de raspagem na web
  • Eles podem ser usados ​​para monitorar o desempenho do aplicativo de rede

Agora que conhecemos um fator importante para ambas as ferramentas, podemos prosseguir.

Marionetista

Pupfeteer é uma biblioteca de nós do Google que fornece uma API simples para controlar o Chrome sem cabeça. Através de marionetistas, tarefas comuns, como digitar em entradas, clicar nos botões, testar a usabilidade das páginas da web e até a raspagem da web, pode ser realizada facilmente.

O boneco é oficial da equipe do Chrome e usa o protocolo de depuração do Chrome Remote, assim como encontraríamos com o Chrome Devtools. Esta biblioteca suporta a sintaxe JavaScript moderna disponível no Google Chrome.

Configurar

Instalar e começar com o marionetista é muito fácil. Como o boneco é uma biblioteca de nós, ele pode ser instalado usando o npm ferramenta.

A instalação pode ser feita com o comando abaixo:

NPM I PULANÇO

Executando o comando acima instala marionetistas. Espera -se também baixar uma versão recente do Chromium que funcionaria com a API.

O tamanho do cromo é varia de acordo com o sistema operacional:

  • ~ 170 MB para Mac
  • ~ 282 MB para Linux
  • ~ 280 MB para Windows

Após a instalação do marionetista, você pode descobrir mais informações sobre como começar, também pode conferir mais exemplos de código.

Características

Embora a capacidade do marionetista de lançar um navegador sem cabeça seja um recurso que ganhou uma fama, esse não é o único recurso que o torna incrível. O marionetista também tem alguns outros recursos que o tornam útil, vamos dar uma rápida olhada em alguns deles.

Automação fácil:

Embora existam outras ferramentas que podem ser usadas para automação da web, o boneco sai por cima. Isso se deve ao fato de funcionar bem apenas para um navegador, que é o navegador Chrome sem cabeça, portanto, realiza tarefas de automação da Web da maneira mais eficiente possível. Pupleto também funciona bem com bibliotecas populares de testes de unidade, como Mocha e Jasmine.

Teste de captura de tela:

Este é um recurso vital para qualquer tarefa de teste da Web automatizada. As capturas de tela são importantes e ajudam a acompanhar o resultado de interações com elementos em uma página da web. Bibliotecas como o tester de marionetes-screenshot também existem em marionetistas que fornecem a capacidade de comparar capturas de tela geradas durante o teste. Além disso, gerando capturas de tela de testes, os PDFs também podem ser gerados a partir de páginas da web testadas em marionetistas.

Teste de performance:

O Chrome fornece devtools que permitem a gravação da linha do tempo de desempenho das páginas da web, e o marionetista também tira proveito disso. Com o marionete, os traços da linha do tempo dos sites podem ser capturados para examinar os problemas de desempenho. Devido ao controle de API de alto nível do marionete sobre o Protocolo de Ferramentas de Desenvolvedores do Chrome, ele oferece aos usuários a capacidade de controlar os trabalhadores do serviço e testar o armazenamento em cache de sites.

Raspagem da web:

Uma palestra sobre recursos não seria concluída sem reconhecer a capacidade do marionetista de ser usado para fins de raspagem na web. Aprender a usar marionetistas como raspador da web é bastante fácil, dê uma olhada na documentação da API.

Prós

  1. Funciona bem para testes visuais.
  2. Ótimo para testes de ponta ao fim.
  3. Rápido quando comparado ao selênio.
  4. Pode tirar capturas de tela das páginas da web.
  5. Mais controle sobre os testes através do Chrome.
  6. Pode testar o modo offline.

Contras

  1. Suporta apenas JavaScript (nó)
  2. Suporta apenas o Chrome

Selênio

O selênio é uma poderosa estrutura de teste da web, que tem a capacidade de automatizar aplicativos da Web para fins de teste. O selênio também é conhecido por sua capacidade de automatizar tarefas de administração baseadas na Web.

O selênio vem em duas partes; O selanium webdriver para criar suítes e testes de automação baseados no navegador e o selênio IDE para criar scripts de reprodução de bugs rápidos.

Não esquecendo que o selênio também suporta navegadores sem cabeça, como visto com marionetistas.

Configurar

Ao contrário do marionetista, a criação de selênio não é direta. O selênio suporta muitos idiomas e diferentes navegadores; portanto, essas condições possíveis precisam ser cuidadas.

Listados abaixo estão os links para tutoriais oficiais sobre como configurar ligações de selênio para diferentes idiomas.

  • C#
  • Java
  • JavaScript
  • Pitão
  • Rubi

Além disso, apoiando diferentes idiomas, o selênio também suporta vários navegadores. Ao contrário do marionete que instala o cromo durante a instalação, pode ser necessário instalar drivers da web para o navegador da sua escolha.

Aqui estão os links para drivers da web para Mozilla Firefox e Google Chrome.

Se você deseja usar o selênio IDE também, ele também existe para vários navegadores. Aqui estão os links para o Selênio IDE para Mozilla Firefox e Google Chrome.

Características

Sua capacidade de trabalhar com navegadores sem cabeça o tornou indiscutivelmente a ferramenta de automação da web mais popular, mas existem outros recursos que o tornam poderoso.

Suporte de vários idiomas:

Este é um recurso de selênio muito importante. Com seu suporte de múltiplas idiomas, mais desenvolvedores podem usar a ferramenta para suas tarefas de teste de automação da web. Embora se possa pensar.

Suporte de várias plataformas:

Da mesma forma que o selênio não é restrito por barreiras linguísticas, também não é restrito pela barreira da plataforma. Não é novidade que o aplicativo da web se comporte de maneira diferente em várias plataformas. O Selenium oferece aos testadores a capacidade de testar os principais navegadores da web para fornecer uma experiência suave do usuário para usuários em diferentes navegadores. Naides Browers, o selênio também pode ser usado para testar em celulares, como Android, iOS, Windows, BlackBerry Apps.

Ferramenta de gravação:

Com o Selênio IDE, é fácil gravar testes de automação da Web. O Selênio IDE permite que os testadores usem a capacidade de gravação, bem como o suporte autocompleto e a capacidade de navegar com os comandos. A ferramenta de gravação parou de trabalhar no Firefox 55 e versões posteriores, no entanto, existem outros plugins no Firefox que servem ao mesmo objetivo. Portanto, a capacidade de registrar testes continua sendo um grande recurso de selênio.

Raspagem da web:

Enquanto o selênio é usado para testar aplicativos da web, ele também é bem escalado como um raspador da web. O selênio pode ser usado para raspar sites do Ajax e os sites mais difíceis de raspar, desde que você possa entender a estrutura HTML. Você pode conferir este tutorial sobre o uso do Selenium para raspar a web com Python.

Prós

  1. Suporte multi-plataforma.
  2. Suporte de vários idiomas.
  3. Capacidade de registrar testes.
  4. Pode tirar capturas de tela também.
  5. Comunidade enorme de usuários.

Contras

  1. Lento quando comparado ao marionetista.
  2. Controle limitado sobre os testes quando comparado ao marionetista.

Conclusão

Se você não se incomoda em testar páginas da web em outras plataformas, assim como o Chrome, é bom trabalhar com marionetistas, desde que possa trabalhar com JavaScript (nó). No entanto, se você está preocupado com várias plataformas, o uso de selênio é um acéfalo. Falando sobre suas habilidades de raspagem na web, ambas as ferramentas estão por aí. Deve -se notar que o marionetista pode ser mais rápido que o selênio.

Qualquer ferramenta que você escolher no final do dia deve ficar bem, apenas goste de escrever seus scripts de automação.