Browserstack&Selenium - 代理配置

Browserstack&Selenium - proxy configuration

我正在尝试设置浏览器堆栈和本地测试。 我使用 browserstack 本地客户端打开了一个隧道,如下所示:

./BrowserStackLocal.exe myCodeToken -proxyHost MY_PROXY_IP -proxyPort MY_PROXY_PORT -v -force -forcelocal

所以它通过我的本地网络转发所有流量。 在我的本地 /etc/hosts 文件中,我有如下条目: 127.0.0.1dev.mysite.com

然后,当我执行简单的 selenium 测试时,browserstack 虚拟机能够访问我的域名并且一切正常。但是在我有外部 scripts/css/images 等的某些部分,例如 gooogle analitics browserstack 无法访问它们(以及互联网)。

问题是我的本地机器使用 MY_PROXY_IP:MY_PROXY_PORT 访问互联网,浏览器堆栈似乎试图通过我的机器转发所有流量,但它不起作用。

你有什么解决办法吗?

您可以尝试删除 -forcelocal 参数,因为它负责通过您的机器路由所有流量。这样做时,任何 public(外部)css/images 都将直接解析,而不是通过您的机器。

或者,如果 -forcelocal 参数是必需的,您可以尝试将其与 -only 参数一起使用。在这种情况下,-only 下提到的域的请求将通过您的计算机路由,而其余请求将 publicly 解决。

您可以按如下方式执行本地测试二进制文件:

BrowserStackLocal.exe <automate-key> <the-proxy-parameters> -forcelocal -only host_name,port_no,ssl_flag

BrowserStackLocal.exe <automate-key> <the-proxy-parameters> -forcelocal -only host1,port1,ssl_flag,host2,port2,ssl_flag(对于多个主机)

有关设置本地测试连接时可以使用的不同参数的更多详细信息,请参见此处 - https://www.browserstack.com/local-testing#modifiers