web-dev-qa-db-fra.com

isDisplayed () vs isVisible () dans Selenium

Quelle est la différence entre les méthodes isDisplayed() et isVisible() dans Selenium? Les deux sont utilisés pour identifier si l'élément Web est masqué ou non dans la page Web.

10
MrNolan

La réponse courte est que isVisible est la méthode de l'ancien Selenium RC Et isDisplayed est la méthode de Selenium 2.

Si vous parlez de WebDriversWebElement , il ne contient que la méthode isDisplayed(), qui selon la doc:

Cet élément est-il affiché ou non? Cette méthode évite le problème d'avoir à analyser l'attribut "style" d'un élément.

Avant le pilote Web, nous avions Selenium RC, qui est désormais obsolète, la classe DefaultSelenium avait la méthode isVisible() qui:

Détermine si l'élément spécifié est visible. Un élément peut être rendu invisible en définissant la propriété CSS "visibilité" sur "caché", ou la propriété "display" sur "aucune", soit pour l'élément lui-même, soit pour ses ancêtres. Cette méthode échouera si l'élément n'est pas présent.

référence

15
Erki M.

Comme expliqué dans cet article Comment fonctionne la méthode isDisplayed () de Selenium WebDriver

WebDriver a sa propre spécification W3C. et la section sur détermination de la visibilité peut vous donner plus d'informations à partir de la spécification.

Selenium RC - isVisible () - recherche display: none style tag - cela pourrait jeter un pointeur nul si nous ne faisons pas attention ... voir si un élément est visible d'abord vérifier si l'élément est présent en utilisant la méthode isElementPresent (). Essayez ensuite de vérifier si l'élément est visible! Refer Différence entre isElementPresent et isVisible dans Selenium RC

3
parishodak