WebdriverIO 和 Browsermob
WebdriverIO & Browsermob
我目前正在尝试将 Browsermob 与 WebdriverIO 一起使用,我在另一个答案中找到了这段代码,但是当我 运行 它时,firefox 浏览器出现了,我在控制台中看到了 activity windows 我有 selenium 和 browsermob-proxy 运行ning,但它没有转到 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);
}
您是否尝试过使用 chrome。也许它会工作。为此:
- 将 here 的 chrome 驱动程序添加到您的 /usr/bin
- 对上面的代码进行如下更改(注意代理中的大写 P)
照常启动 selenium 服务器和 browserMob 并运行 测试
desiredCapabilities: { browserName: 'chrome', seleniumProtocol: 'WebDriver', Proxy: { httpProxy: proxy } }
对于那些使用 FireFox 的人,您现在需要安装 GeckoDriver 才能将 FireFox 与 Selenium 一起使用。 https://github.com/mozilla/geckodriver/releases
此外,BrowserMob 代理自 2016 年以来一直没有发布。BrowserUp 代理是一个积极维护的 drop-in 替代 https://github.com/browserup/browserup-proxy,支持高达 Java 11,积极开发、brotli 支持、安全修复等。
我目前正在尝试将 Browsermob 与 WebdriverIO 一起使用,我在另一个答案中找到了这段代码,但是当我 运行 它时,firefox 浏览器出现了,我在控制台中看到了 activity windows 我有 selenium 和 browsermob-proxy 运行ning,但它没有转到 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);
}
您是否尝试过使用 chrome。也许它会工作。为此:
- 将 here 的 chrome 驱动程序添加到您的 /usr/bin
- 对上面的代码进行如下更改(注意代理中的大写 P)
照常启动 selenium 服务器和 browserMob 并运行 测试
desiredCapabilities: { browserName: 'chrome', seleniumProtocol: 'WebDriver', Proxy: { httpProxy: proxy } }
对于那些使用 FireFox 的人,您现在需要安装 GeckoDriver 才能将 FireFox 与 Selenium 一起使用。 https://github.com/mozilla/geckodriver/releases
此外,BrowserMob 代理自 2016 年以来一直没有发布。BrowserUp 代理是一个积极维护的 drop-in 替代 https://github.com/browserup/browserup-proxy,支持高达 Java 11,积极开发、brotli 支持、安全修复等。