テスト自動化: Java および TestNG を使用した Selenium ガイド

王林
リリース: 2024-09-06 06:07:12
オリジナル
509 人が閲覧しました

テスト自動化はソフトウェア開発プロセスに不可欠な部分となり、チームが効率を高め、手動エラーを減らし、より速いペースで高品質の製品を提供できるようになりました。 Web ブラウザを自動化するための強力なツールである Selenium は、Java の多用途性と組み合わされて、信頼性が高くスケーラブルな自動テスト スイートを構築するための堅牢なフレームワークを提供します。 Selenium Java をテスト自動化に使用すると、ツールとプログラミング言語の両方の長所を活用して、効果的なテスト シナリオを作成できます。

なぜセレンなのか?

Selenium は、Web ブラウザーを自動化するために広く使用されているオープンソース ツールです。さまざまなブラウザーやプラットフォーム間で Web アプリケーションをテストするための一連のツールを提供します。特に Selenium WebDriver を使用すると、ユーザーは Web ブラウザをプログラムで制御できるようになり、Selenium TestNG などのフレームワークを使用した強力な自動テストの作成が可能になります。

テスト自動化に Selenium が推奨される理由は次のとおりです。

  • ブラウザ間の互換性: Selenium WebDriver は、Chrome、Firefox、Safari、Edge などの複数のブラウザをサポートし、さまざまな環境にわたる包括的なテスト カバレッジを保証します。
  • 言語サポート: Selenium WebDriver は、Java、Python、C#、JavaScript などのいくつかのプログラミング言語との互換性を提供します。この柔軟性により、テスターは好みのプログラミング言語で作業できるようになります。
  • 豊富なエコシステム: Selenium には、活発なコミュニティを備えた広大なエコシステムがあり、テスト プロセスを強化するための多数のリソース、プラグイン、統合へのアクセスを提供します。
  • 要素の操作: Selenium は、ID、名前、XPath、CSS セレクターなどのさまざまな戦略を使用して Web ページ上の要素を見つけるメカニズムを提供します。これにより、テスターは特定の要素を正確に操作できます。
  • アラートとポップアップの処理: Selenium は、テスト プロセス中に表示されるアラート、ポップアップ、ダイアログ ボックスを処理できるため、より包括的な自動化シナリオが可能になります。
  • 動的 Web 要素の処理: Selenium は、AngularJS、React、Vue.js などの JavaScript フレームワークによって生成されたものなど、Web ページ上の動的要素の処理をサポートします
  • テスト フレームワークの統合: Selenium は、JUnit、TestNG、NUnit、Pytest などの一般的なテスト フレームワークと統合でき、レポート作成、並列実行、データ パラメーター化などの追加機能を提供します。
  • 継続的インテグレーション (CI) ツールとの統合: Selenium は、Jenkins、Travis CI、CircleCI などのツールを使用して CI/CD パイプラインにシームレスに統合でき、ソフトウェア開発ライフサイクルの一部として自動テストが可能です。

Selenium についてさらに詳しく知りたい場合は、公式ドキュメントを参照してください。

自動化に Java を活用する

Java は、そのシンプルさ、堅牢性、プラットフォームからの独立性で知られ、広く採用されているプログラミング言語です。 Java を Selenium と組み合わせると、テスターは高度な自動化フレームワークを簡単に構築できるようになります。 Java 自動化は、言語の強力な機能を使用して、テスト スクリプトの効率と有効性を高めます。

Java が Selenium 自動化に優れた選択肢である理由は次のとおりです:

  • 強力なオブジェクト指向パラダイム: Java のオブジェクト指向の性質により、モジュール式で保守可能なテスト スクリプトの作成が容易になり、複雑なテスト スイートの管理が容易になります。
  • 豊富なライブラリとフレームワーク: Java は、TestNG、JUnit、Apache Maven など、Selenium を補完するライブラリとフレームワークの豊富なエコシステムを誇り、シームレスな統合と高度なテスト管理を可能にします。
  • プラットフォームの独立性: Java の「一度書けば、どこでも実行できる」という哲学により、1 つのプラットフォームで開発されたテスト スクリプトは、Java 仮想マシン (JVM) を使用して任意のプラットフォームで実行できることが保証され、移植性とスケーラビリティが強化されます。

前提条件の手順

このブログでは、実践中に、それぞれのライブラリとアプリケーションに以下のバージョンを使用しました:

  • Java バージョン: 19.0.2
  • IntelliJ バージョン : 2023.3.6
  • Selenium – Java バージョン : 4.18.1
  • TestNG バージョン : 7.9.0

JDK をダウンロードしてインストールします:

Java プログラムを作成して実行するには、Java ランタイム環境 (JRE) を含む Java 開発キット (JDK) が必要です。 JRE はインストール中に JDK にバンドルされます。

IntelliJ IDE など、Java に依存するアプリケーションを実行する場合でも、JDK をインストールする必要があります。

開始するには、Java をダウンロードしてインストールし、それに応じて環境パスを設定します。このWebサイトで設定方法に関するガイダンスを見つけることができます。構成が完了したら、コマンド プロンプトに java -version と入力してインストールを確認できます。これにより、インストールされている Java バージョンの詳細が表示されます。

