varios uso usar type tendrás será selectores que página propia por para esta clases aplicar capybara

capybara - uso - Capibara, verificando elemento HTML por ID y Clase



id y class en css (1)

Dos preguntas de un principiante.

P1- ¿Es posible afirmar la existencia de un nodo HTML por ID y clase? Por ejemplo, para ver si existe el siguiente elemento:

<div class="drawer" id="first"....>

He visto que puedes usar algo como:

page.should have_css(''div.drawer'') page.should have_css(''div#first'')

pero, de alguna manera, podemos consultar la existencia de ambos parámetros. He intentado lo siguiente y no funcionó:

page.should have_selector("div", :class => "drawer", :id => "first")

P2: ¿Es posible agregar 2 selectores al método ''dentro'' de la capibara, es decir, he visto que puede limitar el alcance haciendo:

within("//div[@id=''first'']") do

pero, ¿podemos filtrar ese DIV agregando de alguna manera id = ''first'' y class = ''drawer''?

¡Muchas gracias!


Puedes combinar los selectores.

Para su primera pregunta, lo siguiente busca un div con id "first" y clase "drawer":

page.should have_css(''div#first.drawer'')

Para su segunda pregunta, el bloque within puede usar el mismo selector css que el anterior:

within(''div#first.drawer'') do

O si realmente prefieres xpath, puedes hacer:

within("//div[@id=''first'' and @class=''drawer'']") do

Una buena referencia para css-selectores: http://www.w3.org/TR/CSS2/selector.html