Я размещаю HTTP-приложение .NET Core на локальном хосте, используя Kestrel на доступном порту для некоторых тестов пользовательского интерфейса на основе браузера, но при попытке доступа к нему с помощью реальных устройств iOS с BrowserStack Automate с BrowserStackLocal.exe
Safari последовательно отказываетсязагрузить страницу.
Я пробовал различные части заданных диапазонов IP-адресов здесь , но ни одна из них не увенчалась успехом.Браузеры для настольных компьютеров (Chrome, IE, Edge и Firefox в Windows, Safari в MacOS Mojave) и реальные устройства Android работают должным образом.
Я также пытался использовать локальный IP-адрес компьютера и полностью квалифицированныйдоменное имя (FQDN), как описано здесь , но ни одна из них не работает переносимо, поскольку брандмауэр Windows блокирует соединения, даже если BrowserStack Automate может разрешить адрес.
Порт 80 не является жизнеспособным решением, поскольку разработчикина машинах будет работать IIS на своих машинах, использующих этот порт, поэтому он недоступен для других целей.
Принимая во внимание следующие ограничения, каковы работающие решения?
- Размещено на HTTP.
- Работает без прав администратора (то есть без перенастройки брандмауэра или использования номеров привилегированных портов <1024). </li>
- Как минимум два возможных номера портов для использования, так что если один используется, то по крайней мереодин альтернативный вариант.
- Никаких дополнительных ручных настроек для запуска тестов не требуется (должен быть толькокоманда
dotnet test
).