使用selenium Web驱动程序验证错误消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用selenium Web驱动程序验证错误消息相关的知识,希望对你有一定的参考价值。
我想验证登录失败后显示的错误消息。我总是得到“测试用例失败”,我试过了。
我想用“无效的用户名或密码”来验证文本。以下是我试过的代码。
这是html代码。
<div id="statusMsg">
<div class="alert in fade alert-error" style="opacity: 1;">
<a class="close" data-dismiss="alert">×</a>
Invalid username or password
</div>
</div>
这些是我试过的代码。
String actualMsg=driver2.findElement(By.xpath("//div[@id='statusMsg']/div")).getText()
String errorMsg= "× Invalid username or password";
if(actualError.equals(errorMsg)) {
System.out.println("Test Case Passed");
}else{
System.out.println("Test Case Failed");
};
输出始终为“测试用例失败”。
有没有办法来解决这个问题?
要提取文本Invalid username or password
,您必须按如下方式访问<div>
标记:
String actualMsg = driver2.findElement(By.xpath("//div[@id='statusMsg']/div[@class='alert in fade alert-error']")).getAttribute("innerHTML");
接下来您的预期错误消息是:
String errorMsg = "× Invalid username or password";
由于x
在<a>
标签内,而Invalid username or password
在<div>
标签内,验证过程将需要一些String
操纵。为了使验证更简单,您可以减少预期的错误消息,如下所示:
String errorMsg = "Invalid username or password";
现在,您可以使用以下代码块来验证actualMsg
是否包含errorMsg
,如下所示:
if(actualMsg.contains(errorMsg))
{
System.out.println("Test Case Passed");
}else
{
System.out.println("Test Case Failed");
};
在div内部,您只有文本“无效的用户名或密码”,但您正在验证“×无效的用户名或密码”。首先从String actualMsg打印文本,然后输入正确的errorMsg。
String actualMsg = driver2.findElement(By.xpath("//div[@id='statusMsg']/div")).getText()
String errorMsg= "Invalid username or password";
if(actualError.equals(errorMsg)) {
System.out.println("Test Case Passed");
}else{
System.out.println("Test Case Failed");
}
;
以上是关于使用selenium Web驱动程序验证错误消息的主要内容,如果未能解决你的问题,请参考以下文章
需要使用 selenium Java 验证带有多个随机字符串的错误消息
如何使用 Selenium Web 驱动程序检测 Windows 身份验证提示?
selenium.common.exceptions.InvalidSessionIdException通过Python在无头模式下使用GeckoDriver Selenium Firefox(示例代
关于web程序测试,Selenium 2.0录制工具,以及WebDriver编写的测试类,能测试出啥效果。属于哪种测试。