I'm having some major difficulties getting Espresso to work with Android Studio.
I have the following code for a test:
import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import com.nullpointexecutioners.buzzfilms.activities.WelcomeActivity; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) public class ApplicationTest { @Rule public ActivityTestRule<WelcomeActivity> mActivityRule = new ActivityTestRule<>(WelcomeActivity.class); @Test public void testTitle() { onView(withText("Buzz Films")).check(matches(isDisplayed())); } } Unfortunately, the onView, withText, matches, and isDisplayed() all give me errors saying the methods can't be resolved. I can get it to work if I do a bunch of static import statements--but I didn't want to resort to that. (i.e. I'd have to write Espresso.onView(ViewMatchers.withText(...)...)
I'd like to think I have my build.gradle file correct--based on what information I could find regarding my issue.
apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.nullpointexecutioners.buzzfilms" minSdkVersion 23 targetSdkVersion 23 versionCode 7 versionName "2.0" //bump this up per milestone testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' zipAlignEnabled true } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' zipAlignEnabled false } } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE-FIREBASE.txt' exclude 'META-INF/NOTICE' } testOptions { unitTests.returnDefaultValues = true unitTests.all { // All the usual Gradle options. jvmArgs '-XX:MaxPermSize=256m' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' androidTestCompile 'com.android.support:support-annotations:23.2.1' androidTestCompile 'com.android.support.test:rules:0.5' androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-intents:2.2.2') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.2') { exclude group: 'com.android.support', module: 'support-annotations' exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'support-v4' exclude module: 'recyclerview-v7' } androidTestCompile('com.android.support.test.espresso:espresso-web:2.2.2') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile ('com.android.support.test:runner:0.5') { exclude group: 'com.android.support', module: 'support-annotations' } androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1' compile('com.github.afollestad.material-dialogs:core:0.8.5.5@aar') { transitive = true } compile('com.mikepenz:materialdrawer:4.6.4@aar') { transitive = true } compile 'com.android.support:design:23.1.1' compile 'com.android.support:support-v4:23.2.1' compile 'com.jakewharton:butterknife:7.0.1' compile 'com.mikepenz:iconics-core:2.5.5@aar' compile 'com.mikepenz:google-material-typeface:2.2.0.1.original@aar' compile 'com.firebase:firebase-client-android:2.3.1' compile 'com.android.support:cardview-v7:23.2.1' compile 'com.android.support:recyclerview-v7:23.2.1' compile 'com.squareup.picasso:picasso:2.5.2' compile 'com.android.support:palette-v7:23.2.1' compile 'com.github.florent37:picassopalette:1.0.2@aar' compile 'com.squareup.okhttp:okhttp:2.4.0' compile 'com.github.channguyen:rsv:1.0.1' }