フロントエンドのE2Eテストにnightwatch.jsを利用しています。
nightwatchjs.org
テスト対象画面のHTMLデータを取得する方法が無いかと調べてみたところ
sourceメソッド http://nightwatchjs.org/api#source
を使えば簡単に取得できるんですね。
browser .url("http://www.google.com") .source(function (result){ // Source will be stored in result.value console.log(result.value); }) .end();
さらにjQueryっぽくDOM操作をしたい場合にはcheerioが便利です。
以下は、nightwatch.jsの公式サイトのトップページからaタグを全て取得するサンプルです。
const cheerio = require('cheerio'); browser .url('http://nightwatchjs.org/') .source((result) => { const $ = cheerio.load(result.value); const anchors = $('a'); for(let i = 0; i < anchors.length; i++) { console.log($(anchors[i]).attr('href')); } }) .end();
これを実行すると、以下のようにすべてのaタグが取得できていることがわかります。
/guide /api /blog /contact https://github.com/nightwatchjs/nightwatch/archive/v0.8.18.zip https://github.com/nightwatchjs/nightwatch https://twitter.com/share . . .
nightwatch.jsはseleniumベースのjsライブラリとなっているため、
フロントエンドエンジニアがE2Eテストが書きやすくなります。

- 作者: Satya Avasarala,Sky株式会社玉川竜司
- 出版社/メーカー: オライリージャパン
- 発売日: 2014/09/18
- メディア: 大型本
- この商品を含むブログ (5件) を見る

- 作者: Dima Kovalenko,玉川紘子,太田健一郎,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/09/18
- メディア: 大型本
- この商品を含むブログ (4件) を見る

Selenium実践入門 ―― 自動化による継続的なブラウザテスト (WEB+DB PRESS plus)
- 作者: 伊藤望,戸田広,沖田邦夫,宮田淳平,長谷川淳,清水直樹,Vishal Banthia
- 出版社/メーカー: 技術評論社
- 発売日: 2016/02/02
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る