2022年のEclipseを使用した32のサンプルSeleniumプロジェクト

公開: 2021-01-04

Seleniumは、Webテストの自動化セクションで最も優れたテクノロジーの1つです。 Seleniumを適切に使用することで、テストプロセスを非常に効率的にし、短時間で複数のタスクを完了することができます。

そのため、Seleniumを学ぶことは多くの重要性を獲得しています。 この記事では、Javaベースのプロジェクトで人気のあるもう1つのテクノロジーであるEclipseを使用してSeleniumプロジェクトで作業する方法を学習します。

まず、これらのテクノロジーの基本について説明します。 次に、Eclipseを使用してSeleniumプロジェクトを開始する方法を見ていきます。 また、インスピレーションを得ることができるサンプルプロジェクトを共有しました。 始めましょう。

目次

セレンとは何ですか?

Seleniumは、ポータブルフレームワークであり、Webアプリのテストに人気のあるツールです。 Python、C#、Javaなどの複数のプログラミング言語と互換性があります。 これらの言語を使用して、テストスクリプトの作成など、Seleniumでさまざまなタスクを実行できます。 それでも、ほとんどのユーザーは、他のフレームワークよりもユーザーフレンドリーであるため、このフレームワークでJavaを使用することを好みます。

Seleniumは単一のソフトウェアアプリケーションではありません。 これは、さまざまな種類のテストを実行するために使用できるさまざまなツールのスイートです。

Seleniumのスイートには次のツールがあります。

  • Selenium IDE(統合開発環境)
  • Selenium WebDriver
  • SeleniumクライアントAPI
  • Seleniumリモートコントロール(非推奨)
  • Seleniumグリッド

Jason Hugginsは、2004年にSeleniumを作成しました。彼は、反復的な手動テストプロセスを自動化したかったので、JavaScriptプログラムを作成しました。 その同じプログラムがSeleniumCoreになりました。 Jasonとは別に、他の多くの開発者がSeleniumスイートの作成に貢献しました。

セレンと呼ばれる理由

セレンの名前は冗談に由来しています。 その開発の時点で、MercuryInteractiveという名前の別の主要な自動テストフレームワークがありました。 セレンは水銀中毒の人気の解毒剤であるため、ジェイソンは冗談めかしてセレンを友人に提案しました。 彼の友人はその提案を受け入れ、現在の名前を付けました。

Seleniumの機能

セレンには多くの機能があります。 最も顕著なものは次のとおりです。

  • Seleniumは、Chrome、Opera、Safariなど、業界のほぼすべての主要なブラウザと互換性があります。
  • このスイートには、Seleneseと呼ばれる特定のコマンドグループがあります。 それらはすべてのSeleniumコマンドのシーケンスを保持します。
  • Seleniumの要素ロケーターを介してWebページ上の要素を見つけることができます。
  • Seleniumを使用してデスクトップアプリケーションまたはモバイルアプリをテストすることはできません。 Webアプリのテストにのみ使用できます。

読む: Seleniumプロジェクトのアイデア

Mavenとは何ですか?

Mavenは、開発者が主にJavaプロジェクトに使用する自動化ツールです。 Javaとは別に、C#、Scala、Rubyなどの他のいくつかのプログラミング言語で使用できます。これはApache Software Foundationの製品であるため、オープンソースツールです。

Mavenはビルドプロセスをはるかに簡単にし、統一されたビルドシステムを提供します。 これにより、Java開発者は、Javaプロジェクトで作業する際に最良の開発プラクティスに従うことができます。 2002年に業界に参入し、それ以来、最も重要なApacheプロジェクトの1つになりました。

Mavenの名前は、「知識の蓄積者」を意味するイディッシュ語の「maven」に由来しています。

Mavenの機能

  • Mavenはさまざまなプロジェクト間の一貫性を保証します
  • モジュールまたはプロジェクトの定型文を提供することにより、プロジェクトのセットアップを簡素化します
  • 一度に複数のプロジェクトで作業できます
  • Mavenは、多くの場合、スクリプトを必要とせずに、WARやJARなどの特定の出力タイプに任意の数のプロジェクトを組み込むことができます。
  • POM(プロジェクトオブジェクトモデル)に基づいています

SeleniumとMavenについて説明したので、EclipseIDEについて理解しましょう。 Eclipseを使用してSeleniumプロジェクトで作業する場合は、これら3つの実用的な知識を持っていることが重要です。

