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
- ispresent
- isvisible
- isenable
- textpresent
en Sélénium WebDrvier à l'aide de Java
6 réponses
j'ai utilisé java print statements pour faciliter la compréhension.
À 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"); }
À vérifier Visible:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){ System.out.println("Element is Visible"); }else{ System.out.println("Element is InVisible"); }
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"); }
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"); }
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.
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;
}
}
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;
}
}
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
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;
}