My problem seems little different than here Test run failed: Instrumentation run failed due to 'Process crashed.' when testing multiple Android activity
I have followed steps given in the pdf. I have created test project "TestAndroidCalculatorBlackbox" (do we need to have two project one test and one main project, perhaps this could be the reason, cause in Robotium "Getting Started" link they want us to create projects for Notepad),
and added jars robotium-solo-5.0.1.jar
,robotium-solo-1.6.0.jar
, to get rid of red error lines below solo.
functions and jay.way package
.
I am attaching the error screenshot:
y AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.testcalculator"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.testcalculator" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:debuggable="true">
<uses-library android:name="android.test.runner" />
</application>
</manifest>
and I have package added in instrumentation list:
c:\> adb shell pm list instrumentation
instrumentation:PACKAGE.test.test/android.test.InstrumentationTestRunner (target=PACKAGE)
instrumentation:PACKAGE.test.test.test.test.test.test/android.test.InstrumentationTestRunner (target=PACKAGE.test.test)
instrumentation:com.example.android.apis/.app.LocalSampleInstrumentation (target=com.example.android.apis)
>> instrumentation:com.testcalculator/android.test.InstrumentationTestRunner (target=com.testcalculator) <<
Had this same problem and fixed it by setting up
AndroidJUnitRunner
https://developer.android.com/training/testing/junit-runner.htmlDon't attach more than one robotium library. robotium-solo-1.6.0.jar should be removed. It's deprecated and you really shouldn't use it anymore.
Is your target application already installed? It should be installed, if you are going to run tests for it. You can not install it only if your test project has reference to target project.
If you have separate APKs for application and instrumentation you should change package in your manifest. You actually have "com.testcalculator" and target package is the same - they should be different. By the way I don't see sources of application in your project, so application part should be removed.
Your error doesn't say much, it's always good to post stacktrace from LogCat.
Read manuals before you start writing tests:
http://developer.android.com/tools/testing/testing_android.html https://code.google.com/p/robotium/w/list
For those migrating to or currently using
Androidx
, this error results from usingtestInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
instead oftestInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
.Using the latter resolves the error completely.
For the developer who hasn't used androidx yet. Seeing the LogCat solved the issue for me which was deleting these line running in the wrong thread because of RxJava.