我们目前正在开发一套仪器测试套件,该套件在我们的构建服务器上运行。但是,虽然使用普通的Android模拟器在开发机上测试通过,但由于我们在构建服务器上只运行一个带有
当尝试调用
我们还尝试让测试应用程序和被测试的应用程序共享相同的Linux用户ID,并在同一进程中运行(
这是否意味着目前无法在无头模拟器上运行包含按键事件的仪器测试,或者我们遗漏了什么?
-no-window
标志的无头模拟器,因此构建失败。当尝试调用
InstrumentationTestCase.sendKeys()
方法以编程方式打开选项菜单时,会发生错误。错误如下:
我们后来发现有一个Permission denied: injecting key event from pid 646 uid 10026 to window Window{43d55100 paused=false} owned by uid 1000
INJECT_EVENTS
权限,但在清单中设置它没有效果。实际上,在日志中我们看到了这个输出:
这是否意味着这个权限是无用的?Not granting permission android.permission.INJECT_EVENTS to package com.qype.radar (protectionLevel=2 flags=0x6644)
我们还尝试让测试应用程序和被测试的应用程序共享相同的Linux用户ID,并在同一进程中运行(
android:process
- 我们不确定是否已经是这种情况),但仍然没有成功。这是否意味着目前无法在无头模拟器上运行包含按键事件的仪器测试,或者我们遗漏了什么?