Cucumber(rails 2)没有加载jQuery

时间:2012-01-09 17:51:23

标签: jquery ruby-on-rails cucumber capybara-webkit

我有一个标有@javascript的黄瓜场景,我正在用一些非常基本的内联js调用来测试它。我正在使用

运行它

Capybara.javascript_driver =:webkit

如果我在页面上执行此操作,在有问题的元素之后(其中id =“ajax_test_results”,现在不要担心ajax)

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相当于?或其他一些解决方案?

感谢任何建议 - 最多

1 个答案:

答案 0 :(得分:0)

对于调试,您可以使用console.log('message')或alert语句。它会将您的消息输出到终端屏幕。您也可以使用:

Gemfile:
  gem 'debugger'

When /your step/ do
  require 'ruby-debug'
  debugger
end

然后您可以使用page.evaluate_script或page.execute_script方法进行调试。这很容易做到。

根据jquery问题,您可以尝试使用$而不是jQuery吗?

亚历克斯。