I am trying to stand up espresso tests but I keep getting this error:
INSTRUMENTATION_STATUS: Error=Unable to find instrumentation info for: ComponentInfo{com.mikeestrada.test/android.test.InstrumentationTestRunner}
It worked once, but I can't get the reports to recreate correctly. They are just blank, didn't test anything. I've tried a plethora of commands including
adb shell am instrument -w -r com.mikeestrada.test/android.test.InstrumentationTestRunner
and
adb shell am instrument -w -r com.mikeestrada.test/com.google.android.apps.common.testing.testrunner.GoogleInstrumentation TestRunner
Here are my code snippets:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapplication" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="7" android:targetSdkVersion="19" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.myapplication.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <instrumentationandroid:name="com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" android:targetPackage="com.mikeestrada.test"/>
package com.mikeestrada.test; import android.test.ActivityInstrumentationTestCase2; import android.test.ActivityUnitTestCase; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import android.view.View; import com.example.myapplication.MainActivity; import com.example.myapplication.R; import com.google.android.apps.common.testing.ui.espresso.Espresso; import com.google.android.apps.common.testing.ui.espresso.ViewAssertion; import com.google.android.apps.common.testing.ui.espresso.ViewInteraction; import com.google.android.apps.common.testing.ui.espresso.action.ViewActions; import com.google.android.apps.common.testing.ui.espresso.assertion.ViewAssertions; import com.google.android.apps.common.testing.ui.espresso.matcher.ViewMatchers; import junit.framework.Assert; import org.hamcrest.Matcher; public class TestStartScreen extends ActivityInstrumentationTestCase2<MainActivity> { public TestStartScreen() { super(MainActivity.class); } @LargeTest public void testHelloWorld(final Matcher<View> viewMatcher) { // Find //ViewInteraction button1 = onView(ViewMatchers.withId(R.id.button1)); // Find the button ViewInteraction helloWorldText = Espresso.onView(ViewMatchers.withText("Hello world!")); // Find the text // Action //button1.perform(ViewActions.click()); // Click the button helloWorldText.perform(ViewActions.typeText("Bye World!")); Espresso.onView(ViewMatchers.withText(R.id.withText)); // Check helloWorldText.check(ViewAssertions.matches((ViewMatchers.isDisplayed()))); // Hello world text is hidden //Espresso.onView(withId(R.id.my_view)).check(matches(withText("Hello world!"))); } }
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.7.+' } } apply plugin: 'android' repositories { mavenCentral() } android { compileSdkVersion 19 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 19 } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' assets.srcDirs = ['assets'] } } } dependencies { compile 'com.android.support:appcompat-v7:+' instrumentTestCompile files('libs/espresso-1.1-bundled.jar') } android { defaultConfig { testInstrumentationRunner "com.google.android.apps.common.testing.testrunner.GoogleInstrumentationTestRunner" } } task wrapper (type: Wrapper) { gradlerVersion = '1.9' }
If it means anything - the attributes of <instrumentation>
in the manifest are colored red as if IntelliJ does not recognize them.
Any help is great, thanks!
You need to check which instrumentation packages have been installed on your device:
adb shell pm list instrumentation
Then verify whether com.mikeestrada.test is actually listed there.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With