java - selenium webdriver 检测 UI 弹出错误信息
问题描述
我有这个反应应用程序正在使用 selenium webdriver 进行测试。
如果我的登录错误,如何使用 selenium webdriver 检测文本?我找不到代码/弄清楚如何捕获弹出消息。'认证失败'
@Test
public void failed_login() {
System.setProperty("webdriver.chrome.driver",
"C:\\Users\\rahul\\Downloads\\chromedriver_win32_83\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.get("http://testingapp.workspez.com");
driver.manage().window().maximize();
WebElement username = driver.findElement(By.id("field_email"));
WebElement password = driver.findElement(By.id("field_password"));
WebElement login = driver.findElement(By.xpath("//*[text()='Log In']"));
username.sendKeys("wrongemail@gmail.com");
password.sendKeys("wrongpassword");
login.click();
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
driver.manage().timeouts().implicitlyWait(120, TimeUnit.SECONDS);
String url = driver.getCurrentUrl();
assertEquals(url, "http://testingapp.workspez.com/login");
}
解决方案
您可以使用以下代码来验证是否authentication failed
显示弹出窗口:
List<WebElement> popUpElement = driver.findElements(By.id("client-snackbar");
if(popUpElement.size() != 0){
System.out.println("Pop up is Present "+popUpElement.get(0).getText());
}else{
System.out.println("Pop up is Absent");
}
推荐阅读
- wpf - 使用后退/下一个按钮 WPF 在单个 ViewModel 中切换 Stackpanel
- python - 处理嵌套梯子python
- python - 将包含数组的字典转换为以数组为字符串的 DataFrame
- crystal-reports - Crystal Report 不遵循数据集中的原始行顺序
- php - SQL 计数和组只返回每个组的第一行
- github - 为什么当我想推送我的仓库时,我推送了 40209 对象
- reactjs - Typescript类型签名函数对象数组参数
- android - 是否有谷歌官方解决方案可以对视图进行模糊效果?
- kotlin - 如何使 Kotlin 列表可变,添加项目,然后迭代生成的不可变列表?
- mysql - 如何根据MYSQL中的日期获取记录