【发布时间】: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
步骤:
- 在我的本地计算机上启动应用程序
node app.js - 启动脚本“BrowserStackLocal”
- 使用上面的 browserstack 配置启动量角器。
【问题讨论】:
-
我发现我可以从本地运行的应用程序上的浏览器堆栈“实时”访问。现在它似乎是 Protractor 不能通过代理工作的问题。如何配置 Protractor 以便它可以在代理后处理?
标签: angularjs proxy protractor browserstack