Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Selenium完全に理解した

tsuemura
January 29, 2020

 Selenium完全に理解した

完全に理解した人達の「Web技術」Talk #1
https://easy2.connpass.com/event/161840/

tsuemura

January 29, 2020
Tweet

More Decks by tsuemura

Other Decks in Programming

Transcript

  1. Selenium完全に理解した Takuya Suemura @ Autify Inc.

  2. ⾃⼰紹介 末村 拓也(Takuya Suemura) QA / テスト⾃動化エンジニア というテスト⾃動化プラットフォームを作る会社で働いています

  3. https://autify.com/ja/

  4. テストしてる? https://martinfowler.com/bliki/TestPyramid.html

  5. 今⽇話すこと Webのテストによく使われる Selenium という技術の話

  6. Seleniumとは すごい昔からあるブラウザ操作⾃動化フレームワーク 様々なブラウザを単⼀のAPIで操作できる 複数のマシンでE2Eテストを並列実⾏することができる いくつかの技術の複合体 Selenium WebDriver Selenium Grid Selenium

    IDE
  7. 使う サーバを⽴てる必要があります Nodeなら selenium-standalone を使うと楽 $ npm install -g selenium-standalone

    $ selenium-standalone install $ selenium-standalone start http://localhost:4444/wd/hub にサーバが⽴ちます
  8. 使う Selenium⾃体はブラウザの操作を抽象化しているだけなので、 実際にテストコードを書くときは 他のテストフレームワークを使うのが⼀般的です 例: Selenide(Java) Geb(Groovy) Capybara(Ruby) RobotFramework(Python) WebdriverIO(Node)

    CodeceptJS(Node)
  9. 他のフレームワークと何が違うの? Seleniumはユーザーが実際に⾏う操作を⾃動化するところに重点を置いていて、それゆえにか ゆいところに⼿が届かないことがある 例えばCookieやGeolocationを編集できない ブラウザ上で任意のJavaScriptを実⾏できるのでそれで解決することもあるが、HTTPヘッダ の追加などは出来ない Seleniumは並列実⾏を強⼒にサポートしている ZaleniumやSelenoidのようなコンテナを使った並列実⾏をするためのサードパーティツールも 存在する なんやかんや実機のテストはSeleniumが強い

    IEとか……
  10. 似たようなツールたち Puppeteer Cypress TestCafe PlayWright <- NEW! などなど

  11. Enjoy Testing!