java - Android 上的 Appium : 断言对象属性 (focused, enabled, ...)
问题描述
我正在尝试使用Appium对 Android 应用程序进行自动化测试,并想写一个关于特定对象当前状态的断言。
例如,假设我有一个MobileElement实例,并且我想断言该元素当前处于焦点位置。
我尝试使用getAttribute
:
mobileElement.getAttribute("focus")
但是这个调用会引发org.openqa.selenium.UnsupportedCommandException
异常。(可能是因为 mobileElement 是一个AndroidElement)
是否可以使用 Appium/JsonWireProtocol 检索 AndroidElement 的状态/属性/属性,或者是否有实现它的扩展?
解决方案
您可以获取活动元素并将其Id与您之前找到的元素进行比较,如果 Id 相同 - 这意味着您找到的元素是活动元素。
示例代码:
MobileElement someElement = driver.findElement(By.xpath("//"));
MobileElement currentElement = (MobileElement) driver.switchTo().activeElement();
if (someElement.getId().equals(currentElement.getId())) {
System.out.println("someElement is the current one");
}
您可能还对SeeTest Appium Extension感兴趣,它在 Appium之上提供了额外的元素命令
推荐阅读
- haskell - 如何识别 Servant 所需的扩展
- python - 定位 Tkinter 复杂网格
- javascript - 使用 Javascript 获取 HTML 元素中的 innerText 字段的值
- python - 等待加载圈消失的等待函数 selenium,unittest,python 即使圈已经完成加载也需要 12 秒以上
- python - 我无法获取标签值
- javascript - 订阅后未定义的对象角度
- php - PHPMailer 问题:消息正文中没有新行
- javascript - Javascript空格键字符
- python - 在 python 中第二次读取文件时出现问题
- azure-logic-apps - 如何向事件网格自定义主题 Azure 发送事件网格订阅者逻辑应用响应