java.lang.AssertionError:期望值不匹配并且找到了

时间:2019-01-23 09:17:05

标签: selenium-webdriver assertion testng-eclipse

我想检查文本字段值是否与代码中提到的期望值相同

@Test
public void tc001() {       
driver.get(baseUrl);
driver.findElement(By.xpath("//input[@name='email']")).click();
driver.findElement(By.xpath("//input[@name='email']")).clear(); driver.findElement(By.xpath("//input[@name='email']")).sendKeys("x@gmail.com");
driver.findElement(By.xpath("//input[@name='password']")).clear();driver.findElement(By.xpath("//input[@name='password']")).sendKeys("123456");
driver.findElement(By.xpath("(.//*[normalize-space(text()) and  normalize-space(.)='Forgot Your Password?']) [1]/preceding::button[1]")).click();
driver.findElement(By.linkText("Nadee")).click();
driver.findElement(By.linkText("Profile")).click();
Assert.assertEquals(driver.findElement(By.xpath("//input[@name='last_name']")).getText(),"sadas");    
driver.findElement(By.linkText("Log Out")).click();
}

这是我需要获取值的 文本字段

input type =“ text” value =“ sadas” class =“ mdl-textfield__input” id =“ last_name” name =“ last_name” placeholder =“输入姓氏”

下面提到的代码出现了 AssertionError ,           Assert.assertEquals(driver.findElement(By.xpath(“ // input [@ name ='last_name']”))。getText(),“ sadas”);

我发现错误为, java.lang.AssertionError:预期为[sadas],但发现为[]

我该如何解决? 以及为什么期望值与找到的期望值相同时出现此错误?(当手动检查系统时)

2 个答案:

答案 0 :(得分:0)

请添加使用上述脚本访问的html代码

答案 1 :(得分:0)

此代码将帮助查找特定文本,这是Javascript。

String expectedMessage = "Please enter password.";
    String message = w.findElement(By.xpath("//*[@id=\"sign_in_div\"]/form/div/ul/li[2]/div")).getText();
    Assert.assertTrue("Please enter password.", message.contains(expectedMessage));