ずっとPhantomjsを古い1.9系で使っていたけど
Webfontやらで困ることが増えてきました。
ラッパーユーティリティのCasperJSの方がつい最近
PhantomJSの2系をサポートしてくれるようになったので、
重い腰をあげて、バージョンアップすることにしました。
PS)重い腰とは、casperjsで作ったtestがすでにいっぱいCIで走っているからです。それをぶっ壊してはできないので、躊躇していました。
今回は
PhantomJSのバージョンアップとCasperJSのバージョンアップ、2つをセットでバージョンアップします。
PhantomJSのバージョンアップ
こちらは公式サイト http://phantomjs.org/ で
Linux用バイナリがダウンロードできますので、
それをPATH以下に置くだけです。
先に古いバイナリを今後も使えるように退避しておきます。
mv /usr/local/bin/phantomjs /usr/local/bin/phantomjs-1.9.7
ln -s /usr/local/bin/phantomjs-1.9.7 /usr/local/bin/phantomjs
phantomjs -version # 1.9.7と表示される
cd /tmp
wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
bzip2 -dc phantomjs-2.1.1-linux-x86_64.tar.bz2 | tar xvf -
cp -a phantomjs-2.1.1-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs-2.1.1
ln -sf /usr/local/bin/phantomjs-2.1.1 /usr/local/bin/phantomjs
phantomjs -version # 2.1.1と表示される
以上でOKです。
CasperJSのバージョンアップ
こちらも先に古いバージョンを退避しておきます。
casperjs --version # 1.1.0-beta3
cd /usr/local/
mv casperjs casperjs-1.1-beta3
ln -s casperjs-1.1-beta3 casperjs
casperjs --version # 1.1.0-beta3
https://github.com/n1k0/casperjs/releases
ここから最新のデータを落としてきます。git cloneでもいいです。
cd /tmp
wget https://github.com/n1k0/casperjs/archive/1.1-beta5.tar.gz -O casperjs.1.1-beta5.tar.gz
tar zxf casperjs.1.1-beta5.tar.gz
mv casperjs.1.1-beta5 /usr/local/
cd /usr/local/
rm casperjs && ln -sf casperjs-1.1-beta5 casperjs
casperjs --version # 1.1.0-beta5
以上です。
後はいつものcasperjsのtestなりスクリプトを走らせて確認してください。
うちで走っているCIの大量のテストも問題なく終わり、
かつWebfontやgraphy-genericons-cssを使ったサイトでも
文字化けなく豆腐になることなく、スクリーンショットが残せるようになっています。