如何validationselenium2中存在或可见的元素(Selenium WebDriver)
任何人都可以给我发送示例代码如何validation元素
- 存在
- 可见性
- isenable
- textpresent
在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"); }
-
要检查可见性:
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断言。
这是我的Selenium WebDriver的Java代码。 编写以下方法并在断言期间调用它:
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; } }
要确保元素存在,您可以执行以下操作:
driver.findElements(By.id("id"));
这将返回一个数组,如果该数组大小> 0则存在元素/ s。
此外,您需要提供更多信息,例如语言以及您在询问之前尝试过的内容,
祝你好运
要检查元素是否可见,我们需要使用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; }