我正在测试应用程序的注册功能。如果需求字段留空,如果我们尝试单击注册按钮,则会出现一个警告框,显示错误消息。 我已经编写了脚本来处理警告框但是当我执行脚本时,警报框没有出现,而是在页面顶部以红色显示相同的错误消息,或者出现此消息" 已经存在电子邮件请用户另一封电子邮件"即使所有字段都留空。只有通过脚本打开网站时才会显示错误消息。
While some times the alert boxes appear for just a half second or less and the script throws UnhandledAlertException.
我无法分享网站详细信息。这是我编写的脚本的一部分
WebElement fname = driver.findElement(By.id("fname"));
fname.sendKeys("");
driver.findElement(By.id("registration")).click();
if(fname.getAttribute("value").equals("")) {
Alert al=d.switchTo().alert();
al.accept();
}
任何人都可以向我解释网站的这种行为。谢谢。
答案 0 :(得分:0)
您可以清除电子邮件文本字段,而不是发送空白。这样,它会更清晰,并且每次都确认文本字段为空,并且会出现警报弹出窗口。
您可以使用以下代码清除电子邮件文本字段:
WebElement email=d.findElement(By.id("email"));
email.clear();
以下代码将等待20秒以显示警报,然后接受它。
driver.findElement(By.id("registration")).click();
try{
WebDriverWait wait = new WebDriverWait(driver,20);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();
}catch(Throwable e){
System.err.println("Error found while accepting alert: "+ e.getMessage());
}