【问题标题】:WebdriverIO & BrowsermobWebdriverIO & Browsermob
【发布时间】:2016-05-03 17:00:48
【问题描述】:

我目前正在尝试将 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);        

}

【问题讨论】:

  • 如何存根在浏览器中做出的响应——但不是由测试明确启动的?

标签: webdriver-io browsermob


【解决方案1】:

您是否尝试过使用 chrome。也许它会起作用。这样做:

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

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

【讨论】:

    【解决方案2】:

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

    此外,BrowserMob 代理自 2016 年以来就没有发布过。BrowserUp 代理是一个积极维护的替代品https://github.com/browserup/browserup-proxy,支持 Java 11、积极开发、brotli 支持、安全修复等。

    【讨论】:

      猜你喜欢
      • 2019-10-09
      • 2019-02-02
      • 2019-04-02
      • 1970-01-01
      • 2013-09-05
      • 1970-01-01
      • 2021-03-27
      • 2016-10-09
      • 1970-01-01
      相关资源
      最近更新 更多