2016-02-02 153 views
1

我想在使用量角器的e2e測試期間將網絡請求存儲到第三方服務,同時保持瀏覽器和我的api之間的通信。另外,我希望能夠保留一些特定的呼叫到我的API,同時保持其他呼叫不變。在量角器中爲e2e測試設置https代理

我正在測試的應用程序被集成到Docker容器中。 e2e測試在Firefox中運行在一個容器中,而API服務器在另一個容器中運行。

所以我想要做的是建立一個代理節點服務器的容器(我們稱這個容器爲proxy)。我希望來自瀏覽器的所有網絡流量都能通過代理服務器,其中部分流量可根據需要進行存儲。

這幾乎可行。然而,我觀察到只有http流量通過代理,而https流量逃離代理。我想知道爲什麼會發生這種情況。

這裏是量角器配置的相關部分:

exports.config = { 

    ... 

    capabilities: { 
     'browserName': 'firefox', 
     'proxy': { 
      'proxyType': 'manual', 
      'httpProxy': 'proxy:3000', 
      'sslProxy': 'proxy:3000' 
     } 
    }, 
    ... 
} 

我試用過sslProxyhttpsProxy選項,就像我在各種網上討論所看到的,但沒有幫助我通過代理直接HTTPS請求。例如,我在頁面上添加了兩個圖像 - 其中一個Google徽標通過http提供,另一個通過https提供。我可以在proxy docker日誌中看到,通過http提供的圖像請求會通過代理服務器傳遞,但通過https提供的圖像請求不會。

所以我的問題是,我有什麼明顯的錯誤嗎?你能否建議是否可以通過代理服務器指導瀏覽器的https請求?

回答

1

proxy的功能似乎目前不支持protractor reference config

您可能不想嘗試通過量角器或可能/etc/hosts文件將您的調用重定向到代理服務器,您可能需要考慮更改Web應用程序以使依賴注入將這些調用更改爲從第三方服務器指向代理服務器。

+0

有趣。那麼,無論如何,代理功能的'httpProxy'部分都可以工作。 'httpsProxy'部分沒有。 謝謝你的解釋和建議。 – azangru