2016-01-13 136 views
-1

我試圖驗證錯誤驗證消息以下site錯誤的驗證消息。 點擊提交驗證後,將顯示所有字段的錯誤消息。 我試圖與代碼:無法捕捉和驗證硒的webdriver

List<WebElement> errormsg = driver.findElements(By.className("errorValidation")); 
System.out.println(errormsg); 

這不是檢索錯誤信息,它出現了錯誤,而不是:

[[[FirefoxDriver: firefox on WINDOWS (c997bfe2-8c35-4b00-abf9-74a96437020c)] -> >class name: errorValidation], [[FirefoxDriver: firefox on WINDOWS (c997bfe2->8c35-4b00-abf9-74a96437020c)] -> class name: errorValidation], [[FirefoxDriver: firefox on WINDOWS (c997bfe2-8c35-4b00-abf9-74a96437020c)] -> class name: >errorValidation], [[FirefoxDriver: firefox on WINDOWS (c997bfe2-8c35-4b00-abf9->74a96437020c)] -> class name: errorValidation], [[FirefoxDriver: 

回答

0

driver.findElements()不返回錯誤消息字符串數組,它返回硒的數組WebElements。他們每個人都有一個文本值,你必須從每個WebElement獲取:

System.out.println(errormsg[0].gettext()); 
System.out.println(errormsg[1].gettext()); 
... 

(我做我的Selenium測試在C#中,其中有一個名爲「文本」屬性,但我認爲,在Java中,你有這種方法叫做gettext的())

-1

您可以使用下面的代碼:

List<WebElement> el = driver.findElements(By.xpath("//span[@class='errorValidation']") 

用戶TestNG的斷言功能,如:

Assert.assertTrue(el.get(0).equals("School name can't be blank"); 
Assert.assertTrue(el.get(1).equals("Number of students can't be blank"); 

類似的其他領域,你可以申請

希望這會工作。

感謝 薩迪克

+0

通過使用AssertTrue()其顯示編譯錯誤 – liki

+0

您是否正在使用TestNg? –

+0

是的....我已經導入文件導入org.testng.Assert;也仍然顯示錯誤 – liki

0

嘗試這樣的: 我已運行這段代碼和它的工作很好。

import java.util.List; 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.support.ui.ExpectedCondition; 
import org.openqa.selenium.support.ui.WebDriverWait; 
import org.testng.Assert; 

public class stackTest { 
static WebDriver driver = null; 
public static void main(String [] args) throws InterruptedException{ 

    WebDriver driver = new FirefoxDriver(); 


     driver.get("https://tenoapp.com/registerSchool"); 

     Thread.sleep(4000); 
     driver.manage().window().maximize(); 
     driver.findElement(By.cssSelector("#submitRegForm")).click(); 
     Thread.sleep(4000); 

     String[] urerrormsg = { "School name can't be blank", 
       "Number of students can't be blank", 
       "Board can't be blank", 
       "First name can't be blank", 
       "Last name can't be blank", 
       "Designation can't be blank", 
       "Mobile number can't be blank", 
       "Password can't be blank", 
       "Confirm password can't be blank"}; 

     List<WebElement> erromsgsize = driver.findElements(By.className("errorValidation")); 
     System.out.println("***** "+erromsgsize.size()); 
     int i = 0; 
     for (WebElement errormsg : erromsgsize) { 

      System.out.println("**** "+errormsg.getText()); 
      if(errormsg.getText().equals("")){ 
       continue; 
      } 


      else 
       Assert.assertTrue(errormsg.getText().equals(urerrormsg[i])); 
      i++; 
     } 

     //Close the browser 
     driver.quit(); 

} 

} 
+0

更新它不是爲我工作 – liki

+0

它顯示什麼樣的錯誤? – noor

+0

感謝ü這麼多..這個工作對我來說非常感謝.... – liki