macでIEを簡単に立ち上げるscript


はじめまして、ほたてです。
Livesense Advent Calendar 2016 その3 の7日目を担当します。

はじめに

突然ですが、皆さんは最近IEを使ってますでしょうか?
最近ではモダンなブラウザが主流になり、自分も普段使うことはあまりありませんが、弊社では企業向けのサービスも一部提供しているため、まだそれなりのIEユーザが利用者としています。

以前、Windowsで開発をしていたときには見たいときに立ち上げることはできたものの、最近はMacBookでの開発のため、見たいと思っても環境がありません。

BrowserStackなども使ってましたが、もっさりだなとか、開発見るには一手間あってめんどいです。
そんな中、modern.ieの存在を知りました。
modern.ieはmircosoftが提供している開発用の仮装環境で、複数バージョンのWindows+IEの組み合わせを提供しています。

普通に使うには、サイトから仮想マシンを落としてセットアップすれば良いのですが

  • 落としてから90日有効ということで、スナップショットを取るか期限が切れたら再DLをする
  • 色んなバージョンを毎回手で落として設定するのがめんどい

ということで、コマンド一発でDL〜立ち上げまでをやってくれるスクリプトを作成しました。

コードはこちらです。
https://github.com/gtakat/modern-ie-automate

実行例

利用するには、Node.js、Virtualbox、Vagrantのインストールが必要です。
そして

$ git clone
$ npm install

を実行しておいてください。

  • 起動するには、npm startします。
  • boxのリストを取得して、バージョン選択が表示されます。

  • バージョンを選択するとイメージのダウンロードが始まります(数Gbytes落とすのでけっこう時間がかかります。気長に待ちましょう)

  • 無事DLで成功すると、Vagrantの設定〜起動まで一気に行います。

  • Windowsが立ち上がりました。
  • IEを起動してみます。

  • 成功です!
  • ということで、いったん起動はまではできたので、これで少しは楽をできそうですが、もう少し改善しないとダメだなと思ってます。

やり残し(時間切れ)

  • いきおいで書いたのでリファクタしたい
  • boxリスト取るところはキャッシュできそう
  • ダウンロード遅い
  • 通信状態が悪いなどでbox取得中に接続が切れると最初からになってしまう(リトライほしい)
  • 90日経ったら自動的に再ダウンロードしたい
  • システム要件満たしているかのチェックを追加
  • テストが無いね

という感じで、足りないところが多くて恐縮です。
今後、時間を見つけて改善してきたいと思います。