複数ブラウザを一斉操作する同期ツールで簡単検証 #WebSocket編

複数ブラウザを一斉操作する同期ツールで簡単検証 #WebSocket編
■ 店頭より得で、予約しやすいオンラインショップ。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

Seleniumのデメリットは「Webドライバ」ではないかと以前より考えていました。

「Webドライバ」はバージョン管理がかなりセンシティブ。ブラウザのバージョンがアップデートされるたびに、「Webドライバ」もアップデートしなければいけません。この「Webドライバ」はブラウザ開発と連動している訳でもなく、後から追っかけ開発方式となっています。つまり、ブラウザ開発とは別の部隊で開発されているという現実があり、このタイムラグによる不都合が問題視されていました。

テスト検証に優位な仕様

ショーケース・ティービーの製品運用部隊はお客様に納品する際、必ず「全ブラウザチェック」という作業を実施しています。
もちろん、これは各ブラウザにて想定する動作がされているかどうかをチェックするものです。
両手の指で数え切れないほどのブラウザ、そして各バージョンがある現在、この作業が単純に工数を圧迫しているのは言うまでもなく、現場でも中々の重労働であるという報告も受けています。

それこそSeleniumで自動検証を実施すれば済む話ではないかとお考えになられる方も多いかもしれませんが、納品する企業のWEBサイトによってはDOM構造も違いますし、それぞれ設定も挙動も異なります。
都度設定していては、設定自体に工数を取られてしまいますし、せっかく設定したものもほぼ再利用が不可能であるというデメリットもつきまといます。

どうにか一括での複数ブラウザをまたがった操作ができないものか……
そこで思いついたのが『WebSocket』の存在。
ということで、『WebSocket』を使って実現させてみることにしました。

現在、複数回にわたって実施している作業を1回で済ますことができれば、作業効率は複数回分の1になるという、極めて分かりやすい効率改善です。

Node.jsの環境準備

Node.jsは通常のWebサーバと環境設定が異なりますが、今回は以下の構成でローカル環境に設置します。

※公開サーバに設置する場合は、Centos移行を参考にしてください。

### 1. Dockerをインストール

まずはMacアプリで動作するようにDockerをインストールします。
https://docs.docker.com/docker-for-mac/install/
上記URLから「Docker.dmg」インストーラをダウンロードします。

インストールは、インストーラを起動して、アプリをコピーするだけ。

起動するとメニューバーに下図のようなアイコンが表示されます。

これをクリックすると、下の画像のようなパネルウィンドウが開きます。

ここで「About Docker」を選択すると、バージョンが確認できます。

参考ページ(英語です)
https://docs.docker.com/docker-for-mac/

### 2. OSのインストール

Dockerのインストールが終わったら、次は仮想OSのインストールです。
Docker ImageのCentosをサクッと入れてしまいましょう。
Macのターミナルを開いてインラインに上がっているDocker Imageの検索をしてみます。

笑っちゃうぐらいいっぱいありますね。
そしてSTARSが一番多い、リスト最上位のものをpullしちゃいます。
何事もなく完了してしまいました。
一応、取得しているイメージ一覧を確認してみましょう。
■最新のiPhoneの購入・機種変更なら店頭より得で、予約しやすいオンラインショップ。
機種の頭金や使わないオプションパックをつけて年間何万円も損していませんか?
オンラインショップなら故障のサポートもしっかりしていて最低限の費用。待たされることもありません。
 → ドコモオンラインショップ
 → auオンラインショップ
 → ソフトバンクオンラインショップ

最新のiPhoneを得して乗り換えるなら、
キャッシュバックキャンペーン実施中!【おとくケータイ.net】
がお得です。