Angularjs 代理后面带有BrowserStack的角度量角器

Angularjs 代理后面带有BrowserStack的角度量角器,angularjs,proxy,protractor,browserstack,Angularjs,Proxy,Protractor,Browserstack,我想为Angular应用程序构建一个测试套件。testsuite应该使用框架“量角器”。 当我用gragrator local.config.js启动testsuite local时,测试运行成功。 当我使用BrowserStack启动测试套件时,没有代理,一切都正常 现在我的问题是: 如果要通过代理后的本地浏览器堆栈执行测试,我必须执行哪些设置 主浏览器堆栈配置: var proxy = 'http://proxy.example.com:8888'; exports.config =

我想为Angular应用程序构建一个测试套件。testsuite应该使用框架“量角器”。 当我用
gragrator local.config.js
启动testsuite local时,测试运行成功。 当我使用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
步骤:

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

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

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

  • 您必须确保通过量角器发出的Selenium请求也到达BrowserStack。最简单的选择是使用npm包。如果您的代理支持身份验证,您可以尝试使用npm模块


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

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

    我发现我可以从本地运行的应用程序上的浏览器堆栈“Live”进行访问。现在看来是量角器的问题,不能通过代理工作。如何配置量角器,使其能够在代理后处理?这里也有同样的问题。您是否有使用全局隧道的量角器配置示例??