Skip to Content
JavaによるSelenium WebDriverのハンズオン
book

JavaによるSelenium WebDriverのハンズオン

by Boni Garcia
March 2025
Intermediate to advanced
422 pages
6h 59m
Japanese
O'Reilly Media, Inc.
Content preview from JavaによるSelenium WebDriverのハンズオン

第8章. テストフレームワークの仕様

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

この本で紹介する例では、Selenium WebDriver API への呼び出しを、異なる単体テストフレームワークを使用して、アノテーション@Test で装飾された Java メソッドに埋め込むことを推奨してきた:JUnit 4、JUnit 5(単独、または Selenium-Jupiter で拡張)、または TestNG である。通常のテストを実行する場合、テストフレームワークの違いはほとんどない。とはいえ、それぞれのテストフレームワークには、異なるユースケースに特化した機能がある。この章では、Selenium WebDriver のテストを実装するためのこれらの機能のいくつかを要約する。いつものように、この章のソースコードはこの本のサンプルリポジトリで発見できます。これらのサンプルを使って、あなたの特定のニーズにもっとも便利な単体テストフレームワークを比較・選択することができる。

パラメータ化されたテスト

単体テスト・フレームワークで一般的にサポートされている機能()は、パラメータ化されたテストの作成である。この機能により、異なるパラメータを使用してテストを複数回実行することができる。JUnit(4と5)でもTestNGでもパラメータ化テストを実装できるが、それぞれの実装には大きな違いがある。

JUnit 4

JUnit 4 でパラメータ化されたテストを実装するには、Parameterized というテスト・ランナーを使うために が必要だ。JUnit 4 のテストランナーとは、テストを実行する Java クラスのことである。JUnit 4 アノテーション@RunWith を使って Java クラスをデコレートし、テストランナーを指定する。それから、JUnit 4 アノテーション@Parameters を使って、テストパラメータを提供するメソッドをデコレートする必要がある。これらのパラメータをテストクラスに注入する方法には、 テストクラスのコンストラクタで注入する方法と、クラスの属性としてアノテーション@Parameter でデコレートする方法があります。例 8-1は、2 番目のテクニックでテストパラメータを注入したテストケースです。この例では、異なる資格情報(ユーザ名、パスワード)を使って、同じ テストを実行します。その結果、Web ページが提供するメッセージは異なる(ログインが成功した、あるいは資格情報が無効である)。

例 8-1. JUnit 4 を使ったパラメータ化テスト
@RunWith(Parameterized.class) 1
public class ParameterizedJUnit4Test {

    WebDriver driver;

    @Parameter(0) 2
    public String username;

    @Parameter(1)
    
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

データサイエンスのための実践線形代数

データサイエンスのための実践線形代数

Mike X Cohen
サイトリライアビリティワークブック ―SREの実践方法

サイトリライアビリティワークブック ―SREの実践方法

Betsy Beyer, Niall Richard Murphy, David K. Rensin, Kent Kawahara, Stephen Thorne, 澤田 武男, 関根 達夫, 細川 一茂, 矢吹 大輔, 玉川 竜司
エンジニアが学ぶ会計システムの「知識」と「技術」

エンジニアが学ぶ会計システムの「知識」と「技術」

広川 敬祐, 五島 伸二, 小田 恭彦, 大塚 晃, 川勝 健司

Publisher Resources

ISBN: 9798341626287