WEB+DB Press CasperJSの記事が面白い!

ヘッドレスブラウザ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件)

f:id:rochefort:20140525105305p:plain

 
実行結果例(assertion 8件)

f:id:rochefort:20140525105312p:plain

 

assertion 例

    test.assertHttpStatus 200
    test.assertSelectorHasText 'title', 'web+db press'
    test.assertSelectorHasText 'h3.r a', '技術評論社', '技術評論社のリンクを含んでいる'
    
    
    test.assertUrlMatch 'http://gihyo.jp/magazine/wdpress', '技術評論社のサイトに到達'