2017-08-23 7 views
0

Avec capybara et minitest, comment vérifieriez-vous la visibilité d'un élément si l'élément existe sur la page? La classe n'est pas toujours garantie d'être là, donc j'ai besoin de vérifier si elle est sur la page en premier.Comment vérifier la visibilité si la classe existe dans capybara?

Tout ce que je peux penser est:

assert find(".class-name").visible? if has_css?(".class-name", :wait=>0) 

Y at-il d'autres façons de le faire?

Répondre

0

Par défaut Capybara ne trouve que des éléments visibles, donc

if has_css?(".class-name", wait: 0) 

renverrons seulement vrai si l'élément est visible sur la page

Si vous voulez vérifier l'élément est soit pas sur la page, ou si elle est la source de la page, il doit être visible, vous pouvez faire quelque chose comme

assert_css('.class-name') if has_css?('.class-name', visible: :all) 

ou tout simplement

refute_css('.class-name', visible: :hidden) # ensure there is no non-visible element with the class name