方法一:
刚开始接触Android测试,经常犯一些比较低级的错误,记录一下供以后参考。
使用Robotium测试时,遇到的第一个问题就是
java.lang.NoClassDefFoundError: com.robotium.solo.Solo
at com.ifeng.button.test.ButtonTest.setUp(ButtonTest.java:17)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
解决方法很简单,就是在Properties对话框,Order and Export标签中将robotium-solo-xxx.jar-xxx/xxx选中即可。
方法二:
首先我们需要注意到在”Orderand Export”中,有个AndroidPrivate Libraries是默认选上,默认就会被导出的。
而我们在Libraries标签中展开”AndroidPrivate Libraries”是没有看到任何Robotium相关的内容的。
那么我们如何把Robotium库放到AndroidPrivate Libraries下面呢?其实AndroidPrivate Libraries默认是会与项目的libs文件夹关联起来的,加到libs文件夹下面的JAR包都会默认添加到AndroidPrivate Libraries中。
步骤一: 在测试项目中添加一个”libs”的文件夹(如果没有的话)
步骤二:把Robotium库的JAR包拷贝到该libs文件夹下
做完以上两步,Robotium库就会自动出现在”Android Private Libraries”下面了。
问题解决后再在手机上跑测试就不会出现标题所示错误了。