2017年7月1日、
Jim Evans ―Seleniumの次に来るのは何か?(What’s Next For Selenium?)
1番手であるJim Evans氏は2010年からSeleniumのプリンシパルコントリビュータを務め、
Selenium 4.0 ―W3C仕様に準拠したリリース
W3C
これにより、
Seleniumのこれから
中期的に考えると、
Seleniumが誕生した2004年から13年間で、
Marcus Merrell ―SeleniumとBrowsermobを活用したE2Eテスト分析(Using Selenium and Browsermob to Test Analytics End-to-end)
2番目に登壇したMarcus Merrell氏は、
Software Freedom Conservancy
初めにSoftware Freedom Conservancyという団体について触れさせてください。この団体はブランディングやコピーライトなどのオープンソースの管理をしているNPO団体で、
ユーザアナリティクス
Webサイトを訪れるユーザがどのように行動を分析するGoogle-Analyticsを使うことで、
こうした分析で得た、
損失を出した失敗談
A/
4年前に、
結果として、
QAとアナリティクス
この問題は、
そうした構造的な問題はありますが、
アナリティクスに役立つツール
BrowserMob Proxyというオープンソースプロジェクトがあります。Seleniumと親和性が高く、
TestNGなどのツールでテストを行い、
また、
Manoj Kumar ―コンテナを使ったテスト(Testing Inside Containers) Automated testing in the age of container cluster
この日3人目のコミッターであるManoj Kumar氏は、
継続的デリバリーとテスト自動化
技術をめぐる世の中の要求や環境は、
こうした状況で必要とされるのが、
継続的テストの課題とDocker
テストを常に書いていくと、
こうした課題に対して、
- 動作が軽い
- 前提として必要なアプリやライブラリが全てパッケージされている
- モバイルのテストにも使える
docker-selenium
Selenium GridをDocker環境で使えるようにしているのが、
- selenium/
hub - selenium/
node-chrome - selenium/
node-firefox - selenium/
node-phantomjs - selenium/
node-chrome-debug - selenium/
node-firefox-debug
Seleniumにはハブとノードが必要です。複数の仮想マシンを使って、
テストをDocker化する
モバイル
スマートフォンなどモバイルアプリの自動テストには、
Appium Docker for Androidは実機で、
オーケストレーションツール
コンテナを活用した自動テストを継続するために、
たとえば、
Q&A パネルディスカッション
会場からリアルタイムで集められた質問のうち、
- SeleniumプロジェクトとAppiumプロジェクトは統合する予定はあるのですか?
- SeleniumとAppiumは、
自動化する対象が異なるプロジェクトであり、 統合の予定はありません。 - テスト対象が、
確率的に振る舞うものや、 機械学習で結果が変わっていくものなどのとき、 どのようにすればテストを生産性高く行えるでしょうか? - おもしろい質問ですね。機械学習に対するテストというところにたいへん興味がありますが、
難しいですね。ソフトウェアテストとマシンラーニング。エンジニアリングとしてはとても面白そうですね。 - ヘッドレスブラウザが登場した時はどう思いましたか?
また、 皆さんは使っていますか? - こういった質問に対しては、
いつも逆に、 なぜヘッドレスブラウザを使うのかを聞きたいですね。速いからだという人もいますが、 実際のところ速くはありません。また、 自分がユーザとしてそのWebサイトにアクセスするのに、 ヘッドレスブラウザを使いますか? 使わないでしょう。 - ただ、
FirefoxやChromeのヘッドレスモードで、 通常のブラウザと同じ振る舞いであれば使える場面もあるかもしれませんが、 あまり意味はないと思います。ブラウザレベルでテスト自動化をするのは、 実際にブラウザを通して表示することでそのWebサイトが安全であるかを確かめられるからであり、 また、 その画面を自分の目で見ることができるからです。 - Selenium IDEとSelenium Builderの今後の動向はどのようになっているでしょうか?
- こうしたプレイバックツールは、
テクノロジーとしては古いと思います。残念ながら、 Seleniumはボランティア活動であり、 プロジェクトチームとしてはあまりこうしたテクノロジーには興味がありません。便利だとは思いますが、 維持しようという動きはないのが実情です。 - ただ、
Selenium IDEのようなレコード・ プレイバックツールがきっかけになって、 Seleniumがさまざまな人に使われるようになってきたというのも事実ではあります。今後、 レコード・ プレイバックツールに貢献してくれる人が出てくると良いですね。 - 画面の
「見た目」 のテストについて、 有効なソリューションや、 今後どうなっていくかについてお聞かせください。今はDOMの計算済みスタイルや画面のスクリーンショットをスナップショットとして保存し、 正解として使うアプローチがあると思います。 - 画面の見た目のテストで難しいのは、
この比較がファジー (曖昧) でよいところはファジーな状態で通して、 正確であるべきところは正確であるかを見なければならない、 というところですね。 - いろいろな企業が
(Seleniumを利用したサービスに) 参入してきていて、 適切なスクリーンショットを提供すると、 スナップショットをとって比較できるツールもあります。Seleniumはスクリーンショットに課題があります。ドライバーによっては現在表示している領域だけのスクリーンショットを取るものもありますし、 フルページで表示してくれるものもあります。また、 フルページという概念が、 今はどんどん意義を失ってきていると思います。たとえば、 Twitterとか無限にスクロールできますよね。 - こうしたあたりもW3Cで標準化していますので、
フルページという実装についても、 今後W3Cに従ってコードを変更するということになるわけです。
スポンサーセッション・公募セッション
また、
Toshiya Komoda(DeNA)―E2E自動テストの長期運用に耐えるための5つの手法(Five methods to sustain long-term operations of E2E auto test)
株式会社ディー・
KazuCocoa(Cookpad)―Let's step into the OSS community
クックパッド株式会社のスポンサーセッションでは、
Tomotaka Asagi(Human Crest)― 継続的E2Eテスト(Continuous E2E Testing)
株式会社ヒューマンクレストのスポンサーセッションは、
Kenichiro Ota(SHIFT)―Windows Application DriverでWindowsアプリも自動テスト^_^ (Automate Windows app test with Windows Application Driver)
Selenium・
海外からコミッターを招いて英語で発表が行われるという初の試みでしたが、
Seleniumを利用したテスト自動化のニーズは日を追うごとに増していて、