Selenium Webdriver + ChromeDriver — баги в работе с русскими буквами?

Столкнулись со странным багом при работе функциональных тестов на базе Selenium WebDriver — часть русских букв не доходит до браузера.

Пример кода:

var Browser = new ChromeDriver("../../");
Browser.Navigate().GoToUrl("/form/");
Browser.FindElement(By.Id("fio")).SendKeys("Иванов Иван Иванович");


Но в браузер, в поле ввода приходит строка "внов вн внович".

Сайт в UTF-8, исходный код в UTF-8.
Хром последней версии — 28.01.1500.95m
Драйвер под хром тоже последний — v2.1.210652
Окружение: Windows Server 2008 R2, интерфейс русский.

Уточнение — на части компьютеров бага стабильно нет, на части — стабильно есть.
  • Вопрос задан
  • 5792 просмотра
Решения вопроса 1
kentilini
@kentilini
В продакшн
Ну собственно вот. В комментариях написано, что в Firefox все хорошо.
Можно воспользоваться более старой версией драйвера. Ну или уже предложенными js\jQuery

У вас не отображаются «И», «а». В общем проблема не на вашей стороне.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
Newbilius
@Newbilius Автор вопроса
Жаль что минусы анонимные — так бы была возможность спросить у поставившего, что за очевидную вещь я упустил.
Ответ написан
@humblegenius
Это скорее всего из-за того, что селениум пытается эмулировать нажатие каждой кнопки и не все клавиши успвают прэмулрватья. Подобные глюки в IE драйвере решал отключением нативного управления браузером («EnableNativeEvents = false»):
new OpenQA.Selenium.IE.InternetExplorerDriver(
    new OpenQA.Selenium.IE.InternetExplorerOptions {
				IntroduceInstabilityByIgnoringProtectedModeSettings = true,
				EnableNativeEvents = false
    }
)

Посмотрите, может для Хрома тоже есть подобная опция.
Ответ написан
AxisPod
@AxisPod
Сам данные библиотеки не использовал, но первое, что стоит сделать, это взять к примеру dotPeek и поковырять исходы данных библиотек. Опять же есть чувство, что косяк с кодировками связанный с тем, что родная кодировка для винды всё же UTF-16 (UCS-2).
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы