Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error=Unable to find instrumentation info for: ComponentInfo{ }

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:

AndroidManifest.xml

    <?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"/> 

TestStartScreen.java

    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!")));         }     } 

build.gradle

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!

like image 417
mikeestrada67 Avatar asked Jan 22 '14 22:01

mikeestrada67


1 Answers

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.

like image 195
IgorGanapolsky Avatar answered Sep 20 '22 22:09

IgorGanapolsky