Использование нелатинских букв в тестовом сценарии приводит к тому, что для ключа нет перевода. Предполагая ввод в Юникоде

Когда я выполняю в 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?

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


person mihijs    schedule 25.08.2011    source источник
comment
Никто никогда не сталкивался с такой проблемой? Если да, то я предполагаю, может ли это как-то быть связано с раскладкой клавиатуры? Я использую нестандартный макет, а не стандартный макет Windows.   -  person mihijs    schedule 26.08.2011


Ответы (2)



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

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

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

person mihijs    schedule 28.08.2011