it-swarm.com.ru

Как проверить наличие или видимость элемента в Selenium 2 (Selenium WebDriver)

Любой может прислать мне пример кода, как проверить элемент 

  1. настоящее
  2. isVisible
  3. isenable
  4. textpresent

в Selenium WebDrvier с использованием Java

28
TEJAS TRIVEDI

Я использовал операторы печати Java для легкого понимания.

  1. Для проверки присутствия элемента:

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

    Или же

    if(driver.findElement(By.xpath("value"))!= null){
    System.out.println("Element is Present");
    }else{
    System.out.println("Element is Absent");
    }
    
  2. Чтобы проверить Visible:

    if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
    System.out.println("Element is Visible");
    }else{
    System.out.println("Element is InVisible");
    }
    
  3. Чтобы проверить Включить:

    if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
    System.out.println("Element is Enable");
    }else{
    System.out.println("Element is Disabled");
    }
    
  4. Для проверки присутствующего текста

    if(driver.getPageSource().contains("Text to check")){
    System.out.println("Text is present");
    }else{
    System.out.println("Text is absent");
    }
    
58
Manigandan

Вы можете попробовать что-то вроде:

    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());

Это всего лишь пример. В основном вы объявляете и определяете переменные WebElement, которые хотите использовать, а затем Assert независимо от того, отображаются они или нет. Это использует TestNG Assertions.

9
DarthOpto

Вот мой Java-код для Selenium WebDriver. Напишите следующий метод и вызовите его во время утверждения:

protected boolean isElementPresent(By by){
        try{
            driver.findElement(by);
            return true;
        }
        catch(NoSuchElementException e){
            return false;
        }
    }
5
Ripon Al Wasim

Попробуйте использовать следующий код:

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;
        }
    }
2
Mayur Shah
webDriver.findElement(By.xpath("//*[@id='element']")).isDisplayed();
0
Akongnwi Devert

Чтобы убедиться, что элемент присутствует, вы можете сделать следующее:

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

Это вернет массив, если этот размер массива> 0, то элемент/s присутствует.

Кроме того, вам нужно предоставить дополнительную информацию, такую ​​как язык и то, что вы пробовали, прежде чем спрашивать,

Удачи

0
Santiago Hernandez