【发布时间】:2018-10-28 17:26:09
【问题描述】:
我在 localhost 上使用 Kestrel 在可用端口上托管一个 .NET Core HTTP 应用程序,以进行一些基于浏览器的 UI 测试,但是当尝试使用带有 BrowserStack Automate with BrowserStackLocal.exe 的真实 iOS 设备访问它时,Safari 始终拒绝加载页面。
我已经尝试了here 记录的 IP 范围的各个部分,但没有一个成功。桌面浏览器(Windows 上的 Chrome、IE、Edge 和 Firefox,macOS Mojave 上的 Safari)和真正的 Android 设备按预期工作。
我也尝试过使用机器的本地 IP 地址和完全限定域名 (FQDN),如 here 所述,但两者都不能移植,因为 Windows 防火墙阻止连接,即使通过 BrowserStack Automate 可以解析地址.
端口 80 不是一个可行的解决方案,因为开发人员的机器将使用该端口在他们的机器上运行 IIS,因此它不能用于其他目的。
鉴于以下限制,可行的解决方案是什么?
- 托管在 HTTP 上。
- 无需管理员权限即可运行(即无需重新配置防火墙或使用特权端口号
- 至少要使用两个可能的端口号,这样如果一个正在使用,至少有一个备用端口可供尝试。
- 运行测试不需要额外的手动设置(应该只是命令
dotnet test)。
【问题讨论】:
标签: ios .net-core browserstack