#5 WebDriverってなに?
前置き
最近本職(QAエンジニア)で、
テスト自動化周りでWebDriverやSeleniumに触る機会がありましたので、自らの学びのために調査記録を残しておこうと思います。
本記事では「WebDriverの基礎的な役割やseleniumとの関係性」をメインに記事にしていきます。
WebDriverとSelenium
WebDriverはブラウザの操作自体をブラウザの拡張機能やOSの機能を利用して、実行できるようなツールです。
※↑関係性がわかりやすい図
また、Seleniumとは、Webブラウザをテストするツールのことです。
自動テスト(E2E)に主に利用されたりします。(SeleniumがUIテストを人の代わりに実行してくれるような感じです)
スクレイピングとかにもよく利用されてしまうため、seleniumを弾いてしまうサイトも多いです。
スクレイピングは、ウェブサイトから情報を取得し、その情報を加工して新たな情報を生成することです。
SeleniumとWebDriverが統合されているツールが存在し、Selenium2とも呼ばれるそうで、そのまんまですが、SeleniumWebDriverとも呼ばれるらしいです。
また、Chromeであればchromedriverと言った風に、ブラウザ毎にDriverをインストールする必要があります。
自動テスト(UIテスト)について
以前勉強した通り、UIテストは自動テストの中でも高級であり、コストが高いです。特に導入時はコスト面を特に気にしながら導入しなければいけません。
イメージドリブンで行うUIテスト(Eggplantなど)とSeleniumのようにインターネットサイトの要素を指定して動かすUIテストが存在しており、どちらも、一長一短で、イメージドリブンなUIテストは要素を取得する手間が省けるが、安定性に欠けてしまいます。
しかし、要素指定で動かすUIテストは安定性が少し上がるといった特徴もあります。要素名が変わると失敗してしまうので、割と使い分けるのが吉かもしれません。
somekichiの感想
seleniumとWebDriverを調査してみて、どちらもバージョンが多く、環境構築に関しても、古い記事と新しい記事が混在しているので、情報に惑わされがちになってしまいました。
somekichiはUIテストにちゃんと触れるのが初めてで、まだ環境構築が完了したところなのですが、ブラウザ毎にDriverがしっかりと用意されていて、しっかりアップデートされていることから、現役感をseluniumからは感じました。もう少し使って見た後、使用感や経験をまた記事にできたらと思います。
E2Eテストの入門編として語られることが多いSeleniumですが、しっかりとsomekichiもSeleniumとWebDriverについて体系的な知識をつけていきたいです。
ほぼseleniumの記事になってしまいましたが、実際にはセットで語られる方が多いので、ここは一緒に覚えておきたいところです。
今回のQA修行日記は以上とさせていただきます。