Нелатинские буквы в тестовом скрипте приводят к «Нет перевода для ключа. Предполагается, что ввод Unicode ...» - PullRequest
1 голос
/ 25 августа 2011

Когда я выполняю на Windows7 + Ruby1.9.2 + watir-webdriver этот тестовый скрипт:

# encoding: utf-8
require "rubygems"
require "watir-webdriver"
ie = Watir::Browser.new :ie
ie.goto "www.tilde.eu"
ie.select_list(:name => "tr-direction").select "Latvian-English"
ie.select_list(:name => "tr-direction").selected? "Latvian-English"
ie.text_field(:class => "tr-area").set "skolas dārzā aug divas priedes"
ie.element_by_xpath("/html/body/div[3]/div/div/div/section/div/div/div/form/table/tbody/tr/td[3]/input").click
Watir::Wait.until { ie.text.include? "About Tilde Machine Translation" }
puts ie.div(:class => "translate_text_result").text

Скрипт работает нормально, как и в Firefox, но IE9 вылетает при попытке установить букву "ā" в текстовом поле, а CMD показывает следующее:

No translation for key. Assuming unicode input: 257
Timeout awaiting keypress: 82
Key up failed: 1400
Key down failed: 1400
Timeout awaiting keypress: 90
Key up failed: 1400
No translation for key. Assuming unicode input: 257
Key down failed: 1400

Скрипт полностью выполняется в Chrome, но в CMD отображается предупреждение:

Started ChromeDriver
port=52409
version=14.0.836.0
[0825/095000:WARNING:webdriver_key_converter.cc(271)] No translation for key code. Code point: 257
[0825/095000:WARNING:webdriver_key_converter.cc(271)] No translation for key code. Code point: 257

Нужно ли указывать что-либо еще, кроме # encoding: utf-8, для корректной работы в IE и Chrome?

Я предлагаю выполнить приведенный выше сценарий на вашем компьютере, чтобы определить, является ли это общей проблемой или просто что-то в моей конфигурации.

Ответы [ 2 ]

1 голос
/ 28 августа 2011

Это известная ошибка в драйвере IE, за которой вы можете следить здесь . Предупреждения в Chrome безвредны, хотя, вероятно, их не следует печатать по умолчанию.

0 голосов
/ 28 августа 2011

Я обнаружил, что проблема актуальна, только если установлена ​​раскладка клавиатуры, отличная от Windows.Если на машине выполнения скрипта установлена ​​какая-либо из стандартных компоновок Windows, например, «Latin (QWERTY)», IE больше не падает, просто выводит предупреждения, подобные Chrome.

Временный взлом до исправления ошибки драйвера IE можетустановить стандартную раскладку клавиатуры Windows перед выполнением набора тестов и вернуться к предыдущей после выполнения.

Как получить раскладку клавиатуры на окнах с помощью ruby? - для вдохновения.

...