Eclipse IDEとは何ですか?

Eclipseは、開発者がSeleniumおよび関連テクノロジーを操作するのに役立つIDE(統合開発環境)です。 Eclipseを使用して、C ++、Ruby、Python、C、Perl、Javaなどでアプリケーションを開発できます。

EclipseIDEの機能

  • これはオープンソースツールであり、無料で使用できることを意味します。
  • Eclipse IDEの基本的なプラットフォームには複数のプラグインがあり、より多くのプラグインで拡張できます。
  • それぞれのプラグインを使用して、Eclipseを任意のプログラミング言語のIDEに変換できます。
  • JDT(Java Development Tools)プロジェクトは、EclipseをJavaIDEとして使用するためのプラグインを提供します。 同様に、PyDevは、EclipseをPythonIDEとして使用できるようにするプラグインです。
  • Eclipseプラットフォームとそのプラグインを使用して、IDEやクライアントアプリケーションなどを作成できます。

EclipseIDEでSeleniumプロジェクトを作成する方法

記事のこのセクションでは、Eclipseを使用してSeleniumプロジェクトを作成する方法を見ていきます。 これはSeleniumプロジェクトに取り組む最初のステップであり、多くの初心者がそれに苦労しています。

Eclipseを介してSeleniumプロジェクトを作成する前に、システムにMavenとTestNGをインストールする必要があります。 このプロセスを開始する前に、必ずそれら(MavenおよびTestNG)をインストールしてください。

ステップ1:

Eclipseを開き、[パッケージエクスプローラー]セクションを右クリックします。 メニューポップアップが表示されます。 [新規]ボタンを選択すると、別のメニューが開き、[その他...]オプションが選択されます。

ステップ2:

「その他…」ボタンをクリックすると、新しいウィンドウが開きます。 Mavenプロジェクトを選択し、[次へ]ボタンをクリックします。

ステップ3:

新しいウィンドウが表示されます。 ここでは、[単純なプロジェクトを作成する(アーキタイプの選択をスキップする)]チェックボックスをオンにする必要があります。 その後、「次へ」ボタンを選択します。

ステップ4:

このセクションでは、グループIDとアーティファクトIDを入力する必要があります。 これらは両方とも、プロジェクトの命名に不可欠です。 グループIDは、他のすべてのプロジェクト全体でプロジェクトを識別するのに役立ちます。 パッケージ名の規則に従う必要があります。 これは、管理する逆ドメイン名で開始する必要があることを意味します。 Mavenはこの命名規則を強制しません。 ただし、ツールの人気が非常に高いため、このルールに従うのが一般的な方法になっています。 グループIDを使用して複数のサブグループを作成することもできます。

アーティファクトIDは、バージョンのないjarの名前です。 あなたがその作成者である場合、奇妙な記号を使用せず、小文字のみを使用する限り、任意の名前を選択できます。

プロジェクトのグループIDとアーティファクトIDを入力するときは、上記の点に注意してください。 これらの詳細を入力したら、「完了」ボタンをクリックします。

ステップ5:

プロジェクトのPOMファイルに必要な依存関係を追加しましょう。 pom.xmlファイルに移動し、Eclipseの「pom.xml」タブを選択します。 次に、TestNGとSeleniumWebDriverに関連する依存関係を追加します。

ステップ6:

このステップでは、TestNGクラスを作成してtestng.xmlファイルを取得します。 このファイルに次のコードをコピーします。

パッケージテスト;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.testng.annotations.Test;

import org.testng.annotations.BeforeClass;

import org.testng.annotations.AfterClass;

