2011-08-11 4 views
3

以下のコードを使用してCKEditorボックスを設定するwatir-webdriverスクリプトがありますが、これは画面にフォーカスするとMac OSXのFirefoxでのみ機能します。たとえば、私が離れてこのスクリプトをバックグラウンドで実行させる場合、テキストは入力されません(ただし、例外またはエラーは発生しません)。Watir-WebDriverを使用してCKEditor WYSIWYGエディタボックスにテキストを送信する方法

誰でも確実に設定する方法を知っていますか?

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" 

(Google Chromeのは、Mac OSX上で[OK]を動作しますが、私はあまりにもFirefoxのに対して、私のテストを実行したいと思います)

答えて

1

おかげで私の作品、私は確実にフィールドを更新するために、JavaScriptを実行することになった:

b.execute_script "CKEDITOR.instances.editor1.setData('hello');" 
1

それがフォアグラウンドでない限り、Firefoxはフォーカス/ぼかしイベントを送出しません。最も信頼性の高いソリューションは、ブラウザインスタンスごとに個別のディスプレイ(またはVM)を常に確保することです。ブラウザ#execute_scriptを使用してエディタの値を設定することができない場合があります。

+0

ありがとう、私は成功しましたbrowser.execute_script( "CKEDITOR.instances.editor1.setData( 'hello');") –

-1

これを試してみてください:

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

それはOSXとヤリのポインタへのFF3.6

+1

Firefoxは、 –

関連する問題