Comment vérifier l'élément présent ou visible dans selenium 2 (Selenium WebDriver))

quelqu'un peut m'envoyer un exemple de code comment vérifier l'élément

  1. ispresent

  2. isvisible

  3. isenable

  4. textpresent

en Sélénium WebDrvier à l'aide de Java

24
demandé sur Ripon Al Wasim 2013-01-04 15:50:17

6 réponses

j'ai utilisé java print statements pour faciliter la compréhension.

  1. À vérifier la présence d'un Élément:

    if(driver.findElements(By.xpath("value")).size() != 0){
    System.out.println("Element is Present");
    }else{
    System.out.println("Element is Absent");
    }
    

    Ou

    if(driver.findElement(By.xpath("value"))!= null){
    System.out.println("Element is Present");
    }else{
    System.out.println("Element is Absent");
    }
    
  2. À vérifier Visible:

    if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
    System.out.println("Element is Visible");
    }else{
    System.out.println("Element is InVisible");
    }
    
  3. cochez la case Activer:

    if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
    System.out.println("Element is Enable");
    }else{
    System.out.println("Element is Disabled");
    }
    
  4. Pour vérifier le texte actuel

    if(driver.getPageSource().contains("Text to check")){
    System.out.println("Text is present");
    }else{
    System.out.println("Text is absent");
    }
    
54
répondu Manigandan 2013-01-18 11:05:14

vous pourriez essayer quelque chose comme:

    WebElement rxBtn = driver.findElement(By.className("icon-rx"));
    WebElement otcBtn = driver.findElement(By.className("icon-otc"));
    WebElement herbBtn = driver.findElement(By.className("icon-herb"));

    Assert.assertEquals(true, rxBtn.isDisplayed());
    Assert.assertEquals(true, otcBtn.isDisplayed());
    Assert.assertEquals(true, herbBtn.isDisplayed());

ce n'est qu'un exemple. Fondamentalement, vous déclarez et définissez les variables WebElement que vous souhaitez utiliser et ensuite Assert qu'ils soient affichés ou non. Ceci utilise les Assertions de TestNG.

7
répondu DarthOpto 2013-01-04 18:40:19

Voici mon code Java pour Selenium WebDriver. Écrire la méthode suivante et de l'appeler pendant l'affirmation:

protected boolean isElementPresent(By by){
        try{
            driver.findElement(by);
            return true;
        }
        catch(NoSuchElementException e){
            return false;
        }
    }
5
répondu Ripon Al Wasim 2015-03-16 07:06:22

essayez d'utiliser le code ci-dessous:

private enum ElementStatus{
        VISIBLE,
        NOTVISIBLE,
        ENABLED,
        NOTENABLED,
        PRESENT,
        NOTPRESENT
    }
    private ElementStatus isElementVisible(WebDriver driver, By by,ElementStatus getStatus){
        try{
            if(getStatus.equals(ElementStatus.ENABLED)){
                if(driver.findElement(by).isEnabled())
                    return ElementStatus.ENABLED;
                return ElementStatus.NOTENABLED; 
            }
            if(getStatus.equals(ElementStatus.VISIBLE)){
                if(driver.findElement(by).isDisplayed())
                    return ElementStatus.VISIBLE;
                return ElementStatus.NOTVISIBLE;
            }
            return ElementStatus.PRESENT;
        }catch(org.openqa.selenium.NoSuchElementException nse){
            return ElementStatus.NOTPRESENT;
        }
    }
1
répondu Mayur Shah 2015-08-27 02:16:15

pour vous assurer qu'un élément est présent, vous pouvez faire ce qui suit:

driver.findElements(By.id("id"));

Qui va retourner un tableau, si la taille de ce tableau est > 0 alors l'élément/s est présent.

en outre, vous devez fournir plus d'informations, comme la langue et qu'avez-vous essayé avant de demander,

Bonne chance

0
répondu Santiago Hernandez 2013-01-07 11:08:44

pour vérifier si element est visible nous devons utiliser element.isDisplayed(); Mais si nous avons besoin de vérifier pour présence de l'élément n'importe où dans les Dom, nous pouvons utiliser la méthode suivante

public boolean isElementPresentCheckUsingJavaScriptExecutor(WebElement element) {
        JavascriptExecutor jse=(JavascriptExecutor) driver;
        try {
            Object obj = jse.execute("return typeof(arguments[0]) != 'undefined' && arguments[0] != null;",
                    element);
            if (obj.toString().contains("true")) {
                System.out.println("isElementPresentCheckUsingJavaScriptExecutor: SUCCESS");
                return true;
            } else {
                System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL");
            }

        } catch (NoSuchElementException e) {
            System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL");
        }
        return false;
    }
-1
répondu Jlearner 2017-10-13 12:01:10