java - 无法确定按钮是否被 native android 自动化/Java 禁用

标签 java android automation appium

我在原生 android 应用程序上执行一些 appium 自动化,但遇到以下情况:

我有一个具有以下特征的登录按钮(见附件截图)。现在无论登录按钮是启用还是禁用,您在屏幕截图中看到的那些特征都不会改变。这是一个问题,因为我想根据某些文本输入标准测试登录按钮是否被禁用。

我不确定是否有其他因素驱动登录按钮处于启用或禁用状态(顺便说一句,无论按钮是启用还是禁用,它在视觉上看起来都一样)。

有人对我如何解决这个问题有任何想法吗?如果我无法在检查按钮方面做任何事情,我唯一能想到的(如果可能的话)就是在我单击登录按钮后以某种方式确定我是否留在同一页面上(可能等待没有重试消息显示并检查登录按钮是否保留在页面上)。

谢谢 enter image description here

最佳答案

实际上,Appium 确实支持这种检查:element/:element_id/enabled

MobileElement element = (MobileElement) driver.findElementByResourceId("login_submit");
boolean isEnabled = element.isEnabled();

如果仍然总是返回相同的结果,我建议检查您应用的源代码以确保属性设置正确。修复应用程序的可测试性比通过单击进行 hacky 检查要好得多。

关于java - 无法确定按钮是否被 native android 自动化/Java 禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55522747/

相关文章:

java - 简单的 Java 重写方法

java - 如何在 Java 中从另一个构造函数调用一个构造函数?

Android Studio - 我们如何使应用程序编译得更快?

javascript - sahi - 动态表

python - 自动化, "opening a windows app and logging in"使用 python;哪个模块?

python - 使用 python 更改和运行 SQL 查询

c# - 使用 JAVA 访问动态 AX 方法

java - Couchbase SDK 3.0 从 java 启用/禁用刷新选项

android - 使用 viewpager 在 View 中滚动子项

java - 我怎样才能启动fragmentactivity?