android - Appium 在移动设备上点击之前不会找到元素。如何找到它没有焦点的元素?
问题描述
我是自动化测试的新手。我正在尝试自动化 UI,并想点击汉堡菜单。
我试过了
1. MobileElement el1 = driver.findElement(By.xpath("//*[@content-desc='" + "Menu" + "']"));
el1.click();
2. MobileElement el1 = driver.findElement(By.name("Menu)"));
el1.click();
3. MobileElement el1 = (MobileElement) driver.findElementByXPath("//android.widget.ImageButton[@content-desc=\"Menu\"]");
在所有情况下,我都收到了找不到元素的错误。
但是,当我在执行 el1.click() 之前在测试中手动点击菜单时,测试会成功运行。就像菜单元素获得焦点并且 appium 找到它一样。那么如何在不点击或获得焦点的情况下执行此操作呢?
解决方案
尝试按名称查找元素。在 UI Inspector 搜索之前使用名称或任何其他定位器。如果它通过几次尝试成功搜索。有时元素具有动态标识。
推荐阅读
- sql - 不同类型地址的数据库设计
- javascript - 根据用户 ID 过滤结果
- mvvm - MVVM - 使用 SwiftUI 和组合有效地将从父视图中的网络请求中获取的数据传递给子视图
- crystal-reports - 在整个组树中使用子报表中的值
- c# - 放值后ExecuteNonQuery违反主键?
- python - Python shell“正在执行命令,请等待结果”
- python - 频谱图图像到音频
- jenkins - 如何在 Jenkins 中克隆 github 企业存储库
- sql - 根据排名号将单列拆分为多列
- python - 在不知道我在寻找什么的情况下在字符串中查找模式的最佳方法?