我有一个带有三个交互式UI元素的应用程序,两个edittext&1和一个按钮。我正在运行calabash android 0.4.20(因为0.4.21似乎已经破了)
如果我进入控制台并运行:
$ query "button"
它只显示了一个结果。
如果我点击第二个edittext在那里设置焦点,然后运行:
$ touch "button"
焦点设置为顶部edittext,按钮不会收到点击事件。
有什么线索?
我在这里和那里看到一些注释,当键盘存在时,葫芦有时会错误地计算UI元素的位置。我不确定发送触摸事件的位置,也许x / y坐标错了?
这也失败了:
$ performAction 'press', 'login' # login is the ID of the button...
我该如何解决这个问题?
答案 0 :(得分:0)
您的按钮是否有ID?
查询("按钮ID:' button_id'")
触摸("按钮ID:' button_id'")
calabash doc中有关于如何编写查询语句的更多细节......
答案 1 :(得分:0)
在你的控制台中尝试这个,
start_test_server_in_background(这应启动您在控制台中指定的应用程序)
然后尝试以下操作 login_btn = query(" * id:' login'") 触摸(login_btn)
这绝对应该触及屏幕上的登录按钮。如果没有,则ID不是“登录”
答案 2 :(得分:0)
从描述中可以看出,键盘正在模糊按钮。你可能想查看这篇文章:Close/hide the Android Soft Keyboard,它有一些隐藏键盘的技巧。
我有时遇到的另一个问题是在数组中返回了多个输入。有时您需要指定要单击的数组结果,否则将单击数组中的第一个项目。