2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会

711 views

Published on

2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会 2016年12月18日

Published in: Software
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
711
On SlideShare
0
From Embeds
0
Number of Embeds
481
Actions
Shares
0
Downloads
2
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

2016 Seleniumゆく年くる年 @ 第4回 日本Seleniumユーザーコミュニティ勉強会

  1. 1. 2 0 1 6 � セ レ ニ ウ ム � ゆ く 年 く る 年 � 2016年12月18日 戸田 広 ~最近のSelenium~
  2. 2. 自己紹介 •  戸田 広(とだ ひろし) @hiroshitoda •  1979年生まれ 37歳 •  Seleniumを触り始めたのは2013年4月頃から。 •  Seleniumを触り始めてから10kg太りました。 •  きっと自動化がうまくいって怠けているからに違いない!!!
  3. 3. 今年2月に共著「Selenium実践入門」が発売されました •  皆様ありがとうございました。 •  Amazonを見たら「ベストセラー1位」になっていました。 •  ヒューヒュー
  4. 4. ん? •  謎カテゴリーのベストセラー1位おめでとうございます。
  5. 5. 今日話すこと 今年 2016年も、 Selenium / Appium には大きな変化が続きました。 ここらでひとつ、現状を振り返ってまとめてみましょう。 1.  Selenium 3 で変わったこと 2.  Selenium 最近のブラウザー対応状況 3.  最近と、これからの Selenium IDE 4.  Appium 1.6 重箱の隅っこ
  6. 6. Selenium 3 で変わったこと
  7. 7. 有楽町のSeleniumを使っているサラリーマン100人に聞きました •  Selenium 3 が2016年11月にリリースされました! •  Selenium 3 で変わったことは? ※イメージです、真に受けるな
  8. 8. 「何も変わらなかった」 •  Selenium 3 は、WebDriverに関しては ほぼマイナーバージョンアップの規模の変更に とどまりました。 •  WebDriverや、WebDriverのラッパーを利用した 既存のコードについて、特段変更すべき点はありません。 •  Selenide •  FluentLenium •  Capybara •  Codeception
  9. 9. ここで、Seleniumの系譜を考えてみましょう •  かつての Selenium WebDriver (Selenium 2) は、 Selenium RC と WebDriver を アンッー したものでした。
  10. 10. ここで、Seleniumの系譜を考えてみましょう •  Selenium 3 は、WebDriverのみのパッケージになりました。 Selenium RC は別のパッケージ(leg-rc)に切り離されました。 •  つまり、Selenium RCにさえ依存していなければ Selenium 3 に更新しても影響はほぼありません。 •  というのは半分 公式の受け売りで、 Javaバインディングでは Java 8 以上が必須になったり Rubyバインディングでは Ruby 2.0 以上が必須になるなど 実行環境での大きい変更が無くもないです。 導入計画は気をつけて立てましょう!
  11. 11. 「秘伝のツールが動かなくなった」
  12. 12. 「秘伝のツールが動かなくなった」 •  RCに依存している秘伝のツールを使っている場合は、 単純に Selenium 3 に更新できません。 •  名前空間が com.thoughtworks ベースに変わったうえ、 Selenium 3 で leg-rc パッケージとして完全に切り離されました。 •  じゃあ leg-rc パッケージを使えば問題ないかと言うと、 内部処理が WebDriver-backed ベースの処理に変わっているため 移行できず切り捨てられたAPIもあります。要注意!!! •  秘伝のツールの移行時には検証と対策が必須です。 <dependency> <groupId>org.seleniumhq.selenium</groupId> <ar8factId>selenium-leg-rc</ar8factId> <version>3.0.1</version> </dependency>
  13. 13. 「秘伝のツールが動かなくなった」 •  秘伝のツールと言えば Selenium IDE •  selenium-server-standalone.jar の –htmlSuite オプションで Selenium IDE が出力する Selenese HTML を使っている場合、 単純に Selenium 3 に更新すると動かなくなってしまいます。 •  もろに leg-rc パッケージの対応範囲ということですね。 •  Selenium 3 からは、代わりに配布されるようになった selenium-html-runner.jar (WebDriver-backedベース) を 使うのが手軽です。
  14. 14. 「Firefoxが動かなくなった」
  15. 15. 「Firefoxが動かなくなった」 •  Selenium 3 のリリース前後で たまたまいくつかの主要ブラウザーにおいて WebDriver への対応状況が大きく変わり、 古いコードで動かなくなっている場合があります。 •  これを Selenium 3 のせいと言うのは酷なもの… ┌─────┐ │ 偶然だぞ │ └∩───∩┘  ヽ(`・ω・)ノ
  16. 16. Selenium 最近のブラウザー対応状況
  17. 17. Selenium 最近のブラウザー対応状況、ざっくり言うと… •  以前から大きく状況が変わらないブラウザー •  ChromeDriver (Google Chrome/Chromium) •  InternetExplorerDriver (InternetExplorer) •  EdgeDriver (Microsoft Edge) •  めちゃめちゃ変わっちゃったブラウザー •  FirefoxDriver (Firefox) •  SafariDriver (Safari) •  プロジェクトが独立したブラウザー •  HtmlUnitDriver •  最近微妙なやつ •  OperaDriver (Opera) •  GhostDriver (PhantomJS)
  18. 18. 以前から大きく状況が変わらないブラウザー •  ChromeDriver (Google Chrome/Chromium) •  特に変わりなし。 •  InternetExplorerDriver (InternetExplorer) •  特に変わりなし。 •  EdgeDriver (Microsoft Edge) •  状況は特に変わりなし。 •  Release 14393 から sendKeys でマルチバイト文字列が通るようになりました!! •  ダウンロードセンターで入手できるインストーラーは 古くて不具合もあるので捨てましょう。
  19. 19. めちゃめちゃ変わっちゃったブラウザー •  FirefoxDriver (Firefox) •  未署名アドオンが使えなくなってしまったことなどから GeckoDriverの併用が必須になりました。 •  GeckoDriverは、Firefox内蔵の「Marionette」のプロトコルと WebDriverのプロトコルの相互変換プロキシーとして動作します。 •  Marionetteを捨てて直接WebDriverに対応しないのかなウッ頭が •  最新バージョンは 0.11.1 です。発展途上です! •  Actions未対応です!! •  以前のFirefoxDriverは、古いFirefoxに対してはまだ使えます。 法人向けFirefox ESR 45との併用で 2017年6月まで問題なく使えると考えて良いでしょう。
  20. 20. めちゃめちゃ変わっちゃったブラウザー •  SafariDriver (Safari) •  Safari 10 から、Apple純正のSafariDriverが ブラウザーと合わせて、OSに同梱されるようになりました。 オープンソース版のSafariDriverは使えなくなりました。 •  だいたいSafariのアップデートと同時に更新されます。 •  WebKit Blog の記事に、どのようなオプションやcapabilitiesが使 えるか書かれています。ヘルプよりちょっと詳しいぞ!! https://webkit.org/blog/6900/webdriver-support-in-safari-10/ •  Safari Technology Preview には 開発中の SafariDriver が同梱されています。
  21. 21. プロジェクトが独立したブラウザー •  HtmlUnitDriver •  Selenium 3 になったタイミングで、 Selenium本体からプロジェクトが切り離されました。 •  https://github.com/SeleniumHQ/htmlunit-driver •  地道に更新され続けています。
  22. 22. 最近微妙なやつ •  OperaDriver (Opera) •  Operaは2013年からChromiumベースだからなあ… •  独立して管理されていますが、2015年で更新が止まっています。 •  https://github.com/operasoftware/operaprestodriver •  https://github.com/operasoftware/operachromiumdriver •  なお、Operaは2016年6月に一部買収されました。 この先生きのこるには     _,,...,_   /_~,,..::: ~"'ヽ  (,,"ヾ  ii /^',)     :i    i"     | (,,゚Д゚)     |(ノ  |)        |    |     ヽ _ノ      U"U
  23. 23. 最近微妙なやつ •  GhostDriver (PhantomJS) •  本家の detro/ghostdriver が死にそうです!!! •  この先生きのこるために、メンテナー募集中です。 •  代替に jBrowserDriver の利用を README.md で薦めるありさま… •  codeborne/ghostdriver がいいかも? •  最新版は 2016年9月22日リリースで停滞 •  jesg/ghostdriver が最近活発。     _,,...,_   /_~,,..::: ~"'ヽ  (,,"ヾ  ii /^',)     :i    i"     | (,,゚Д゚)     |(ノ  |)        |    |     ヽ _ノ      U"U
  24. 24. 最近と、 これからの Selenium IDE
  25. 25. 最近と、これからの Selenium IDE •  Selenium IDE も、Selenium Builder も、 このままだと来年 2017年中に死にます。 •  どちらもXUL/XPCOMベースなのですが、 2017年11月28日リリース予定のFirefox 57から 拡張機能でXUL/XPCOMがサポートされなくなるからです。 •  Google Chrome や Microsoft Edge で採用されている WebExtensions ベースの拡張機能に 生まれ変わらなければなりませんが、移行は現状ではぜんぜん… •  どうしても延命したい人は Firefox ESR 52 を使い続けましょう。 2018年中頃までサポートされる予定です。
  26. 26. 最近と、これからの Selenium IDE •  この先生きのこるには •  そもそも、 Selenium IDE / Selenium Builder のようなツールを 作る責務は、今後 ブラウザー開発プロジェクトのものに なっていく可能性もあるのではないでしょうか? •  Firebugの大部分の機能が Firefox標準の開発ツールになったように…     _,,...,_   /_~,,..::: ~"'ヽ  (,,"ヾ  ii /^',)     :i    i"     | (,,゚Д゚)     |(ノ  |)        |    |     ヽ _ノ      U"U
  27. 27. Appium 1.6 重箱の隅っこ
  28. 28. Appium 1.5 → 1.6 の変更点はとても多い •  Appium 1.6 •  Appium 1.6.0 2016年10月11日リリース •  Appium 1.6.1 2016年11月25日リリース •  JS Foundation 傘下になってから最初のリリースです。 •  Appium 1.6.2 2016年12月2日リリース •  Appium 1.6.3 2016年12月13日リリース •  iOS/Androidについては 太田さんから詳しくご解説いただけるはず!!! •  戸田からはニッチなところをご紹介します。
  29. 29. Appium 1.6.0 のリリースノート •  Windows desktop applications •  You.i TV
  30. 30. なんだこれ  どうせ使ってねえんだろ? 無視しちまえよ。         ____       /    \          ちゃんと調べて勉強会で説明するんだお!     |\/  ノ' ヾ  \/|    |/ ≪①>  <①≫ \|           ⊂ニニ⊃    |     (__人__)     |            ____ノ L     \、  ` ^^^^ ´  ,/           /\ /  ⌒    / ヾ  `ー‐" " ⌒ヽ         /(○) (○) \    /       ヾ ,"      \      /   (__人__)    \    |   r         r\,"⌒ヽ   |      |::::::|      |    :::::: ::;;::  ,,, ;;::: ,,::;;;;::::''       \    l;;;;;;l     /l!| !     ::::;; ::::::: ;; :::: ::::::::;;;::::::::;; γ⌒⌒/   `ー'     \⌒⌒ヽ      ::::::::;;::::::;; :::::::;;;:::::     (_ノノ/          ヽ !l ヽしし_)        :::::::::::;;:: ::::::::       (   丶- 、           しE |           ::::::;;;::::::::;;;;        `ー、_ノ          ∑ l、E ノ (  バン! バン!            :::::: :::::::           ::::::;; ::::::: ::::: :::::;;   ⌒              :::::::::          :::::;;; ::::::::::::::: :::;                ::;;::./ ̄ ̄ ̄\ :::;;;;::::::::;;;;;;;:::''                / ─    ─ \  ハァハァ…               /  <○>  <○>  \               |    (__人__)    |               \     `⌒J´   /               /              \
  31. 31. Appium と Windows desktop applications
  32. 32. Windows desktop applications •  実は2016年3月頃から Microsoft が Windows Application Driver を作ってて、 Appium は 1.6.0 から対応しました。 •  https://github.com/Microsoft/WinAppDriver •  最新バージョンは 0.7-beta です。発展途上です!!! •  UWPアプリとWin32アプリに対応しています。 •  Windows 10 用かな? •  Windows Vista, 7, 8 でWindowsアプリに対応したい場合は Appium ではなく Winium を使いましょう。 •  https://github.com/2gis/Winium
  33. 33. Windows desktop applications •  Windows SDK に同梱されている解析ツール 「Inspect」でロケーター用のIDやクラス名がわかります。
  34. 34. Appium と You.i TV
  35. 35. You.i TV •  カナダ・オタワが拠点の企業「You.i TV」が作っている 映像アプリ開発に特化した商用SDKです。 •  http://www.youi.tv/ •  クロスプラットフォーム、レスポンシブUIに対応。 •  iOS, tvOS, Android, Android TV, PlayStation, Xbox, Amazon Fire TV •  PhotoshopとAfterEffectsで作りこんだUIを 開発用リソースファイルとして出力して C++などのコードとバインドできるらしいです。 •  開発者向けの紹介資料までなら、無料登録で読めます。
  36. 36. You.i TV •  とにかく情報が少ないのでいろいろと個人的な妄想 •  映像アプリにおけるUnityみたいなものかな? •  SDKにはE2Eテストの標準サポートも組み込むべき、 という風潮の萌芽なのかな? •  UnityにUnityDriverみたいなものがあったら良いのに、 と思った人は少なくないはずです。 •  新しい潮流で、非常に興味深いですね。 •  Appiumプロジェクトとしてどんな期待があるのかな? •  リリースノートを読む限り、歓迎ムードがかなり強いのですが なぜ歓迎しているのか、動機や理由がいまいちつかめていません。
  37. 37. なんとなくまとめ
  38. 38. なんとなくまとめ •  WebDriver標準化への流れが徐々に進んでいます。 WebDriverを当たり前に使っている人には 気づきにくい変化かもしれません。 •  WebDriver対応が 各ソフトウェアベンダーの責務であるという雰囲気が いよいよ現実的なものになってきた気がします。
  39. 39. ご静聴 ありがとうございました。 また来年~~~

×