Puppeteer Web Scraping e Test Automation - Um excelente guia de aprendizado do tutorial 3 do Puppeteer

Hoje em dia, o Puppeteer está recebendo mais atenção como uma ferramenta de raspagem da web. Devido à simplicidade, à disponibilidade como ferramenta de código aberto e à capacidade de desenvolver aplicativos de página única, o Puppeteer está ganhando popularidade. Antes de começar a aprender sobre a ferramenta de web scraping Puppeteer, devemos ter um conhecimento básico da linha de comando, Javascript e estrutura HTML DOM. O Tutorial de marionetista foi dividido em alguns artigos que são especificados na tabela de conteúdo abaixo.

Tutorial do Titereiro

Tutorial Tosca # 1: Visão geral do titereiro

Tosca Tutorial # 2: Variáveis ​​de ambiente do titereiro

Tosca Tutorial # 3: Visão geral da criação da Web do Puppeteer e da automação do teste do Puppeteer

Tosca Tutorial # 4: Instale o Puppeteer 

Neste artigo de Tutorial do Titereiro, discutiremos o Puppeteer Web Scraping com um exemplo e uma visão geral da automação do Puppeteer Test. 

Raspagem da Web do Titereiro

O processo de extração de dados de qualquer página da web é chamado de web scraping. A extração da Web tem duas etapas. Em primeiro lugar, ele busca a página da web e, em seguida, extrai os dados. Após a extração dos dados, podemos usá-los para qualquer API ou armazená-los em um arquivo CSV. 

Puppeteer é uma das melhores ferramentas para suportar web scraping para o navegador Google Chrome ou Chromium. A raspagem da teia do titereiro é explicada em detalhes com o exemplo abaixo - 

Exemplo básico de extração da Web do Puppeteer:

Passo 1# O Puppeteer funciona na biblioteca Node JS. Portanto, o primeiro passo é incluir a biblioteca do titereiro antes de escrever o script para web scraping.

const puppeteerObj = require("puppeteer");

Passo 2# Depois de incluir a classe Puppeteer, precisamos escrever uma função assíncrona usando a palavra-chave await. É necessário porque o Titereiro usa promessas. Em seguida, chame o método Puppeteer.launch () para invocar o navegador e chame o método newPage () para criar uma instância de página da web.

const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();

Passo 3# Agora chame o método page.goto () para fornecer a URL do site desejado.

await pageWeb.goto("https://techiescience.com/");

Passo 4# Use o método page.evaluate () para capturar o texto de qualquer elemento específico (neste exemplo, capturaremos o texto do cabeçalho). 

const data = await pageWeb.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

Discutiremos como identificar qualquer objeto da tela da web no próximo tutorial.

Tutorial do Puppeteer - Scraping da Web do Puppeteer
Tutorial do Puppeteer - Scraping da Web do Puppeteer

Passo 5# Nesta última etapa, precisamos processar os dados e, em seguida, fechar a página da web. O código completo do Puppeteer Web Scraping será semelhante a abaixo -

const puppeteer = require("puppeteer");

