【问题标题】:Angular Protractor with BrowserStack behind a proxy代理后面带有 BrowserStack 的 Angular Protractor
【发布时间】:2016-04-02 13:08:09
【问题描述】:

我想为 Angular 应用程序构建一个测试套件。测试套件应使用“量角器”框架。 当我使用protractor local.config.js 启动本地测试套件时,测试运行成功。 当我使用 BrowserStack 不带代理启动测试套件时,一切正常。

现在我的问题:

如果我想通过代理后面的本地浏览器堆栈执行测试,我必须做哪些设置?

主 BrowserStack 配置:

var
  proxy = 'http://proxy.example.com:8888';

exports.config = {
  capabilities: {
    project: 'BrowserStack (beyond Proxy)',
    proxy: {
      proxyType: 'manual',
      httpProxy: proxy,
      sslProxy: proxy,
      },
    loggingPrefs: {
      driver: "FINE",
      server: "OFF",
      browser: "FINE"
    },

    'browserstack.user': 'USER_KEY',
    'browserstack.key': 'ACCESS_KEY', // show on BrowserStack

    // Needed for testing localhost
    'browserstack.local' : 'true',

    // Settings for the browser you want to test
    // (check docs for difference between `browser` and `browserName`
    'browserName' : 'chrome',
    'version' : '43.0',
    'os' : 'OS X',
    'os_version' : 'Yosemite',
    'resolution' : '1024x768'
  },
  seleniumAddress: 'http://hub.browserstack.com/wd/hub',
  specs: [
    'test/e2e/**/*.spec.js'
  ]
};

我用这个参数调用脚本“BrowserStackLocal”:

./BrowserStackLocal -v -proxyHost PROXY_DOMAIN -proxyPort PROXY_PORT $ACCESS_KEY localhost,$PORT,0

步骤:

  1. 在我的本地计算机上启动应用程序node app.js
  2. 启动脚本“BrowserStackLocal”
  3. 使用上面的 browserstack 配置启动量角器。

【问题讨论】:

  • 我发现我可以从本地运行的应用程序上的浏览器堆栈“实时”访问。现在它似乎是 Protractor 不能通过代理工作的问题。如何配置 Protractor 以便它可以在代理后处理?

标签: angularjs proxy protractor browserstack


【解决方案1】:

当你在代理服务器后面时,你需要做两件事:

  1. 如果您正在测试本地服务器,则需要通过传递代理详细信息来设置本地测试连接,我假设您正在这样做。

  2. 您必须确保通过 Protractor 发出的 Selenium 请求也到达 BrowserStack。最简单的选择是使用global-tunnel npm 包。如果您的代理在身份验证之后,您可以尝试使用 tunnel npm 模块。

【讨论】:

  • 这里有同样的问题。你有使用 global-tunnel 的量角器配置示例吗??
【解决方案2】:

您不再需要使用全局隧道。现在有一个新的配置选项 webDriverProxy:

exports.config = {
  seleniumAddress: 'http://localhost:4444/wd/hub',
  webDriverProxy: 'http://127.0.0.1:8888',
  capabilities: {
    browserName: 'chrome'
  },
  specs: ['*.spec.js'],
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 2019-08-14
    • 2014-10-21
    • 1970-01-01
    相关资源
    最近更新 更多