0

我遇到了 Robotium 在运行时无法找到我的应用程序的问题。

为了清楚起见,我在 SO 上看到了一些类似的问题,但是它们似乎围绕着在运行时找不到的 Robotium Solo类(或其他一些 3rd 方库)。但是,这略有不同,因为我的 Robotium 测试找不到正在测试的项目

测试位于一个单独的项目中,该项目依赖于我的应用程序项目。编译时没有问题,但是当我尝试运行测试时,我得到...

java.lang.RuntimeException: Exception during suite construction
at android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests 
....
Caused by: java.lang.NoClassDefFoundError: com.myapp.mobile.activity.RegisterUserScreen

RegisterUserScreen 是我的应用程序中的一项活动。这发生在设备和模拟器上。

我正在针对 Android 4.1.2 在 IntelliJ 12.1.4 中构建/运行,当我尝试从命令行运行测试时,我看到了相同的结果。

可能值得指出的是,从命令行运行adb shell pm list instrumentation会返回正确的检测...

instrumentation:com.myapp.mobile.test.system/android.test.InstrumentationTestRunn
er (target=com.myapp.mobile)

提前致谢,

尼尔。

4

2 回答 2

2

在您的设备中,转到设置-> 应用程序并检查您的测试应用程序名称的已安装或正在运行的应用程序列表名称是否存在。如果您在那里找到它,则卸载测试应用程序以及您的原始应用程序(必须进行测试)。很多时候,由于不同的版本/签名不匹配,测试应用程序无法找到目标应用程序。

于 2013-09-13T05:03:49.343 回答
0

将您的运行配置创建为“Android 测试”而不是“JUnit”

于 2014-03-09T08:32:17.247 回答