Puppeteer Webスクレイピングとテスト自動化–Puppeteerチュートリアル3の優れた学習ガイド

今日、Puppeteerはウェブスクレイピングツールとして注目を集めています。 シンプルさ、オープンソースツールとしての可用性、シングルページアプリケーションを開発する機能により、Puppeteerは人気を博しています。 Puppeteer Webスクレイピングツールの学習を開始する前に、コマンドライン、Javascript、およびHTMLDOM構造の基本を理解している必要があります。 The Puppeteerチュートリアル 以下の目次で指定されているいくつかの記事に分割されています。

Puppeteerチュートリアル

Toscaチュートリアル#1: パペッティアの概要

トスカ チュートリアル #2: Puppeteer環境変数

トスカ チュートリアル #3: PuppeteerWebスクレイピングとPuppeteerテスト自動化の概要

トスカ チュートリアル #4: Puppeteerをインストールします 

この記事では Puppeteerチュートリアル、Puppeteer Web Scrapingについて、例とPuppeteerTestの自動化の概要を使用して説明します。 

PuppeteerWebスクレイピング

Webページからデータを抽出するプロセスは、Webスクレイピングと呼ばれます。 WebスクレイピングにはXNUMXつのステップがあります。 まず、Webページをフェッチしてから、データを抽出します。 データ抽出後、任意のAPIに使用したり、CSVファイルに保存したりできます。 

Puppeteerは、GoogleChromeまたはChromiumブラウザのWebスクレイピングをサポートするための最良のツールのXNUMXつです。 パペッティアウェブスクレイピングは、以下の例で詳細に説明されています– 

基本的なPuppeteerWebスクレイピングの例:

ステップ1# PuppeteerはNodeJSライブラリで動作します。 したがって、最初のステップは、Webスクレイピングのスクリプトを作成する前にpuppeteerライブラリを含めることです。

const puppeteerObj = require("puppeteer");

ステップ2# Puppeteerクラスを含めた後、awaitキーワードを使用して非同期関数を作成する必要があります。 Puppeteerはpromiseを使用するため、これは必須です。 次に、Puppeteer.launch()メソッドを呼び出してブラウザーを呼び出し、newPage()メソッドを呼び出してWebページインスタンスを作成します。

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

ステップ3# 次に、page.goto()メソッドを呼び出して、目的のWebサイトのURLを指定します。

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

ステップ4# メソッドpage.evaluate()を使用して、特定の要素のテキストをキャプチャします(この例では、ヘッダーテキストをキャプチャします)。 

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

次のチュートリアルでは、Web画面からオブジェクトを識別する方法について説明します。

Puppeteerチュートリアル-PuppeteerWebスクレイピング
Puppeteerチュートリアル– PuppeteerWebスクレイピング

ステップ5# この最後のステップでは、データを処理してからWebページを閉じる必要があります。 完全なPuppeteerWebスクレイピングコードは次のようになります–

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://lambdageeks.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();

ステップ6# これで、次のコマンドを使用して、このpuppeteerWebスクレイピングコードを実行できます。  ノードindex.js

注意: 次の記事「Puppeteerのインストール」では、Puppeteerのインストール設定について説明し、上記のPuppeteerWebスクレイピングコードを実行します。

Puppeteerテスト自動化の概要

ウェブスクレイピングとは別に、Puppeteerには以下のアクティビティを実行する機能もあります。

  • Webページのスクリーンショットをキャプチャします。
  • Webページの画面をPDFファイルとして保存できます。
  • UIテストを実行するために、手動ステップの自動化を実現できます。

したがって、上記のすべての機能を組み合わせて、テスト自動化にPuppeteerを使用できます。 Puppeteer Test Automationを理解するには、まず、ソフトウェアテストに精通している必要があります。

テストの概要:

すべてのソフトウェア要件が問題なく満たされていることを確認するには、テストが必要です。 ソフトウェア開発プロセスの最初から、さまざまなタイプのテストサイクルを利用できます。 ソフトウェアは、手動または自動化されたアプローチでテストできます。

ソフトウェアテストの目的は–

  • 製品の品質を確認します。
  • 本番環境に展開する前に、製品のバグを見つけてください。
  • 要件の確認が満たされています。
  • 製品のパフォーマンスをテストします。

テストの種類はここで説明されています–

単体テスト –開発者は、コード開発フェーズで単体テストを実行する責任があります。

