SlideShare a Scribd company logo
1 of 11
ブラウザ自動化ツール
カオスマップ風
システムテスト自動化カンファレンス2018
自己紹介
• Twitter アカウント: @hnz
• フロントエンドエンジニア
• ここ数年テスト自動化ツールを開発
発表の概要
• ブラウザ自動化ツール、たくさん
• 自分のためにカオスマップ風に整理しました
• 他にもおすすめのツールなどありましたらぜひおしえてください!
• JavaScript をページに流し込んでブラウザを操作する
• 😃実行早め
• 😃セットアップ簡単
• 😐マルチブラウザ対応はツールによりけり
• Nightmare - https://github.com/segmentio/nightmare
• Cypress - https://github.com/cypress-io/cypress
• TestCafe - https://github.com/DevExpress/testcafe
• Chrome や Firefox の開発者ツールの API を
使ってブラウザを操作する
• ☺️ セットアップがほぼ不要ですぐに使え
る
• ☺️ CI 環境で動かしやすい
• 😐 多ブラウザ対応はできない
• Puppeteer / Puppeteer for Firefox - https://github.com/GoogleChrome/puppeteer
• Gauge - https://gauge.org/
• taiko.js - https://taiko.gauge.org/
• ブラウザの動きを Node.js で再現!
• ☺️ ブラウザでしか動かない単体テストを
CI上で気軽に実行できる
• 😐 本物のブラウザではないので用途を選ぶ
• Zombie.js - http://zombie.js.org/
• ブラウザの拡張機能を作るための機能を使って、ブラウザを操作
• 😃他では自動化しにくいことが自動化できる
• 😃Web 標準の機能を使っているのでマルチブラウザも期待できる
• 😐まだ実用例が見当たらない
• Remote Browser - https://github.com/intoli/remote-browser
• ブラウザ自動操作のウェブ標準である
Webdriver API を利用
• 😃マルチブラウザ
• 😃広く使われている
• 😐セットアップが面倒(なのも多い)
• 😐テスト実行のオーバーヘッド大きめ
• selenium-webdriver - https://seleniumhq.github.io/selenium/docs/api/javascript/index.html
• Nightwatch.js - http://nightwatchjs.org/
• WebdriverIO - http://webdriver.io/
• Intern - https://github.com/theintern/intern
• Leadfoot - https://github.com/theintern/leadfoot
• Protractor - https://www.protractortest.org/
• WD.js - http://admc.io/wd/
• Gemini - https://github.com/gemini-testing/gemini
• Nemo - http://nemo.js.org/
まとめ
• 何がいいかは時と場合によるので、いろいろ知っておきたいですね

More Related Content

What's hot

Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてtecopark
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうDaisuke Masubuchi
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編infinite_loop
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計Yoshinori Matsunobu
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門torisoup
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugItsuki Kuroda
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学MITSUNARI Shigeo
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例Naoya Kishimoto
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMPYusuke Kagata
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方Takeshi Mikami
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)Yasuharu Nishi
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021Hiroshi Tokumaru
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Amazon Web Services Japan
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 tnoho
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!Yoshiki Hayama
 
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回Yoshiki Hayama
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかAtsushi Nakada
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習西岡 賢一郎
 

What's hot (20)

Fitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化についてFitnesse を用いたテストの効率化について
Fitnesse を用いたテストの効率化について
 
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろうサーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
サーバー知識不要!のゲームサーバー "Azure PlayFab" で長期運営タイトルを作ろう
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 
新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編新入社員のための大規模ゲーム開発入門 サーバサイド編
新入社員のための大規模ゲーム開発入門 サーバサイド編
 
ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計ソーシャルゲームのためのデータベース設計
ソーシャルゲームのためのデータベース設計
 
MagicOnion入門
MagicOnion入門MagicOnion入門
MagicOnion入門
 
フロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjugフロー効率性とリソース効率性について #xpjug
フロー効率性とリソース効率性について #xpjug
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
 
テストコードの DRY と DAMP
テストコードの DRY と DAMPテストコードの DRY と DAMP
テストコードの DRY と DAMP
 
GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方GitHubの機能を活用したGitHub Flowによる開発の進め方
GitHubの機能を活用したGitHub Flowによる開発の進め方
 
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
 
SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021SPAセキュリティ入門~PHP Conference Japan 2021
SPAセキュリティ入門~PHP Conference Japan 2021
 
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
 
WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。 WebRTC と Native とそれから、それから。
WebRTC と Native とそれから、それから。
 
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
 
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
プロトタイピングとユーザビリティテストで「UXデザイン」を練りあげよう! | UXデザイン基礎セミナー 第4回
 
シリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのかシリコンバレーの「何が」凄いのか
シリコンバレーの「何が」凄いのか
 
Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習Amazon SageMakerでカスタムコンテナを使った学習
Amazon SageMakerでカスタムコンテナを使った学習
 

Similar to ブラウザ自動化ツール カオスマップ風 - STAC2018 LT

Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackMocel Mocelic
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたYuusuke Takeuchi
 
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼンTomoyuki Sugita
 
パワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αパワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αAkira Maruyama
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in OkazakiEtsushi Ishii
 
sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方正貴 小川
 
Dev tools introduction
Dev tools introductionDev tools introduction
Dev tools introductionRyu Shindo
 
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)Mr. Vengineer
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト健一 辰濱
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うSatoshi Yoshikawa
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはYosuke HASEGAWA
 
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティde:code 2017
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキングTakayuki Kondou
 
