Meilleur moyen de vérifier que cet élément n'est pas présent en utilisant Selenium WebDriver avec java
Im essayant le code ci-dessous mais il semble que cela ne fonctionne pas... quelqu'un Peut me montrer la meilleure façon de le faire?
public void verifyThatCommentDeleted(final String text) throws Exception {
new WebDriverWait(driver, 5).until(new ExpectedCondition<Boolean>() {
@Override
public Boolean apply(WebDriver input) {
try {
input.findElement(By.xpath(String.format(
Locators.CHECK_TEXT_IN_FIRST_STATUS_BOX, text)));
return false;
} catch (NoSuchElementException e) {
return true;
}
}
});
}
- Comme alternative, Vous pouvez utiliser "WebdriverBackedSelenium" et l'utilisation de sélénium.isElementPresent("Locator");
- Tout d'abord l'entrée.findElements(Par.xpath("//xpath")).size() > 0 est la meilleure façon de vérifier l'élément de l'existence que l'enchaînement findBy de try..catch. Deuxième chose: qu'entendez-vous par "il ne fonctionne pas"? Fait-elle baisser? Déclenche une exception? Renvoie des résultats incorrects?
Vous devez vous connecter pour publier un commentaire.
j'ai l'habitude de couple de méthodes (la paire) pour vérifier si l'élément est présent ou pas:
Noter que, parfois, le sélénium peut trouver des éléments dans le DOM, mais ils peuvent être invisibles, par conséquent, le sélénium ne sera pas en mesure d'interagir avec eux. Dans ce cas, la méthode de vérification pour la visibilité de l'aide.
Si vous voulez attendre pour l'élément jusqu'à ce qu'il semble la meilleure solution que j'ai trouvé est d'utiliser couramment attendre:
Espère que cette aide)
findElement
etisDisplayed
- ce qui signifie que vous obtiendrez aléatoireStaleElementReferenceException
s.Au lieu de faire findElement, ne findElements et vérifier la longueur des éléments retournés est de 0. C'est de cette façon que je suis en train de faire à l'aide de WebdriverJS et j'attends la même chose en langage Java
Utilisation findElements au lieu de findElement.
findElements retourne une liste vide si aucune correspondance n'éléments sont présents, au lieu d'une exception. Aussi, nous pouvons nous assurer que l'élément est présent ou pas.
Ex: la Liste des éléments = pilote.findElements(Par.yourlocatorstrategy);
Impossibilité de faire des commentaires sur ce Bolide de Test Manuel, car je n'ai pas de rep, mais je voulais donner un exemple qui m'a pris un certain temps à résoudre:
Cette affirmation vérifie qu'il n'y a pas de correspondance des éléments dans le DOM et renvoie la valeur de Zéro, de sorte que l'affirmation passe lorsque l'élément n'est pas présent. Aussi, il serait un échec si elle était présente.
Ci-dessus assertion se passer si un élément n'est pas présent.
L'assertion se passer si l'élément n'est pas présent, sinon ce sera un échec.