无法通过BrowserStack Automate在iOS设备上加载localhost上的站点

问题描述 投票:3回答:4

我在可用端口上使用Kestrel在本地端口上托管.NET Core HTTP应用程序,以进行一些基于浏览器的UI测试,但是当尝试使用带有BrowserStackLocal.exe的BrowserStack Automate的真实iOS设备访问它时,Safari始终拒绝加载页面。

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

我也尝试过使用计算机的本地IP地址和完全限定的域名(FQDN),如here所述,但由于Windows防火墙甚至通过BrowserStack Automate都可以解析该地址,因此它们都无法移植,因为Windows防火墙阻止了连接。

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

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

  1. 托管在HTTP上。
  2. 无管理员权限运行(即,无需重新配置防火墙或使用特权端口号<1024)。
  3. 至少要使用两个可能的端口号,以便在使用一个端口号时至少要尝试一个替代端口。
  4. 不需要额外的手动设置来运行测试(应该只是命令dotnet test。]
ios .net-core browserstack
4个回答
9
投票

在iOS设备上,尝试解析http://bs-local.com:5000而不是http://localhost:5000


4
投票

您可以使用http://bs-local.com:5000访问该站点,但是请确保在配置中使用webpack禁用对disableHostCheck: true的主机检查。


0
投票

您是否尝试使用计算机的IP地址(托管Web的主机)更改'localhost'?


0
投票

如果使用的是cli,请运行命令ng serve --host 0.0.0.0 --port xxxx,这将确保您能够使用指定的ip和端口访问应用程序。完成后,您应该能够使用浏览器堆栈iphone设备浏览器使用ip和port而不是localhost访问您的应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.