2012-01-09 16 views
5

Tengo un escenario de pepino etiquetado con @javascript y lo estoy probando con algunas llamadas js en línea realmente básicas. Estoy corriendo esta usandoPepino (rieles 2) no está cargando jQuery

Capybara.javascript_driver =: webkit

Si puedo hacer esto en la página, después de que el elemento en cuestión (que tiene id = "ajax_test_results", no se preocupe por el Ajax, aunque , por ahora)

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

entonces funciona: si renderizar la página en mi prueba puedo ver que el js ha corrido y actualizado el contenido. Sin embargo, si trato de hacer lo mismo con jQuery

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

entonces no funciona. Creo que jquery no se está cargando, pero no sé cómo hacer para depurarlo.

¿Alguna idea a alguien? Vi esta publicación que parecía esperanzada https://stackoverflow.com/questions/8428405/cucumber-tests-jquery-does-not-loaded-in-webdriver pero config.assets.debug = true me causa un error, creo que solo es rails 3. ¿Hay un rails 2 equivalente? o alguna otra solución?

agradecido por cualquier consejo - max

+0

Tengo el mismo problema y no tengo claro dónde le diría a pepino que cargue jQuery. – bias

+0

¿Podría ser que jquery aún no se haya cargado? – moritz

+1

Parece obvio, pero puede realizar una depuración llamándolo 'sleep' durante un par de segundos mientras se procesa la página e intenta comprobar la presencia del elemento – varatis

Respuesta

0

Para la depuración se puede utilizar console.log ('mensaje') o declaraciones de alerta. Emitirá tus mensajes en la pantalla del terminal. También se puede utilizar:

Gemfile: 
    gem 'debugger' 

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

continuación, puede depurar utilizando métodos page.evaluate_script o page.execute_script. Es bastante fácil de hacer.

Según el problema de jquery, ¿podría intentar usar $ en lugar de jQuery?

Alex.

Cuestiones relacionadas