2017-05-04 3 views
-3

Ich bin neu im Selenium. Ich muss die Verfügbarkeit einer Schaltfläche im System überprüfen und muss es mit AssertEquals bestehen und fehlschlagen.Eine Taste mit TestNG prüfen

Bitte helfen Sie mir.

@Test 
public void sellercheck() throws InterruptedException 
{ 
     Thread.sleep(2000); 
     driver.findElement(By.id("UserEvent")).click(); 
     //String r=Read.getvalue().get(0); 
     //select the seller 
     driver.findElement(By.id("LegacyNumberCriterion")).sendKeys("123456"); 
     driver.findElement(By.id("SuperUse")).click(); 
     System.out.println("seller number entered");   
     try 
     { 
     if(driver.findElements(By.id("OrganizationBranchId")).size()!=0) 
     { 
      driver.findElement(By.id("button1")).click(); 
     } 
     else 
     { 
      System.out.println("The button is not available for the seller"); 
     } 
     } 
     catch(NoSuchElementException e) 
     { 
     System.out.println("Element does not exist!"); 
     } 
    } 
+0

Geben Sie weitere Informationen als: 1. Was sind Ihre genauen Testschritte? 2. Was hat für dich funktioniert? Code anzeigen 3. Wo steckst du fest? 4. Stellen Sie Fehler Stacktrace bereit. 5. Stellen Sie relevante HTML-DOM bereit. – DebanjanB

+0

1.Ich muss nach der Protokollierung mit einer ID validieren, wenn eine Schaltfläche verfügbar ist, der Testfall ist bestanden oder wenn es nicht verfügbar ist, ist es fehlgeschlagen. – Bitz

+0

Ich habe den Code hinzugefügt – Bitz

Antwort

1

Sie können aus folgenden zwei Lösungen wählen, die für Sie aus:

1]-Code-Element vorhanden ist oder nicht in Selenium WebDriver mit Behauptung zu überprüfen, wäre so etwas wie diese:

assertTrue(!isElementPresent(By.id("id of button"))); 

2] Diese Assertion überprüft, dass im DOM keine übereinstimmenden Elemente vorhanden sind, und gibt den Wert von Zero zurück, sodass die Assertion übergeben wird, wenn Element ist nicht vorhanden. Es würde auch scheitern, wenn es vorhanden wäre.

Assert.assertEquals(0, driver.findElement(By.id("id of button")).size()); 

Versuchen Sie diese Lösung und lassen Sie mir wissen, obes funktioniert.

+0

mit Selen 2.53, isElementPresent kommt nicht. – Bitz

0

dieses Stück Code Versuchen Sie, mit ein paar einfache Kniffe, um Ihren eigenen Code:

WebDriver driver; 
@Test 
public void sellercheck() throws InterruptedException 
{ 
    Thread.sleep(2000); 
    driver.findElement(By.id("UserEvent")).click(); 
    //String r=Read.getvalue().get(0); 
    //select the seller 
    driver.findElement(By.id("LegacyNumberCriterion")).sendKeys("123456"); 
    driver.findElement(By.id("SuperUse")).click(); 
    System.out.println("seller number entered"); 
    try 
    { 
     if(driver.findElements(By.id("OrganizationBranchId")).size()!=0) 
     { 
      driver.findElement(By.id("button1")).click(); 
     } 
     else 
     { 
      System.out.println("The button is not available for the seller"); 
     } 
    }catch(NoSuchElementException e) 
    { 
      System.out.println("Element does not exist!"); 
    } 
} 

Lassen Sie mich wissen, wenn dies für Sie arbeitet oder aktualisieren mich, welchen Fehler Sie sehen.

+0

Sie haben nichts geändert. Bitte nehmen Sie sich eine Minute, um zusammenzufassen, was Ihr Code macht, wie er sich vom OP-Code unterscheidet und wie er die Frage beantwortet. – JeffC