videos roedor mundo mas grande chiguiro ruby-on-rails ruby-on-rails-3 testing rspec capybara

ruby-on-rails - chiguiro - roedor mas grande del mundo



¿Cómo hago clic en este botón en la capibara? (4)

Respuesta del autor.

El problema está dentro del código html:

<div> <form> <div> </div> </div> <input type="submit" value="Verify" name="verify" id="verify" class="button"> </form>

Debido a que hay un redundante </div> , el <input> se trató fuera del formulario, por lo tanto, el capybara causa esos errores. Después de eliminar el redundante </div> , todo funciona bien.

Por favor ayúdame a resolver este problema con capibara.

Tengo un botón como este en capibara:

<input type="submit" value="Verify" name="verify" id="verify" class="button">

Lo intenté con

click_button "verify"

pero da error:

Failure/Error: find(''#verify'').click NoMethodError: undefined method `node_name'' for nil:NilClass


¿Intentaste "doblar" los selectores de CSS? Este ha sido mi mecanismo de acceso desde capybara-2.4.3

find("#verify").find("[name=verify]").click

cualquier otro atributo además del # id-vale debería hacer el truco, por ejemplo

find("#verify").find(".button]").click


Si tiene una ID para un elemento, solo use el enfoque de @ bonzofenix pero hágalo un poco más simple:

within ''form'' do find(''#verify'').click end


Trate de agregar js: true en la describe . Esto sucede cuando no tiene un formulario que contiene el botón.