パブリッククラスNewTest{

パブリックWebDriverドライバー。

@テスト

public void openMyBlog(){

driver.get(“ https://www.softwaretestingmaterial.com/”);

}

@BeforeClass

public void beforeClass(){

System.setProperty(“ webdriver.gecko.driver”、“ D:\\ Selenium \\ Drivers \\ geckodriver.exe”);

ドライバー=新しいFirefoxDriver();

}

@放課後

public void afterClass(){

driver.quit();

}

}

ステップ7:

これで、TestNGファイルを使用してEclipseでSeleniumプロジェクトを実行できます。

次のチュートリアルに進む前に、上記のチュートリアルを理解していることを確認してください。 これは、次のセクションで、Eclipseを使用してビルドできるSeleniumプロジェクトの実例について説明するためです。

また読む:インドのSelenium開発者給与

世界のトップ大学からソフトウェア開発コース取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムを取得して、キャリアを早急に進めましょう。

Eclipseを使用したSeleniumプロジェクト:例

ここでは、Seleniumに基づくフライト予約ソリューションのコードを共有しました。 ソフトウェアは、フライトの到着地と出発地を同じ日付とともに選択します。 このツールは、MakeMyTripWebサイトでこれらのタスクを実行します。

このプロジェクトからインスピレーションを得て、Eclipseを使用して同様のSeleniumプロジェクトを自分で作成できます。 これまでにSeleniumプロジェクトに取り組んだことがない場合は、最初にこのプロジェクトの小さいバージョンに取り組むことをお勧めします。

たとえば、到着地と出発地のみを選択するプログラムを作成できます。 一方、このプロジェクトを拡張したい場合は、機能を追加できます。

ブラウザ

パッケージブラウザ;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

パブリッククラスBrowserSelection

{{

静的WebDriverドライバー。

public static WebDriver UsingChrome()

{{

System.setProperty(“ webdriver.chrome.driver”、“ E:\\ SeleniumLibs \\\\ chromedriver_win32 \\ chromedriver.exe”);

ドライバー=新しいChromeDriver();

driver.manage()。window()。maximize();

リターンドライバー;

}

}

コード

パッケージmakemytrip;

インポートjava.awt.AWTException;

java.awt.Robotをインポートします。

import java.awt.event.KeyEvent;

インポートjava.util.List;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;

import org.openqa.selenium.JavascriptExecutor;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.WebDriverException;

import org.openqa.selenium.WebElement;

import org.testng.annotations.AfterMethod;

import org.testng.annotations.BeforeMethod;

import org.testng.annotations.Test;

インポートbrowser.BrowserSelection;

パブリッククラスMakeMyTripProject

{{

WebDriverドライバー;

@BeforeMethod

public void OpenBrowser()

{{

driver = BrowserSelection.UsingChrome();

}

@テスト

public void TripDetails()はInterruptedException、AWTExceptionをスローします

{{

driver.get(“ https://www.makemytrip.com/”);

driver.manage()。timeouts()。implicitlyWait(10、TimeUnit.SECONDS);

Thread.sleep(5000);

試す

{{

/ * String frameStatus = driver.findElement(By.id(“ webklipper-publisher-widget-container-notification-frame”))。getTagName();

System.out.println(frameStatus);

driver.switchTo()。frame( "notification-frame-31764456");

driver.findElement(By.xpath(“ .// * [@ id ='webklipper-publisher-widget-container-notification-close-div'] / i”))。click();

driver.switchTo()。defaultContent();

Thread.sleep(3000); * /

driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sfrom']”))。click();

driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sfrom']”))。clear();

//driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sfrom']”))。sendKeys(“ Goa”);

Thread.sleep(2000);

List <WebElement> fromCities = driver.findElements(By.xpath(“ // ul [@ id ='ui-id-1'] / li / div / p / span [1]”));

System.out.println(fromCities.size()+” \ n”);

for(int i = 0; i <fromCities.size(); i ++)

{{

WebElement element = fromCities.get(i);

System.out.println(element.getAttribute( "innerHTML"));

}

//driver.findElement(By.xpath(“ // ul [@ id ='ui-id-1'] / li / div / p / span”))。click();

driver.findElement(By.xpath(“ // li [contains(@ aria-label、'Top Cities:Goa、India')] / div / p / span [1]”))。click();

driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sTo']”))。click();

driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sTo']”))。clear();

//driver.findElement(By.xpath(“ // input [@ id ='hp-widget__sTo']”))。sendKeys(“ Mumbai”);

Thread.sleep(2000);

List <WebElement> toCities = driver.findElements(By.xpath(“ // ul [@ id ='ui-id-2'] / li / div / p / span [1]”));

System.out.println(toCities.size()+” \ n”);

for(int i = 0; i <toCities.size(); i ++)

{{

WebElement element = toCities.get(i);

System.out.println(element.getAttribute( "innerHTML"));

}

//driver.findElement(By.xpath(“ // ul [@ id ='ui-id-2'] / li / div / p / span”))。click();

driver.findElement(By.xpath(“ // ul [@ id ='ui-id-2'] / li [3] / div / p / span [1]”))。click();

Thread.sleep(2000);

driver.findElement(By.xpath(“ // input [@ id ='hp-widget__depart']”))。click();

Thread.sleep(2000);

文字列の日付=「2018年10月10日」;

文字列スプリッター[]=date.split(“-“);

文字列month_year=スプリッター[1];

文字列日=スプリッター[0];

System.out.println(month_year);

System.out.println(day);

selectDate(month_year、day);

Thread.sleep(3000);

driver.findElement(By.xpath(“ // button [@ id ='searchBtn']”))。click();

Thread.sleep(5000);

Thread.sleep(2000);

JavascriptExecutor js =(JavascriptExecutor)ドライバー;

js.executeScript(“ window.scrollBy(0,3000)”);

/*ロボットロボット=newRobot();

robot.keyPress(KeyEvent.VK_PAGE_DOWN);

robot.keyRelease(KeyEvent.VK_PAGE_DOWN); * /

Thread.sleep(5000);

driver.findElement(By.xpath(“ // div [@ id ='aln_AI_dep'] / span [3]”))。click();

Thread.sleep(5000);

List<WebElement>フライト=driver.findElements(By.xpath(“ // div [@ class ='top_first_part clearfix'] / div / span / span [2] / span [1]”));

System.out.println( "エアインディアのフライト検索結果の数:—" + Flights.size());

} catch(WebDriverException e)

{{

System.out.println( "例外は次のとおりです:—" + e + "\ n");

}

}

public void selectDate(String monthyear、String Selectday)はInterruptedExceptionをスローします

{{

List<WebElement>要素=driver.findElements(By.xpath(“ // div [@ class ='ui-datepicker-title'] / span [1]”));

for(int i = 0; i <elements.size(); i ++)

{{

System.out.println(elements.get(i).getText());

//月を選択します

if(elements.get(i).getText()。equals(monthyear))

{{

//日付を選択します

List <WebElement> days = driver.findElements(By.xpath(“ // div [@ class ='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui -datepicker-multi ui-datepicker-multi-2'] / div [2] / table / tbody / tr / td / a”));

for(WebElement d:days)

{{

System.out.println(d.getText());

if(d.getText()。equals(Selectday))

{{

d.click();

Thread.sleep(10000);

戻る;

}

}

}

}

driver.findElement(By.xpath(“ // div [@ class ='ui-datepicker-inline ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all ui-datepicker-multi ui- datepicker-multi-2'] / div [2] / div / a / span”))。click();

selectDate(monthyear、Selectday);

}

@AfterMethod

public void CloseBrowser()

{{

driver.quit();

}

}

読む:初心者のための5つの興味深いSeleniumプロジェクトのアイデアとトピック

Eclipseなどを使用してSeleniumプロジェクトを作成する方法を学ぶ

セレンは非常に重要な技術です。 それについて学ぶことはあなたが熟練したソフトウェアテストの専門家になるのを助けるでしょう。 さらに読むためのSeleniumとMavenに関する追加のリソースを次に示します。

  • Mavenプロジェクトを作成する方法
  • 5つの興味深いSeleniumプロジェクトのアイデア
  • 30のSeleniumインタビューの質問と回答

Seleniumまたはソフトウェアテストについて詳しく知りたい場合は、コンピューターサイエンスコースを受講することをお勧めします。 インタラクティブなクイズ、問題、プロジェクトを通じて、業界の抜粋から知ることができます。

このガイドがお役に立てば幸いです。 この記事またはSeleniumについて質問がある場合は、以下のコメントセクションからお問い合わせください。 あなたからの御一報をお待ちしています。

フルスタックソフトウェア開発の詳細に興味がある場合は、upGrad&IIIT-Bのフルスタックソフトウェア開発のエグゼクティブPGプログラムをチェックしてください。これは、働く専門家向けに設計されており、500時間以上の厳格なトレーニング、9以上のプロジェクトを提供します。および割り当て、IIIT-B卒業生のステータス、実践的な実践的なキャップストーンプロジェクト、およびトップ企業との雇用支援。

未来のキャリアに備える

ソフトウェアエンジニアリングの修士号を今すぐ申し込む