2012-01-09 6 views
5

私はキュウリのシナリオに@javascriptとタグ付けされており、実際には基本的なインラインjs呼び出しでテストしています。私はページ上でこれを行う場合は、ID =「ajax_test_results」を持っている問題の要素(後に、しかしAJAXを心配していないWebKitのキュウリ(レール2)がjQueryをロードしていません

:私は

Capybara.javascript_driver =を使用して、これを実行していますよ、今のところ)

document.getElementById('ajax_test_results').innerHTML = 'Replaced with basic js, ie not jquery, without waiting for pageLoad'; 

それは動作します:私は私のテストでページをレンダリングする場合、私はJSが実行され、コンテンツを更新したことがわかります。しかし、jqueryで同じことをしようとすると、

jQuery("#ajax_test_results").html("updated with basic jquery dom manipulation, without waiting for document.ready"); 

のようになります。私はjqueryがロードされていないと思うが、私はそれをデバッグする方法を知りません。

https://stackoverflow.com/questions/8428405/cucumber-tests-jquery-does-not-loaded-in-webdriverを見ているこのポストを見たが、config.assets.debug = trueは私のためにエラーを引き起こす - 私はそれがレール3だと思う。レール2相当品はありますか?または他の解決策?

何かアドバイスに感謝 - 最大

+0

私はこの同じ問題を抱えていて、キュウリにjQueryをロードする場所を教えてくれるのはわかりません。 – bias

+0

jqueryがロードされていない可能性はありますか? – moritz

+1

明らかですが、ページがレンダリングされ、要素の存在をテストしようとするときに、数秒間 'sleep'を呼び出すことによってデバッグすることができます – varatis

答えて

0

あなたがにconsole.log(「メッセージ」)または警告文を使用することができ、デバッグのために。あなたのメッセージを端末画面に出力します。また、使用することができます:

次に、page.evaluate_scriptまたはpage.execute_scriptメソッドを使用してデバッグすることができます。それは非常に簡単です。

jqueryの問題によると、jQueryの代わりに$を使用できますか?

アレックス。

関連する問題