我目前正在尝试将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);
}
答案 0 :(得分:1)
你尝试过使用chrome吗?也许它会起作用。为此:
像往常一样启动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支持,安全修补程序和更多。