Возникла необходимость написать Selenium-тесты для сайта, расположенного на интернационализированном домене.
При запуске selenium-server.jar и попытке в качестве базового url указать целевой сайт в формате IDN, происходила ошибка
Это связано с тем, что Selenium не смог перевести IDN-формат написания в Punycode — формат, разработанный для однозначного преобразования доменных имен в последовательность допустимых ASCII-символов.
А это значит мы просто сами должны это сделать. Сконвертировать русское название домена в пуникод можно, например, тут или тут.
Теперь, вместо желаемого президент.рф мы указываем адрес xn--d1abbgf6aiiy.xn--p1ai, и радуемся проходящим тестам :)
IDN (англ. Internationalized Domain Names — Интернационализованные Доменные Имена) — это доменные имена, которые содержат символы национальных алфавитов, например, президент.рф , говорит Wikipedia.
При запуске selenium-server.jar и попытке в качестве базового url указать целевой сайт в формате IDN, происходила ошибка
HTTP ERROR: 400
Could not proxy http://selenium-server/core/TestRunner.html?auto=true&multiWindow=true&defaultLogLevel=info&baseUrl=http%3A%2F%2F%3F%3F%3F%3F%3F%3F%3F%3F%3F.%3F%3F&resultsUrl=../postResults&test=http%3A%2F%2F%2Fselenium-server%2Ftests%2Ftestsuite.html java.net.UnknownHostException: selenium-serverRequestURI=/core/TestRunner.html
Это связано с тем, что Selenium не смог перевести IDN-формат написания в Punycode — формат, разработанный для однозначного преобразования доменных имен в последовательность допустимых ASCII-символов.
А это значит мы просто сами должны это сделать. Сконвертировать русское название домена в пуникод можно, например, тут или тут.
Теперь, вместо желаемого президент.рф мы указываем адрес xn--d1abbgf6aiiy.xn--p1ai, и радуемся проходящим тестам :)
либо использовать IP адреса, их еще пока никто не отменял.
ОтветитьУдалить