Skip to main content
 首页 » 编程设计

jquery之Cucumber (rails 2) 未加载 jQuery

2026年10月29日5jackei

我有一个用 @javascript 标记的 cucumber 场景,我正在使用一些非常基本的内联 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 会给我带来一个错误 - 我认为这只是rails 3。 Rails 2 有等效的吗?或者其他解决方案?

感谢任何建议 - max

请您参考如下方法:

为了进行调试,您可以使用 console.log('message') 或警报语句。它将把您的消息输出到终端屏幕。您还可以使用:

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

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

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

亚历克斯.