无法在BrowserStack Automation上的iOS设备加载localhost上的站点
我正在localhost上使用Kestrel托管一个.NET核心HTTP应用程序,该应用程序位于一些基于浏览器的UI测试的可用端口上,但当尝试使用带有BrowserStack Automation with无法在BrowserStack Automation上的iOS设备加载localhost上的站点,ios,.net-core,browserstack,Ios,.net Core,Browserstack,我正在localhost上使用Kestrel托管一个.NET核心HTTP应用程序,该应用程序位于一些基于浏览器的UI测试的可用端口上,但当尝试使用带有BrowserStack Automation withBrowserStackLocal.exe的真实iOS设备访问它时,Safari始终拒绝加载页面 我尝试了记录的IP范围的各个部分,但都没有成功。桌面浏览器(Windows上的Chrome、IE、Edge和Firefox,macOS Mojave上的Safari)和真正的Android设备工作
BrowserStackLocal.exe
的真实iOS设备访问它时,Safari始终拒绝加载页面
我尝试了记录的IP范围的各个部分,但都没有成功。桌面浏览器(Windows上的Chrome、IE、Edge和Firefox,macOS Mojave上的Safari)和真正的Android设备工作正常
我也尝试过使用机器的本地IP地址和完全限定域名(FQDN),如前所述,但两者都不能移植,因为Windows防火墙会阻止连接,即使通过BrowserStack Automatic也可以解析地址
端口80不是一个可行的解决方案,因为开发人员的机器将在使用该端口的机器上运行IIS,因此它不能用于其他目的
鉴于以下限制,可行的解决方案是什么
他们在这里也提到了同样的问题-在iOS设备上,尝试解析而不是。您可以使用访问站点,但请确保在配置中使用
disableHostCheck:true
禁用主机检查网页包
对于angular cli用户,要禁用主机检查,您需要使用--禁用主机检查
如ng serve--端口4200--禁用主机检查
如果您使用的是angular cli,请运行命令
ng serve --host 0.0.0.0 --port xxxx
这将确保您能够使用指定的IP和端口访问应用程序。完成后,您应该能够使用浏览器堆栈访问应用程序iPhone设备浏览器使用IP和端口而不是本地主机。这是BrowserStack的支持:
a) 游猎
- 以前,运行iOS版本10及以上的iOS设备不支持访问URL中带有“localhost/127.0.0.1”的本地网站
- 但是,为了确保您的网站在URL中加载“localhost”,我们现在将URL修改为在这些设备上加载。这有助于以预期的方式加载您的网站。这里也提到了这一点
- 在您共享的屏幕截图中,您还可以看到重定向到bs-local.com
- 似乎您的localhost网站配置为只能通过特定主机名(如“localhost”)访问。因此,您将面临报告的错误
- 为了能够在iOS设备上通过Safari测试您的localhost网站,我建议将您的localhost网站配置为可以通过本地机器的私有IP地址访问
- 完成后,您可以通过http://访问localhost网站,这应该可以正常工作
- 我还鼓励您阅读本指南,了解如何实现上述目标:
b) 论铬
- 由于Safari的限制,iOS设备默认不支持在Chrome上测试localhost网站
- 使用域“localhost”时会出现问题。我们也在积极尝试为这种行为寻找替代方案
- 但是,与此同时,您也可以通过iOS设备上的Chrome浏览器,通过上述私有IP地址访问您的本地主机网站
- 一旦您对配置进行了必要的更改,以允许通过专用IP地址访问localhost网站,您也可以通过iOS上的Chrome测试localhost网站
如果您需要任何进一步的帮助,请随时联系
注意:专用IP地址与127.0.0.1不同。您可以使用本文来标识计算机的私有IP地址
问候,,
雷汉
BrowserStack支持我做到了,不幸的是,问题中所述的FQDN和IP地址都是Windows防火墙的陷阱。在iOS设备上,尝试解析而不是。@MukeshTiwari谢谢-修复了它!如果你把这个写下来作为答案,我会把它标记为解决方案。也许这可以添加到文档中,作为关于我发布链接的问题的第三个疑难解答建议?