2017/06/17 6:13 pm
Promise and Generator #4
Uncategorized, , ,

ぼちぼち Selenium でテストし始める。

ところで Selenium でテストする際、ブラウザの console 出力を得たい時がある。…のだけど、いまいちそのへんのドキュメントが整備されていない気がする。javascript バインディングの API はドキュメントがあるが、これはあくまでリファレンスであってハウツー的なものはほとんど書いてない。

いろいろ調べてみたところ、

const webdriver = require('selenium-webdriver');
const chrome = require('selenium-webdriver/chrome');
 :
 :
var loggingPrefs = new webdriver.logging.Preferences()
loggingPrefs.setLevel(
    webdriver.logging.Type.BROWSER,
    webdriver.logging.Level.ALL);

var options = new chrome.Options();
options.setLoggingPrefs(loggingPrefs);

var driver = new webdriver.Builder()
    .withCapabilities(webdriver.Capabilities.chrome())
    .setChromeOptions(options)
    .build()
 :
 :
driver.manage().logs().get(webdriver.logging.Type.BROWSER).then(log => {
  // log は Entry インスタンスの配列で、
  // 各要素の message プロパティに console 出力の各行が格納されている
});

という感じでいいようだ。message プロパティは前後にソースファイル名や行番号などが付加されていたりするので、そういうものを削ぎ落とす加工は必要。

コメントを残す

アーカイブ