Любой может отправить мне пример кода, как проверить элемент
- ispresent
- IsVisible
- isenable
- textpresent
в Selenium WebDrvier с использованием Java
Любой может отправить мне пример кода, как проверить элемент
в Selenium WebDrvier с использованием Java
Я использовал операторы печати java для легкого понимания.
Чтобы проверить присутствующий элемент:
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");
}
Чтобы проверить Visible:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
System.out.println("Element is Visible");
}else{
System.out.println("Element is InVisible");
}
Чтобы проверить Включить:
if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
System.out.println("Element is Enable");
}else{
System.out.println("Element is Disabled");
}
Чтобы проверить представленный текст
if(driver.getPageSource().contains("Text to check")){
System.out.println("Text is present");
}else{
System.out.println("Text is absent");
}
Вы можете попробовать что-то вроде:
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.
Вот мой код Java для Selenium WebDriver. Напишите следующий метод и вызовите его во время утверждения:
protected boolean isElementPresent(By by){
try{
driver.findElement(by);
return true;
}
catch(NoSuchElementException e){
return false;
}
}
Попробуйте использовать нижеприведенный код:
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;
}
}
Обратитесь к следующей ссылке для проверки наличия элемента на странице: http://seleniumwebdriverfaq.blogspot.in/2012/03/how-can-i-check-presence-of-webelement_5206.html
Для видимой проверки вы можете использовать метод .isDisplayed().
Чтобы убедиться, что элемент присутствует, вы можете сделать следующее:
driver.findElements(By.id("id"));
Это вернет массив, если этот размер массива равен > 0, тогда присутствует элемент /s.
Кроме того, вам нужно предоставить дополнительную информацию, такую как язык и то, что вы пробовали, прежде чем спрашивать,
Удачи.
webDriver.findElement(By.xpath( "//* [@ид = 'элемент']")) isDisplayed().
Чтобы проверить, является ли элемент видимым, нам нужно использовать element.isDisplayed();
Но если нам нужно проверить присутствие элемента в любом месте Dom, мы можем использовать следующий метод
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;
}