0
votes

SELENIUM WebDriver détecte des messages d'erreur contextuelle UI

J'ai cette application réagissante en cours d'essai à l'aide de sélénium webdiver.

Si mon identifiant est faux, comment détecter le texte à l'aide de SELENIUM webdiver? Je suis incapable de trouver le code / comprendre comment piéger le message contextuel. 'Authentification a échoué' xxx

Entrez la description de l'image ici


0 commentaires

3 Réponses :


0
votes

Vous pouvez utiliser ci-dessous le code pour vérifier si Échec de l'authentification code> pop up est affiché ou non:

List<WebElement> popUpElement = driver.findElements(By.id("client-snackbar");
if(popUpElement.size() != 0){
  System.out.println("Pop up is Present "+popUpElement.get(0).getText());
}else{
  System.out.println("Pop up is Absent");
}


2 commentaires

pilote.findellement (by.ID ("client-snackbar")! = null que l'expression est redondante. Si la diffusion n'est pas trouvée, il jette une exception. Qui fait sinon inutile


@Kunlun: Hey, merci d'avoir souligné la méthode redondante. Réponse mise à jour en supprimant la même chose pour éviter toute confusion.



0
votes

Après avoir effectué Cliquez sur CODE>, vous pouvez utiliser Explicity Wait:

try{
    
    WebDriverWait wait = new WebDriverWait(driver, 10); //10 seconds
    WebElement messageElement = wait.until(
                                    ExpectedConditions.visibilityOfElementLocated(
                                        By.xpath("//*[@id = 'client-snackbar']")
                                    )
                                );

    //if reach here, means the error is visible.
    System.out.println(messageElement.getText());

}catch(TimeoutException ignored){ 

    //if trigger timeoutexception
    //that means the element with message is not visible, that means no error

}


2 commentaires

Pour des raisons étranges, je reçois 'Nosuchmethoderror: org.openqa.elenenium.support.ui.webDriverwait.until (LCC / goog Le / ion commun / base / funct;)' Erreur. Donc, je ne pouvais pas poursuivre cela. Merci d'avoir aidé à répondre


LCOM / Google / Comman / Base / Fonction; Qu'est-ce que c'est? Qu'est-ce que vous envoyez exactement comme paramètre sur webdiverwait.until ?



0
votes

Vous pouvez trouver le localisateur pour ce toast Message. Pour localiser l'élément Web

  1. Allez à votre identifiant.
  2. Entrez vos informations d'identification non valides.
  3. Appuyez sur F12 et allez à la console / Sources
  4. Cliquez sur Connexion pour obtenir votre message.
  5. Appuyez sur F8 pour la mettre en pause. Maintenant, vous pouvez inspecter votre élément.

    Donc, de la diffusion, vous pouvez récupérer du texte avec GetText (). Vous pouvez appliquer une attente explicite pour attendre votre message d'erreur.


0 commentaires