calabash-android:执行press_back_button时的INJECT_EVENTS权限(RuntimeError)

时间:2015-01-08 02:10:05

标签: android automated-tests functional-testing calabash-android

Action 'press_key' unsuccessful: java.lang.SecurityException:
Injecting to another application requires INJECT_EVENTS permission (RuntimeError)

这是我在Calabash在步骤定义中遇到press_back_button命令时收到的错误。通过控制台执行时效果非常好,但会在测试中生成该错误。

有人可以帮忙吗?


操作系统:OS X 10.10

Device:Genymotion v2.3.1 Android v4.4仿真

calabash-android v0.5.5


1 个答案:

答案 0 :(得分:7)

我有类似的问题。我不知道这是否可以解决你的问题:

我想触摸一个按钮,但是和你一样有异常。它在控制台中完美运行。

然后我意识到我的测试是将文本输入到文本字段中,并且按钮被虚拟键盘阻挡。我仍然可以查询按钮状态,但是当我想按下它时,我得到了异常,可能是因为它尝试从另一个应用程序(虚拟键盘)与我的应用程序的按钮进行交互。

在按下按钮之前,我必须执行hide_soft_keyboard

在您的情况下,可能还有其他东西阻碍或阻止您的应用。您也可以让sleep 2等待其他操作完成,然后按下按钮。