在 Protractor 中为 e2e-tests 设置 https 代理
Setting https proxy for e2e-tests in Protractor
我想在使用 Protractor 进行 e2e 测试期间将网络请求存入第三方服务,同时保持浏览器与我的 api 之间的通信。此外,我希望能够将一些特定的调用存根到我的api,同时保持其他调用不变。
我正在测试的应用程序被容器化到 Docker 个容器中。 e2e 测试在 Firefox 中 运行 在一个容器中,而 API 服务器在另一个容器中。
所以我想做的是设置一个带有代理节点服务器的容器(我们称这个容器为 proxy
)。我希望来自浏览器的所有网络流量都通过代理服务器,其中一部分流量可以根据需要进行存根。
这几乎行得通。但是,我观察到只有 http
流量通过代理,而 https
流量逃脱了代理。我想知道为什么会这样。
这里是量角器配置的相关部分:
exports.config = {
...
capabilities: {
'browserName': 'firefox',
'proxy': {
'proxyType': 'manual',
'httpProxy': 'proxy:3000',
'sslProxy': 'proxy:3000'
}
},
...
}
我尝试了 sslProxy
和 httpsProxy
选项,就像我在各种在线讨论中看到的那样,但是 none 通过我的代理帮助定向 https 请求。例如,我在一个页面上添加了两张图片——一张 Google 徽标通过 http 提供,另一张通过 https 提供。我可以在 proxy
docker 日志中看到,通过 http 提供的图像请求通过代理服务器传递,但通过 https 提供的图像请求没有。
所以我的问题是,我做的事情明显有问题吗?您能否建议是否也可以通过代理服务器将浏览器的 https 请求定向?
目前 似乎不支持 proxy
的功能。
与其尝试通过量角器或 /etc/hosts
文件将您的调用重定向到代理服务器,您可能需要考虑更改 Web 应用程序以进行依赖注入,以将这些调用更改为指向您的第三个派对服务器到代理服务器。
我想在使用 Protractor 进行 e2e 测试期间将网络请求存入第三方服务,同时保持浏览器与我的 api 之间的通信。此外,我希望能够将一些特定的调用存根到我的api,同时保持其他调用不变。
我正在测试的应用程序被容器化到 Docker 个容器中。 e2e 测试在 Firefox 中 运行 在一个容器中,而 API 服务器在另一个容器中。
所以我想做的是设置一个带有代理节点服务器的容器(我们称这个容器为 proxy
)。我希望来自浏览器的所有网络流量都通过代理服务器,其中一部分流量可以根据需要进行存根。
这几乎行得通。但是,我观察到只有 http
流量通过代理,而 https
流量逃脱了代理。我想知道为什么会这样。
这里是量角器配置的相关部分:
exports.config = {
...
capabilities: {
'browserName': 'firefox',
'proxy': {
'proxyType': 'manual',
'httpProxy': 'proxy:3000',
'sslProxy': 'proxy:3000'
}
},
...
}
我尝试了 sslProxy
和 httpsProxy
选项,就像我在各种在线讨论中看到的那样,但是 none 通过我的代理帮助定向 https 请求。例如,我在一个页面上添加了两张图片——一张 Google 徽标通过 http 提供,另一张通过 https 提供。我可以在 proxy
docker 日志中看到,通过 http 提供的图像请求通过代理服务器传递,但通过 https 提供的图像请求没有。
所以我的问题是,我做的事情明显有问题吗?您能否建议是否也可以通过代理服务器将浏览器的 https 请求定向?
目前 proxy
的功能。
与其尝试通过量角器或 /etc/hosts
文件将您的调用重定向到代理服务器,您可能需要考虑更改 Web 应用程序以进行依赖注入,以将这些调用更改为指向您的第三个派对服务器到代理服务器。