如何使用WebDriverIO和PhantomJS代理?

时间:2016-05-24 19:20:24

标签: selenium proxy webdriver phantomjs webdriver-io

我使用WebdriverIO与PhantomJS一起测试网站。但是,我想使用带有身份验证的HTTP代理服务器。

var client = webdriver.remote({
  desiredCapabilities: {
    browserName: 'phantomjs',
    proxy: {
      proxyType: 'manual',
      httpProxy: proxyServer.ipAddress + ':' + proxyServer.httpPort,
      socksUsername: proxyServer.username,
      socksPassword: proxyServer.password
    }
  }
});

但是,我无法使用这些设置打开任何网址。没有任何事情发生。

但是,当我使用firefoxchrome作为browserName时,它会开始加载页面,但出于某种原因要求输入用户名和密码。

var client = webdriver.remote({
  desiredCapabilities: {
    browserName: 'phantomjs',
    'phantomjs.cli.args': [
      '--proxy-type=http',
      '--proxy=' + proxyServer.ipAddress + ':' + proxyServer.httpPort,
      '--proxy-auth=' + proxyServer.username + ':' + proxyServer.password
    ].join(' ')
  }
});

但是,流量不是通过代理进行隧道传输,只是使用我的常规IP地址。

那么,如何配置WebdriverIO以使用代理?

1 个答案:

答案 0 :(得分:0)

如果有人正在搜索答案这对我来说非常适合使用HTTP代理。

{ browserName: 'phantomjs',
  "proxy": {
    "proxyType":"MANUAL",
    "httpProxy":"HOST:PORT"
  }
}

Source Gist有更多您可能想要的选项。