before(function(done) { proxy.start(function(err, data) { if (err) { console.log(err); return done(new Error(err)); } port = data.port; proxy.addHeader(data.port, { 'x-origin-olx': 'testing' }, function(err, response) { if (err) { console.log(err); return done(new Error(err)); } var capabilities = config.capabilities[platform]; capabilities.proxy = { httpProxy: 'localhost:' + data.port } client = webdriverjs.remote(capabilities); pages = require('../pages')(client, baseURL, platform); client.init(done); }); }); });
var Proxy = require('browsermob-proxy').Proxy , webdriverio = require('webdriverio') , fs = require('fs') , proxy = new Proxy() ; proxy.cbHAR('search.yahoo.com', doSeleniumStuff, function(err, data) { if (err) { console.error('ERR: ' + err); } else { fs.writeFileSync('stuff.har', data, 'utf8'); //fs.writeFile('/Users/hanu/Desktop/amit/webdriverio/webdriverio-test/stuff.har', data, 'utf8'); } }); function doSeleniumStuff(proxy, cb) { var browser = webdriverio.remote({ host: 'localhost' , port: 4444 , desiredCapabilities: { browserName: 'chrome', seleniumProtocol: 'WebDriver', Proxy: { httpProxy: proxy } } }); require('webdrivercss').init(browser, { // example options screenshotRoot: './webdrivercsss' }); browser
client.end(function() { proxy.stop(port, done); });