気が狂わないサーバ増設x10
気が狂わないサーバ増設x10気が狂わないサーバ増設x10
気が狂わないサーバ増設x10Kiyotaka Kunihira
 
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Study Group by SciencePark Corp.
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Yoshito Tabuchi
 
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについてDaisuke Tamada
 

Similar to ブラウザ自動化ツール カオスマップ風 - STAC2018 LT (20)

Twitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hackTwitter クライアント開発のすすめ #twtr_hack
Twitter クライアント開発のすすめ #twtr_hack
 
ゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみたゲームの自動テストを 作ってみた
ゲームの自動テストを 作ってみた
 
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
第3回 開発ツールチラ見せ♡ナイト オープニングプレゼン
 
パワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+αパワーユーザー必携の海外の拡張機能20選+α
パワーユーザー必携の海外の拡張機能20選+α
 
a-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazakia-blogcsm な寺子屋 2 in Okazaki
a-blogcsm な寺子屋 2 in Okazaki
 
sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方sensuのちょっと進んだ使い方
sensuのちょっと進んだ使い方
 
Dev tools introduction
Dev tools introductionDev tools introduction
Dev tools introduction
 
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)
ツールを使い倒せ!公開版 : (Use the tool to defeat it! : Public version)
 
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テストDevice Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
 
Hachiojipm31
Hachiojipm31Hachiojipm31
Hachiojipm31
 
RustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使うRustでWebSocketな自社APIを使う
RustでWebSocketな自社APIを使う
 
Chrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるにはChrome-eject がこの先生きのこるには
Chrome-eject がこの先生きのこるには
 
[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ[SC13] ログ管理で向上させるセキュリティ
[SC13] ログ管理で向上させるセキュリティ
 
継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング継続的インテグレーション3分クッキング
継続的インテグレーション3分クッキング
 
気が狂わないサーバ増設x10
気が狂わないサーバ増設x10気が狂わないサーバ増設x10
気が狂わないサーバ増設x10
 
Firefoxの開発ツール
Firefoxの開発ツールFirefoxの開発ツール
Firefoxの開発ツール
 
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
Azure VMを検証に使う - 便利なHyper-Vスナップショットを使う方法
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
 
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
速度改善のためにフロント:アプリ:インフラ エンジニアが使うツールについて
 

ブラウザ自動化ツール カオスマップ風 - STAC2018 LT

Editor's Notes

  1. 少し自己紹介をさせてください。 名前は西島と言います。 このアイコンで Twitter をやっています。 JavaScript と CSS が得意なフロントエンジニアです。
  2. それでは、本日のLTなのですが、ブラウザの自動化ツール、色々増えすぎていてわからん! ということで、カオスマップ風に整理してみました。 このLTでは、自分が整理してみたやつを紹介して、他にもこんなのあるよ、とか、そういうのをいただけると嬉しいな、と思っています。
  3. というわけで、まとめてみました。 僕がJS系のエンジニアなので JS のやつです。 Github上でそこそこ星がついていて、今もメンテがされているやつをリストアップしたつもりです。 ツールの自動化のアーキテクチャと、ブラウザの互換性の観点で分類しています。 分類ごとに駆け足で紹介していきたいと思います。
  4. まず、JavaScript Injection系。 これらのツールは、ブラウザについている自動化の機能を使うのではなく、JavaScript をページに流し込んで操作するアーキテクチャをとっています。実行が早く、セットアップが楽ですが、ブラウザの制約でできることが限られる場合もあり、思わぬところではまったりします。 マルチブラウザ対応はまちまちで、TestCafe はほとんどのブラウザに対応してますが、Nightmare は Electron の WebView 、Cypress はもろもろ対応予定はあるようですが現状 Chrome のみです。
  5. 次、devtool protocol 系。 これらのツールはChromeやFirefox の開発者ツールの機能を通してブラウザを操作する仕組みです。使いやすいですが、仕組み上マルチブラウザは期待できないです。 Puppeteer はよく使われているように思います。実験的ではありますが、 Firefox 実装もきのう公開されてかなり話題になっていました。 Gauge (ゲージ)は Thoughtworks が作っているテストフレームワークです。 中で使われている taiko.js が chromium と devtool protocol で動きます。個人的には結構イカすツールだと思っています。
  6. 次Headless Browser 系。 Phantom.js やSlimmer.js や Casper.js など、一時代を築いた Headless Browser はほとんどメンテが終了しているのですが、そんななか Zombie.js だけは元気です。 このツールはブラウザといっていいのかはわかりませんが、Headless browser を名乗っているのでリストアップしておきました。ちょっとスペース空いて見栄えも悪かったので。
  7. 次は、WebExtensions API を使っているやつ。 ブラウザの拡張機能を作るための Web 標準である、WebExtensions API を使ってブラウザを操作します。 複数のタブの同期的な処理など、他のツールでは難しいこともできるのではないかと思います。 ただ、まだ実用的かというと、そうでもないのが現状だと感じています。
  8. 最後、 Webdriver 系。Webdriver API というブラウザ操作のウェブ標準を使うやつです。 Yandex のビジュアルテスト用ツールのGemini 、Angular の Protractor、Paypal が作っている nemo は他の Webdriver 系ライブラリをもっと便利に使うためのツールなのでここに載せるかは迷いましたが、みっちり感を少しでも出したかったので入れました。 個人的なお気に入りは Intern とそのWebdriver クライアントの Leadfoot です。 TypeScriptでモダンな作りですし、セットアップ要らずで使えるのがすごく良いです。正直使われているのを見かけたことがないです。