Огурец (rails 2) не загружает jQuery

У меня есть сценарий с огурцом, помеченный @javascript, и я тестирую его с помощью некоторых действительно простых встроенных вызовов js. Я запускаю это, используя

Капибара.javascript_driver = :вебкит

Если я сделаю это на странице, после рассматриваемого элемента (который имеет 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 не загружается, но я не знаю, как его отлаживать.

Любые идеи? Я видел этот пост, который выглядел обнадеживающе /8428405/cucumber-tests-jquery-does-not-loaded-in-webdriver, но config.assets.debug = true вызывает у меня ошибку - я думаю, что это только рельсы 3. Есть ли аналог rails 2? или какое-то другое решение?

Благодарен за любой совет - Макс


person Max Williams    schedule 09.01.2012    source источник
comment
У меня такая же проблема, и мне непонятно, где вы скажете огурцу загрузить jQuery.   -  person bias    schedule 07.05.2012
comment
Может быть, jquery еще не загружен?   -  person moritz    schedule 16.06.2012
comment
Кажется очевидным, но вы можете отладить его, вызвав sleep на пару секунд между рендерингом страницы и попыткой проверить наличие элемента.   -  person varatis    schedule 04.07.2012


Ответы (1)


Для отладки вы можете использовать console.log('message') или предупреждения. Он будет выводить ваши сообщения на экран терминала. Также вы можете использовать:

Gemfile:
  gem 'debugger'

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

затем вы можете отлаживать с помощью методов page.evaluate_script или page.execute_script. Это довольно легко сделать.

В соответствии с проблемой jquery вы могли бы попробовать использовать $ вместо jQuery?

Алекс.

person oivoodoo    schedule 30.08.2012