tests test run rails matchers how ruby-on-rails testing rspec-rails

ruby-on-rails - test - shoulda matchers



Cómo encontrar una variable con pruebas rspec usando page.find (1)

Tengo un caso de prueba, la mayoría de mis otras páginas tienen al menos un campo que es solo texto directo y se puede encontrar usando:

page.find("tr", text: "What I filled in").find("a.tick").click

En esta página, todas las opciones son selecciones desplegables, entonces, ¿cómo puedo encontrar una variable? El resto de la sintaxis se ve así:

it "edits person job and redirects to index" do expect(p = FactoryGirl.create(:person)).to be_valid() expect(j = FactoryGirl.create(:job)).to be_valid() visit new_job_path select p.name, from: "person_job_person_id" select p.name, from: "person_job_job_id" click_button "create person job" page.find("tr", p).find("a.tick").click end

no puede encontrar la p para hacer clic?


Si desea hacer clic en el elemento p , puede hacerlo fácilmente con el selector css o xpath :

find(:css, ''the css selector of your p element'').click

o

find(:xpath, ''the xpath of your p element'').click

Por ejemplo

find(:css, ''body > div.layout > div > button'').click

Si está utilizando Chrome , puede encontrarlos fácilmente inspeccionando su elemento, haga clic derecho en su código y copie el selector CSS o xpath .