Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法确定本机android automation/Java是否禁用了按钮_Java_Android_Automation_Appium - Fatal编程技术网

无法确定本机android automation/Java是否禁用了按钮

无法确定本机android automation/Java是否禁用了按钮,java,android,automation,appium,Java,Android,Automation,Appium,我正在本地android应用程序上执行一些appium自动化,我遇到了以下情况: 我有一个登录按钮,它具有以下特征(见所附的屏幕截图)。现在,无论登录按钮是启用还是禁用,您在屏幕截图中看到的特征都不会改变。这是一个问题,因为我想测试登录按钮是否基于某些文本输入标准被禁用 我不确定是否有其他东西在驱动登录按钮,使其处于启用或禁用状态(顺便说一句,按钮是启用还是禁用,在视觉上看起来是相同的) 有人对我如何解决这个问题有什么想法吗?如果我不能在检查按钮方面做任何事情,我能想到的唯一一件事(如果可能的话

我正在本地android应用程序上执行一些appium自动化,我遇到了以下情况:

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

我不确定是否有其他东西在驱动登录按钮,使其处于启用或禁用状态(顺便说一句,按钮是启用还是禁用,在视觉上看起来是相同的)

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


谢谢

实际上,Appium支持这种检查:


如果仍然总是返回相同的结果,我建议检查应用程序的源代码以确保属性设置正确。更好的做法是修复应用程序的可测试性,而不是通过单击进行黑客检查。

目前,appium无法检测按钮是启用还是禁用。因此,我看到的唯一解决方案是单击按钮并检查它是否保持在同一屏幕上,以验证按钮是否已禁用。很酷,有没有一种奇特的方法可以不在另一屏幕上进行检查,或者只查看页面上的一些元素,如登录按钮、登录标题和用户名字段?如果您使用的是页面对象模型,您可以很容易地检查屏幕是否已更改。您可以实现一些方法,如isScreenDisplayed()
public boolean isScreenDisplayed(){try{if(element.isDisplayed){return true;}else{return false;}}}}catch(Exception e){return false;}}}
Awesome,谢谢大家如果有帮助,可以对评论进行投票。
MobileElement element = (MobileElement) driver.findElementByResourceId("login_submit");
boolean isEnabled = element.isEnabled();