Test Automation: Guide to Selenium with Java and TestNG

IntelliJ をインストールします:

IntelliJ をダウンロードするには、その公式 Web サイトにアクセスし、コミュニティ バージョンの .exe ファイルを選択します。ファイルを選択すると、ダウンロードが開始されます。

ダウンロードが完了したら、.exe ファイルを起動し、IntelliJ のインストールに進みます。

IntelliJ のインストール

に関するガイダンスについては、この Web サイトに記載されている手順を参照してください。

テストケースの作成

1. IntelliJ で Maven プロジェクトを作成します:

  • IntelliJ IDEA を起動し、メニューから「新しいプロジェクト」を選択します。

Test Automation: Guide to Selenium with Java and TestNG

  • プロジェクト名と場所を指定し、言語として Java を選択し、ビルド システムとして Maven を選択し、JDK バージョンを設定して、最後に「作成」をクリックします。

Test Automation: Guide to Selenium with Java and TestNG

  • Maven プロジェクトの作成時にこの構造に従っていることを確認してください。

Test Automation: Guide to Selenium with Java and TestNG

2. pom.xml に依存関係を追加します:
新しいプロジェクトを作成した後の最初のステップは、Selenium や TestNG などの依存関係を pom.xml ファイルに含めることです。これらの依存関係の最新バージョンは、Maven リポジトリの公式 Web サイトで見つけることができます。

3. Selenium TestNG

を使用して Java テスト ケースを作成する
  • 次に、src > 内に Java クラス名 SampleTest を生成します。テスト> Java ディレクトリ。

Test Automation: Guide to Selenium with Java and TestNG

  • このテスト スクリプトは TestNG アノテーションを利用して、JigNect Web サイトで自動テストを実行します。使用される各 TestNG アノテーションの簡単な説明は次のとおりです:

  • @BeforeMethod: setUpBrowser メソッドには @BeforeMethod アノテーションが付けられ、各テスト メソッドの前に実行する必要があることを示します。この場合、ChromeDriver を初期化し、ブラウザ ウィンドウを最大化し、指定された URL に移動します。

  • テスト: このアノテーションは、メソッドをテスト メソッドとしてマークします。 sampleTest() メソッドは、このスクリプトの実際のテスト ケースです。ユーザーが JigNect Web サイトのホームページにリダイレクトされ、QA ブログ ページのリンクをクリックして、ユーザーが QA ブログ ページにいることを確認します。

  • @AfterMethod: closeBrowser メソッドには @AfterMethod アノテーションが付けられ、各テスト メソッドの後に実行する必要があることを示します。この場合、テストの実行が完了した後にブラウザを閉じます。

  • TestNG について詳しく知りたい場合は、公式 Web サイトにアクセスして追加情報をご覧ください。

  • 全体として、このテスト スクリプトは、アサーションを使用して各ステップで期待される結果を検証し、Web サイトのナビゲーションとページのリダイレクトが期待どおりに機能することを確認します。

作成したテストケースを実行して結果を確認する

1.テスト スクリプトを作成したら、テストの実行に進み、結果を慎重に分析します。

  • テスト ケースを実行するには、テスト クラスに移動し、それを右クリックして、[実行] オプションを選択します。結果は IntelliJ の実行ツール ウィンドウに表示されます。

Test Automation: Guide to Selenium with Java and TestNG

2.テスト実行結果

  • IntelliJ の実行ツール ウィンドウに表示される結果は、テスト実行に関する重要な情報を提供します。
  • ご覧のとおり、作成したテストは合格し、予想どおりに正しく機能しています。
  • これらの結果を確認することで、どのテストが成功したか、失敗したか、またはスキップされたかを理解できます。
  • これは、テスト プロセスを改善し、スクリプトをより適切かつ正確にするのに役立ちます。

Test Automation: Guide to Selenium with Java and TestNG

Conclusion

Selenium remains a key tool for automating web application testing, offering features like cross-browser testing, multi-language support, extensibility, parallel test execution, and strong community backing. While popular for delivering quality software, Selenium has limitations like setup complexity, test flakiness, limited non-web technology support, and maintenance requirements. By understanding both its strengths and shortcomings, teams can leverage Selenium effectively to achieve their testing goals and deliver exceptional user experiences.

In conclusion, we’ve gained a solid understanding of Selenium and its fundamentals through practical examples showcased on our blog. These hands-on experiences have allowed us to grasp Selenium’s concepts more accurately and effectively. Additionally, Selenium emerges as the preferred choice for automation testing due to its robust capabilities and versatility. In future blog posts, we’ll write about Selenium advance topics covering dynamic frameworks, page object classes, data factories, handling authentication, iframes, element strategies, wait stratergies and more.

Stay connected with us to explore additional topics related to Automation Testing, such as implementing dynamic frameworks, using page object classes, data factories, data objects, and much more in our upcoming blog posts.

Keep practising and exploring to master these powerful tools further with Jignect.

Witness how our meticulous approach and cutting-edge solutions elevated quality and performance to new heights. Begin your journey into the world of software testing excellence. To know more refer to Tools & Technologies & QA Services.

If you would like to learn more about the awesome services we provide, be sure to reach out.
Happy testing! ?

以上がテスト自動化: Java および TestNG を使用した Selenium ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!