我正在使用Robtium 4.1
当我在可见的模拟器上运行我的Robotium测试时,我可以使用:
单击一个按钮 final Button startButton = (Button) solo.getCurrentActivity().findViewById(
com.coop.R.id.btn_start);
solo.clickOnView(startQuizButton);
在使用-no-window选项不可见的模拟器中执行相同操作我得到异常:
[INFO] android.device参数设置为模拟器 [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk:在com.company.abc.app.test中运行检测测试 [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk:运行已启动:com.company.abc.app.test,1次测试: [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk:FAILURE:com.company.abc.app.SingleChoiceTest #testappType [INFO] emulator-5554_AVD_for_Galaxy_Tab_10_1_unknown_sdk:junit.framework.AssertionFailedError:点击无法完成! 在com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:85) 在com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:157) 在com.jayway.android.robotium.solo.Clicker.clickOnScreen(Clicker.java:131) 在com.jayway.android.robotium.solo.Solo.clickOnView(Solo.java:879) 在com.company.abc.app.BaseappModuleRobotiumTest.checkIntroductionActivity(BaseappModuleRobotiumTest.java:155) 在com.company.abc.app.BaseappModuleRobotiumTest.testappType(BaseappModuleRobotiumTest.java:174)
我读过“为什么文字和按钮点击出错?”并再次检查,对我来说仍然是同样的问题:/
我查看了sources on Grepcode,它捕获了一个SecurityException。为什么只是在-no-window模式下抛出这个?
对此有何帮助?
祝你好运
答案 0 :(得分:0)
我敢打赌,模拟器是在锁定屏幕下运行的。机器人中的每次单击最终都会在屏幕上单击执行(更准确地说,从执行类MotionEvent获取方法)。 如果屏幕上有来自其他进程的应用程序,则无法单击屏幕。
你必须找到方法,如何在测试执行前解锁屏幕。
也许this可以帮到你。 您还可以在该模拟器上运行一些vnc服务器,连接并检查,如果这与锁定屏幕确实相关,那么我99%肯定这是问题。