読了: 約 2 分

いや本当に寒くなってきましたね。
寒いので閉じこもって勉学に励んでおります。

転職したので、JavaScriptを複数人でガツガツ書くようになる事を想定して、
JavaScriptのテストのために最近良く聞く『phantomJs』についてメモしておきます。

PhantomJSとは

JavaScriptのテストに使用されるjsのフレームワークの事
ブラウザなしでWebページを表示・実行できる

Webkitベースのヘッドレスで高速なブラウザ
ヘッドレスとはGUIを持たないという意味で、完全にCUIでのみ動作
CanvasやSVGなどもサポートされていて、画像を出力する事も可能

利用目的

コマンドでのテスト、Webスクレイピング、ページのキャプチャ取得、
ネットワークの監視等。

Windows/Mac/Linux全てで動作するので開発マシンで動かしてもビルドサーバで
動かしても大丈夫

使用例

まずはダウンロードしてみましょう。
Windows/Mac/Linux全てありますので下記からどうぞ
phantomjsダウンロード

ダウンロードした後は任意の位置に格納して、コマンドを実行
windowsの方の例

phantomjs.exe examplesscandir.js examples

実行結果

これはexamplesフォルダの中にある、scandir.jsを実行して、引数としてexamplesを渡して、
ディレクトリ内のファイルを列挙している例です。

グローバルスコープ 意味
phantomオブジェクト プログラムに渡された引数の取得、プロセスの終了等
requireメソッド CommonJSで定義されたモジュールを利用するためのメソッド。

参考記事

SEO対応のAjax通信について個人的に興味のある内容でしたのでメモ
続・PhantomJSで遊ぶヽ|・∀・|ノ Static HTMLの生成

Githubにコードがあるようです。
Phantomjs

続Grunt + phantomjs + jasmineで自動テスト環境

今後はこういう展開をしていきたいなぁ…。
続Grunt + phantomjs + jasmineで自動テスト環境

参考書籍

テスト等実際の業務を想定したテクニックが多数記載されています。
上記のPhantomJSや他にもTipsが結構書いてあります。