2016-01-13 139 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