断言其实可以理解为判断值是否相等,如果等那继续往下走,如果不等,那就会抛出一个异常(自动的进行)。以上我自身的理解,不对的地方请指出
具体怎么用呢?
用法一:
比如说,我发一封邮件后,会有一个提示“发送成功”,那使用断言进行怎么处理呢
//判断发送是否成功
WebElement check = driver.findElement(By.xpath("/html/body/div[2]/div[1]/div[2]/div[2]/section/h1"));
System.out.println("文本内容为:"+check.getText());
Assert.assertTrue(check.getText().contains("发送成功"));
用法二:
在收件箱中查找标题为“写邮件测试”,如果是那就打开,不是则输出未找到标题
不使用断言的脚本为:
//查找邮件标题为
if(text.equals(titleContent)){
ba.highLightElement(driver, table);
table.click();
}else{
System.out.println("未找到标题为:"+titleContent+"的邮件");
}
使用断言的语句为:
Assert.assertEquals(“写邮件测试”, text);
table1.click();
如果断言中不等的情况下,运行时会报如下错误:
其中:Assert.assertEquals(“写邮件测试1”, text); text的值“写邮件测试”
Exception in thread "main" java.lang.AssertionError: expected [写邮件测试] but found [写邮件测试1]
at org.testng.Assert.fail(Assert.java:94)
at org.testng.Assert.failNotEquals(Assert.java:494)
at org.testng.Assert.assertEquals(Assert.java:123)
at org.testng.Assert.assertEquals(Assert.java:176)
说明:该例子中的text值为获取的单元格的内容