WebdriverIO& Browsermob

时间:2016-05-03 17:00:48

标签: webdriver-io browsermob

我目前正在尝试将Browsermob与WebdriverIO一起使用,我在另一个答案中找到了这个代码,但是当我运行它时,firefox浏览器出现了,我看到控制台窗口中的活动我运行了selenium和browsermob-proxy,但它没有进入search.yahoo.com页面。它只是坐在一个空白页面,测试结束(说它通过了,但那是其他的) 我正在Mac上运行最新的WebdriverIO和Browsermob 这是代码

var Proxy = require('browsermob-proxy').Proxy
    , webdriverio = require('webdriverio')
    , fs = require('fs')
    , proxy = new Proxy()
;

proxy.cbHAR('search.yahoo.com', doWebio, function(err, data) {
        if (err) {
            console.error('ERR: ' + err);
        } else {
            fs.writeFileSync('stuff.har', data, 'utf8');
        }
});

function doWebio(proxy, cb) {

    var browser = webdriverio.remote({
        host: 'localhost'
        , port: 4444
        , desiredCapabilities: { browserName: 'firefox', seleniumProtocol: 'WebDriver', proxy: { httpProxy: proxy } }
    });

    browser
        .init()
        .url("http://search.yahoo.com")
        .setValue("#yschsp", "javascript")
        .submitForm("#sf")
        .end().then(cb);        

}

2 个答案:

答案 0 :(得分:1)

你尝试过使用chrome吗?也许它会起作用。为此:

  • 将chromedriver从here添加到您的/ usr / bin
  • 更改上面的代码,如下所示(注意代理中的大写字母P)
  • 像往常一样启动selenium服务器和browserMob并运行测试

    desiredCapabilities: { browserName: 'chrome', seleniumProtocol: 'WebDriver', Proxy: { httpProxy: proxy } }

答案 1 :(得分:0)

对于那些使用FireFox的用户,现在需要安装GeckoDriver才能将FireFox与Selenium一起使用。 https://github.com/mozilla/geckodriver/releases

此外,BrowserMob代理自2016年以来就没有发布过。BrowserUpProxy是一个积极维护的直接替代产品https://github.com/browserup/browserup-proxy,支持Java 11,活动开发,brotli支持,安全修补程序和更多。