3

以下のコードを使用してCKEditorボックスを設定するwatir-webdriverスクリプトがありますが、これはMacOSX上のFirefoxで画面にフォーカスした場合にのみ機能します。たとえば、焦点を合わせてこのスクリプトをバックグラウンドで実行すると、テキストは入力されません(ただし、例外やエラーは発生しません)。

常に設定されていることを確認する方法を知っている人はいますか?

require "watir-webdriver"
b = Watir::Browser.new :firefox
b.goto "http://ckeditor.com/demo"
b.frame(:title => 'Rich text editor, editor1, press ALT 0 for help.').send_keys "hello world"

(GoogleChromeはMacOSXで問題なく動作しますが、Firefoxに対してもテストを実行したいと思います)

4

3 に答える 3

1

Firefoxは、フォアグラウンドにない限り、フォーカス/ブラーイベントをディスパッチしません。最も信頼できる解決策は、ブラウザインスタンスごとに常に個別のディスプレイ(またはVM)を確保することです。使用できない場合は、Browser#execute_scriptを使用してエディターの値を設定してください。

于 2011-08-11T13:10:12.007 に答える
1

Jariのポインタのおかげで、フィールドを確実に更新するためにjavascriptを実行することになりました。

b.execute_script "CKEDITOR.instances.editor1.setData( 'hello' );"
于 2011-08-11T21:16:03.773 に答える
-1

これを試して:

b.frame(:title => 'Rich text editor, editor1, press ALT 0 for help.').body.send_keys "hello world"

OSXとFF3.6で動作します

于 2011-08-11T14:14:10.133 に答える