无法在BrowserStack Automation上的iOS设备加载localhost上的站点

无法在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设备工作

我正在localhost上使用Kestrel托管一个.NET核心HTTP应用程序,该应用程序位于一些基于浏览器的UI测试的可用端口上,但当尝试使用带有BrowserStack Automation with
BrowserStackLocal.exe
的真实iOS设备访问它时,Safari始终拒绝加载页面

我尝试了记录的IP范围的各个部分,但都没有成功。桌面浏览器(Windows上的Chrome、IE、Edge和Firefox,macOS Mojave上的Safari)和真正的Android设备工作正常

我也尝试过使用机器的本地IP地址和完全限定域名(FQDN),如前所述,但两者都不能移植,因为Windows防火墙会阻止连接,即使通过BrowserStack Automatic也可以解析地址

端口80不是一个可行的解决方案,因为开发人员的机器将在使用该端口的机器上运行IIS,因此它不能用于其他目的

鉴于以下限制,可行的解决方案是什么

  • 托管在HTTP上

  • 在没有管理员权限的情况下运行(即没有重新配置防火墙或使用特权端口号您是否尝试使用计算机(web所在地)的IP地址更改“localhost”

    例如,如果承载应用程序/网页的计算机的IP为22.22.22.22,则在测试中更改为


    他们在这里也提到了同样的问题-

    在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谢谢-修复了它!如果你把这个写下来作为答案,我会把它标记为解决方案。也许这可以添加到文档中,作为关于我发布链接的问题的第三个疑难解答建议?