目次

趣旨

Selenium の WebDriverとかいろいろ、つまるので、メモする

pom.xml

pom.xmlで追加する依存関係について、それぞれ説明します。

    1. Selenium WebDriver (selenium-java) org.seleniumhq.selenium selenium-java 4.18.1
    • ブラウザの自動操作を行うためのコアライブラリ
    • ブラウザの要素の検索、クリック、入力などの操作が可能
    • 最新の4.18.1では、Chrome、Firefox、Edgeなどの主要ブラウザをサポート
    • 非同期処理の待機機能も提供
    1. JUnit Jupiter (junit-jupiter-api, junit-jupiter-engine)
    org.junit.jupiter junit-jupiter-api 5.10.2 org.junit.jupiter junit-jupiter-engine 5.10.2
    • Javaの標準的なテストフレームワーク
    • テストケースの記述、実行、アサーションを提供
    • @Test@BeforeEachなどのアノテーションを提供
    • テストのライフサイクル管理機能を提供
    • junit-jupiter-api: テスト記述用API
    • junit-jupiter-engine: テスト実行エンジン
    1. WebDriverManager (webdrivermanager)
    io.github.bonigarcia webdrivermanager 5.7.0
    • ブラウザドライバーの自動管理ツール
    • ChromeDriver、GeckoDriver(Firefox用)などを自動でダウンロード・設定
    • ブラウザバージョンに適合したドライバーを自動選択
    • 手動でのドライバー管理が不要になる
    1. AssertJ (assertj-core)
    org.assertj assertj-core 3.25.3
    • より流暢なアサーション記述を可能にするライブラリ

    • JUnitの標準アサーションより読みやすい文法を提供

    • 例: // JUnitの場合 assertEquals(expected, actual);

      // AssertJの場合 assertThat(actual).isEqualTo(expected);

    1. Maven Surefire Plugin (maven-surefire-plugin) org.apache.maven.plugins maven-surefire-plugin 3.2.5
    • Mavenプロジェクトのテスト実行を管理するプラグイン
    • mvn testコマンドでテストを実行する際に使用
    • テストレポートの生成
    • テスト実行の設定(パターンによる実行するテストのフィルタ、並列実行など)

それぞれの依存関係で<scope>test</scope>を指定しているのは:

  • これらのライブラリがテスト時のみ必要で、本番環境には不要なため
  • 最終的なアプリケーションのサイズを抑制
  • テストコードと本番コードの依存関係を明確に分離

これらのライブラリを組み合わせることで:

    1. ブラウザの自動操作(Selenium)
    1. テストケースの記述と実行(JUnit)
    1. ドライバーの自動管理(WebDriverManager)
    1. 読みやすいアサーション(AssertJ)
    1. テスト実行の管理(Maven Surefire)

という一連のテスト自動化が実現できます。

その他

webdriverを使いはじめたので、メモする。

http://www.storklab.com/seleniumhq.org/docs/04_webdriver_advanced.html

inputボックスに日本語を入れる

http://ykmc09.blogspot.jp/2012/10/selenium-2-webdriver-input.html

clickでとまってしまう対策

http://richtext.jp/pukiwiki/index.php?%B3%D0%BD%F1%A4%AD%2FSelenium2.0#f720d8ff

なんか、confirmボタンを無理やりスキップする、ハック術がいまのところ有効

(2013/06/18時点でchromeDriverで確認した。)

Web画面の自動テストの導入に失敗する理由とその対策

http://d.hatena.ne.jp/dkfj/20120531/1338422274

webDriver

ant単体で動くがJenkins通してantするとChromeWebDriverが起動しない。

なんでやねん

WebDriverのchromeとfirefoxを使ってみて思ったことがある。

それは、WebDriverの作者はfirefoxをメインで使っているだろう。ということ、

動作の安定性、速度、chromeDriverよりも勝っているのだ。

firefoxの設定

Custom Firefox profile for Selenium

http://www.qaautomation.net/?p=45

chromedriver.exeのオプション

http://stackoverflow.com/questions/15822803/silencing-chromedriver-exe-logging

Selenium を使用して Web テストを自動化する

http://www.ibm.com/developerworks/jp/opensource/library/os-webautoselenium/?ccy=jp&cmp=dw&cpb=dwope&cr=dwrss&csr=010612&ct=dwrss

AutoItを使って、ファイル選択の自動化について述べられています。

seleniumIDE

わかりやすいseleniumIDEの日本語の解説ページ

http://d.hatena.ne.jp/rti7743/20090913

http://iflaglabs.jp/original7.html

Firefox のアドオンとして、配布されています。Web アプリケーションに対するユーザ操作を記録し、Selenium テストとして保存・再生します。FireFox上の操作を録画し、テストケースとして保存する機能があります。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   最終更新のRSS
Last-modified: 2024-11-18 (月) 09:33:29