javascript - 使用 BrowserMobProxy 配置 WebDriverIO

标签 javascript node.js selenium webdriver browsermob

有没有人有关于如何配置 BrowserMobProxy 的正确示例?与 WebDriverIO ?这样我就可以捕获网络流量。我以前用它工作过 WebDriverJS ,这实际上是 WebDriverIO 的弃用版本.

最佳答案

您可以使用下面的代码来做到这一点。确保您的 browsermob 代理selenium 服务器 正在运行。然后将下面的代码复制粘贴到 test.js 文件中,并将其放入 webdriverio 安装文件夹中。从 cmd 转到该文件夹​​并运行 node test.jsstuff.har应该在test.js所在的位置生成。

var Proxy = require('browsermob-proxy').Proxy
    , webdriverio = require("./node_modules/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');


        }
});

function doSeleniumStuff(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);        

}

关于javascript - 使用 BrowserMobProxy 配置 WebDriverIO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36203022/

相关文章:

javascript - package.json "latest"版本是否包含测试版?

azure - Selenium 和 Azure Web 应用程序

java - 从网络元素列表中删除逗号和分号

javascript - 如何使用 javascript 将小时转换为 12 HRS/24 HRS 格式

javascript - ASP.NET MVC JSON Entity Framework - 保存数据

javascript - 如何在 node js v6 中将顺序函数转换为并行执行

node.js - 异步错误未达到Express错误中间件

javascript - 如何在 Node.js 中获取 Twilio SMS 正文

java - 使用 Selenium 时出现下拉列表问题

javascript - ng-click 与 Bootstrap 评级