1

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-8IE と Chrome で正しく動作するために、他に何か指定する必要がありますか?

上記のスクリプトをコンピュータで実行して、これが一般的な問題なのか、それとも私の構成の問題なのかを判断することをお勧めします。

4

2 に答える 2

1

これは IE ドライバーの既知のバグで、こちら で追跡できます。Chrome の警告は無害ですが、おそらくデフォルトでは出力されるべきではありません。

于 2011-08-27T23:28:42.000 に答える
0

Windows 以外のキーボード レイアウトが設定されている場合にのみ、この問題が実際に発生することを発見しました。スクリプト実行マシンで「Latvian(QWERTY)」などの標準的なウィンドウ レイアウトが設定されている場合、IE はクラッシュしなくなり、Chrome と同様の警告を出力するだけです。

IE ドライバーのバグが修正されるまでの一時的なハックは、テスト スイートの実行前に標準の Windows キーボード レイアウトを設定し、実行後に以前のものに戻すことです。

RubyでWindowsのキーボードレイアウトを取得するには? - インスピレーションのために。

于 2011-08-28T07:13:26.557 に答える