統合テスト –このテストは、ソフトウェア製品のさまざまなコンポーネントを統合した後に必要になります。 主な目的は、すべてのインターフェイスがスムーズに機能していることを確認することです。

システムテスト –これは詳細なテストであり、統合後にすべての要件が満たされていることを確認するために実行する必要があります。

ユーザー受け入れテスト –これは、品質を保証するために製品のエンドユーザーが実行する必要のある詳細なテストでもあります。

回帰テスト –ソフトウェアの拡張時に、コアビジネスプロセスがスムーズに機能するようにする必要があります。

テスト自動化の利点:

  • 実行サイクルを短縮します。
  • 人的エラーの可能性を回避します。
  • テスト実行の労力を最小限に抑えます。
  • 迅速なソフトウェアリリース。
  • リスクを減らすために、テストの対象範囲を広げてください。
  • 並列実行を実行する機能。

なぜパペッティア?

Chromeブラウザで実行される手動操作のほとんどは、Puppeteerを使用して自動化できます。 したがって、Puppeteerは、Webアプリケーションでのユニットテストをすばやく簡単に行うのに適しています。 

の制限 自動化テストツールとしてのPuppeteerは–

  • ChromeおよびChromiumブラウザのみをサポートします。
  • Coss-browserテストはできません。
  • モバイルテストは実行できません。

ヘッドレスクロームテスト:

ヘッドレスブラウザは、PuppeteerがバックグラウンドアプリケーションとしてChromeブラウザと対話していることを意味します。つまり、ChromeUIは画面に表示されません。 したがって、ヘッドレスクロームテストは、自動化テストが非表示のブラウザで実行されることを意味します。 また、ヘッドレスクロームテストの後、PuppeteerはWeb画面を適切にキャプチャできます。

パペッティアvsセレン

Puppeteerチュートリアル-Puppeteervs Selenium
人形 チュートリアル– Puppeteer vs Selenium

自動化テストツールとしてのPuppeteerとSeleniumの比較を以下に説明します–

  • プログラミング言語のサポート– PuppeteerはJavaScriptのみをサポートし、SeleniumはJava、Python、Node.js、およびC#言語をサポートします。
  • ブラウザのサポート– PuppeteerはChromeまたはChromiumブラウザーにのみ適用できますが、SeleniumはChrome、Mozilla、Safari、IE、Operaブラウザーもサポートしています。
  • コミュニティサポート– コミュニティサポートは、Googleグループ、GitHub、およびPuppeteerのStackOverflowに制限されています。 ただし、Seleniumの場合、複数のフォーラムにわたる幅広いコミュニティサポートを利用できます。
  • 実行速度– Puppeteerスクリプトの実行はSeleniumよりも高速です。
  • インストールとセットアップ– Puppeteerのインストールとセットアップは、より簡単でシンプルなプロセスです。
  • クロスプラットフォームのサポート– Puppeteerはサポートしていませんが、Seleniumはサポートしています。
  • 録音 - Puppeteerでは録音機能は利用できません。 ただし、この機能はSeleniumIDEで使用できます。
  • スクリーンショット– Puppeteerには、スクリーンショットを画像またはPDF形式として取得する機能があり、Seleniumは画像形式のみをサポートできます。
  • プラットフォームサポートのテスト– PuppeteerはWebブラウザーのみをサポートしますが、SeleniumはWebと Appiumを搭載したモバイル.
  • コーディングスキル– Puppeteer Selenium Webドライバーには必要ですが、SeleniumIDEには必要ありません。

上記の比較に基づいて、高速で柔軟なソリューションが必要なWebアプリケーションに対してユニットレベルのテストを実行する必要がある場合は、Puppeteerが最良の選択であると結論付けることができます。 もうXNUMXつのツールであるSeleniumは、モバイルアプリケーションとクロスプラットフォームが必要な場合に適しています。 アプリケーションテストに設定します。 OK をクリックします。 (詳細を見る)。 LambdaGeeksからSeleniumを学ぶ。

結論:

この紹介記事では Puppeteerチュートリアル、PuppeteerWebScrapingとPuppeteerTestAutomationの概要について学びました。 次のPuppeteerの記事では、Puppeteerをインストールして小さなスクリプトを実行するためのステップバイステップガイドについて学習します。 クリックしてください (詳細を見る)。 このPuppeteerチュートリアルのリファレンスポータルにアクセスします。

コメント

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *

上へスクロール