3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Selenium/AppiumAdvent Calendar 2018

Day 22

WebdriverManagerを使ったWebDriverの更新

Last updated at Posted at 2019-01-16

#はじめに

  • seleniumを使っている人が一度はハマることに、ブラウザのバージョンとwebdriverのバージョン差異による実行エラーだと思います。
    しかもこのエラー、「バージョンが違ってますよ」というメッセージと表示されれば良いのですが、ほとんどが意味不明のエラーになります。
    操作ブラウザーが自動更新されていると、「昨日まで動いていたのに?!」状態で、散々ネットで調べた挙句が、「あ、ブラウザのバージョンが上がってた」の流れ。(ちゃんとテスト環境のバージョン管理をされているところだとこんなことにはならないんでしょうね)
    また、Seleniumをテスト以外の用途で使っていると、なかなかバージョン管理は難しくなると思います。

  • これをなんとか「自動更新できるようにできないものか?」と考えるのは自然の流れ。で、これをツール化してくださる人がいるわけで。
    それが webdrivermanager

ここから

  • さて使おうとなるとまず、調査(というなの検索)出てくる記事は

WebDriverManagerを使用してgeckodriver(SeleniumのWebDriver) - Qiita
SelenideでWebDriverManagerを使う - Qiita
WebDriverの更新はWebdriverManagerに任せよう - Qiita
WebDriverManagerを使用してgekcodriverを自動インストール ... - Qiita

どれも テストコードがJavaのケース・・・

  • 自分の場合、ツールとして使っているのでJavaのコードを書いていない・・便利そうなのに使えないのか

#Java11からの機能

  • そんな時に知ったのが Java11からの機能で Javac をしなくても実行できるというもの

Java11ではjavacせずにJavaファイルが実行できるようになる

これを使えばいいのでは!!ツールを動かすバッチに これを使ってドライバーを更新させれば良いはず。

#公式へ

  • Javaがよくわからないですが、どのようにかけば良いかを公式で調べてみる

公式はこちら
https://github.com/bonigarcia/webdrivermanager

  • どのドライバーを使うかなど書いてあるわけですが・・・

あれ?

WebDriverManager as Java dependency (typically from test cases).
WebDriverManager as a Command Line Interface (CLI) tool (from the the shell).
WebDriverManager as Server (using HTTP requests).

え?

WebDriverManager as a Command Line Interface (CLI) tool (from the the shell).

#えーっと

  • 難しいこと考えなくても公式で用意してくれていました
  • しかも jarファイルまで!

>java -jar webdrivermanager-3.2.0-fat.jar chrome
[INFO] Using WebDriverManager to resolve chrome
[INFO] Reading https://chromedriver.storage.googleapis.com/ to seek chromedriver
[INFO] Latest version of chromedriver is 2.37
[INFO] Downloading https://chromedriver.storage.googleapis.com/2.37/chromedriver_win32.zip to folder D:\projects\webdrivermanager
[INFO] Resulting binary D:\projects\webdrivermanager\target\chromedriver.exe

  • Selenium使うのでjavaはインストールされているのでただ単に呼び出すだけでOK

#最後に

  • まず公式をよく見ろ(英語でも)ということですね
  • 既に常識でしたらすいませんとしか・・・

#追記 (2019/05/07)

  • 2017年のアドベントカレンダーに2つも記事があることに今気が付いた・・・

https://qiita.com/shimashima35/items/411f99a27b7ec5503532
https://qiita.com/EichiSanden/items/d9c53c61e006a26a549d

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?