async function scrap() {
  // Launch the browser
  const browserApp = await puppeteer.launch();
  // Create a page instance
  const pageApp = await browserApp.newPage();
  // invoke the web page for scraping
  await pageApp.goto("https://techiescience.com/");

  // Select any web element
const data = await pageApp.evaluate(() => {   
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };

// Here we can do anything with this data. Here displaying the data
console.log(header);

 //We close the browser
  await browserApp.close();
}

Scrap();

Passo 6# Agora, podemos executar este código de web scraping de puppeteer usando o comando:  nó index.js

Observação: No próximo artigo, “Instalar o Puppeteer,” discutiremos a configuração da instalação do Puppeteer e executar o código do Puppeteer Web Scraping acima.

Visão geral da automação de teste do titereiro

Além de web scraping, o Puppeteer tem os recursos para realizar as atividades abaixo também,

  • Capture as imagens de páginas da web.
  • Podemos salvar a tela da página da web como um arquivo pdf.
  • A automação de etapas manuais pode ser alcançada para realizar testes de IU.

Assim, combinando todos os recursos acima, podemos usar o Puppeteer para automação de teste. Para entender a automação de teste do Puppeteer, primeiro, precisamos nos familiarizar com o teste de software.

Visão geral do teste:

O teste é necessário para garantir que todos os requisitos de software sejam atendidos sem quaisquer problemas. Diferentes tipos de ciclos de teste estão disponíveis desde o início do processo de desenvolvimento de software. O software pode ser testado manualmente ou por meio de abordagem automatizada.

Os objetivos do teste de software são -

  • Verifique a qualidade dos produtos.
  • Encontre os bugs do produto antes da implantação da produção.
  • A verificação dos requisitos foi satisfeita.
  • Testando o desempenho do produto.

Os tipos de teste são explicados aqui -

Teste de Unidade - Os desenvolvedores são os responsáveis ​​por realizar os testes de unidade durante a fase de desenvolvimento do código.

Teste de integração - Este teste é necessário após a integração dos diferentes componentes do produto de software. O objetivo principal é garantir que todas as interfaces estejam funcionando perfeitamente.

Teste do sistema - É um teste detalhado que deve ser feito após a integração para garantir que todos os requisitos sejam atendidos.

Teste de Aceitação - É também um teste detalhado que deve ser feito pelo usuário final do produto para garantir a qualidade.

Teste de regressão - É necessário para garantir que o processo de negócios principal funcione sem problemas durante qualquer aprimoramento de software.

Vantagens da automação de teste:

  • Reduza o ciclo de execução.
  • Evite as chances de erros humanos.
  • Minimize os esforços de execução de teste.
  • Lançamento rápido de software.
  • Aumente a cobertura de teste para reduzir o risco.
  • Capacidade de executar execução paralela.

Por que Puppeteer?

A maioria das operações manuais realizadas no navegador Chrome pode ser automatizada usando o Puppeteer. Portanto, o Puppeteer é uma boa escolha para testes de unidade em aplicativos da web de maneira rápida e fácil. 

As limitações de Puppeteer como uma ferramenta de teste de automação são –

  • Suporta apenas os navegadores Chrome e Chromium.
  • O teste do navegador Coss não é possível.
  • O teste móvel não pode ser feito.

Teste do Chrome sem cabeça:

O navegador sem cabeça significa que o Puppeteer está interagindo com um navegador Chrome como um aplicativo de segundo plano, o que significa que a IU do Chrome não fica visível na tela. Portanto, o teste de cromo sem cabeça significa que o teste de automação deve ser executado em um navegador oculto. Além disso, após o teste de cromo sem cabeça, o Puppeteer é capaz de capturar a tela da web corretamente.

Titereiro vs Selênio

A comparação entre Puppeteer e Selenium como uma ferramenta de teste de automação é explicada abaixo -

  • Suporte à linguagem de programação - Puppeteer suporta apenas JavaScript, onde Selenium suporta linguagens Java, Python, Node.js e C #.
  • Suporte do navegador - Puppeteer é aplicável apenas para os navegadores Chrome ou Chromium, mas o Selenium também suporta os navegadores Chrome, Mozilla, Safari, IE e Opera.
  • Suporte da comunidade - Suporte da comunidade restrito a Grupos do Google, GitHub e Stack Overflow para o Puppeteer. Mas para Selenium, um amplo suporte da comunidade em vários fóruns está disponível.
  • Velocidade de execução - A execução do script do Puppeteer é mais rápida do que o Selenium.
  • Instalação e configuração - A instalação e configuração do Puppeteer é um processo mais fácil e simples.
  • Suporte multiplataforma - O titereiro não o apóia, mas o Selênio pode.
  • Gravando - Os recursos de gravação não estão disponíveis no Puppeteer. Mas esse recurso está disponível para Selenium IDE.
  • Capturas de tela - Puppeteer tem a capacidade de fazer uma captura de tela como uma imagem ou formato PDF, onde o Selenium pode suportar apenas o formato de imagem.
  • Suporte à plataforma de teste – O Puppeteer suporta apenas navegadores da web, mas o Selenium pode automatizar a web e celular com Appium.
  • Habilidades de codificação - É necessário para o driver da Web Puppeteer Selenium, mas não para o Selenium IDE.

Com base na comparação acima, podemos concluir que o Puppeteer fará a melhor escolha quando tivermos que realizar testes de nível de unidade para qualquer aplicativo da Web em que uma solução rápida e flexível seja necessária. A outra ferramenta, o Selenium, será a melhor escolha quando houver necessidade de aplicativo móvel e multiplataforma teste de aplicativos. Clique SUA PARTICIPAÇÃO FAZ A DIFERENÇA para aprender Selenium com LambdaGeeks.

Conclusão:

Neste artigo introdutório sobre Tutorial do Titereiro, aprendemos sobre a visão geral do Puppeteer Web Scraping e da Automação de Teste do Puppeteer. Aprenderemos sobre o guia passo a passo para instalar o Puppeteer e executar um pequeno script no próximo artigo do Puppeteer. Por favor clique SUA PARTICIPAÇÃO FAZ A DIFERENÇA para visitar o portal de referência para este Tutorial do Puppeteer.

Deixe um comentário