ヘッドレスブラウザCaperJSの記事が面白かったです。
PhantomJS(CasperJSはPhatomJSのラッパー)を触ろうと思ってはいましたが
なかなか腰が重い状態で、これを機に掲載スクリプトを写経して入門してみました。
記事の内容
CasperJSの説明に始まり
スクレイプ、キャプチャー(PC/モバイル)、End2Endテストといった感じのサンプルコードが掲載されています。
キャプチャ撮るのに以前は、ブラウザを裏で起動させてこの範囲でキャプチャ撮るみたなことやっていましたが
capture ‘path/to/file’ みたいな感じでokです。
細かいチューニングができるかなどは見れていないですが、簡単すぎます。最高です。
E2E テスト例
テストも書き方(API)さえ学べば、難しくはなさそうです。
casper.test.begin "web+dbでGoogle検索して技評がヒットする", 1, (test) -> casper.start 'https://google.com', -> test.comment "Googleトップページ: " + @getCurrentUrl() test.assertHttpStatus 200 casper.run -> test.done()
実行結果例(assertion 1件)
実行結果例(assertion 8件)
assertion 例
test.assertHttpStatus 200 test.assertSelectorHasText 'title', 'web+db press' test.assertSelectorHasText 'h3.r a', '技術評論社', '技術評論社のリンクを含んでいる' test.assertUrlMatch 'http://gihyo.jp/magazine/wdpress', '技術評論社のサイトに到達'