I need to do some auto testing jobs to an Android application without its source code. I found both robotium and espresso can do this job, I decided to use espresso because its
Too late but may help someone.
My scenario was this -
I was running Android Studio 2.2(Stable). My androidTest folder was inside src/ . In the "Android" view, my java folder was showing normal java folder,test folder ,androidTest folder and a copy of the the androidTest folder under the name "java" (in green). The culprit was
sourceSets {
....
main { java.srcDirs = ['src/main/java','src/androidTest'] }
...
}
Change this to the following -
sourceSets {
....
main { java.srcDirs = ['src/main/java'] }
...
}
My app level build.gradle looks like this
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.2"
defaultConfig {
applicationId "my.package.name"
minSdkVersion 16
targetSdkVersion 24
versionCode 1
versionName "1.0-debug"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
buildTypes {
release {
shrinkResources true
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
preDexLibraries = false;
}
sourceSets { main { java.srcDirs = ['src/main/java'] } }
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:24.2.0'
compile 'com.android.support:design:24.2.0'
compile 'com.android.support:support-v13:24.2.0'
androidTestCompile 'junit:junit:4.12'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2') {
// Necessary if your app targets Marshmallow (since Espresso
// hasn't moved to Marshmallow yet)
exclude group: 'com.android.support', module: 'support-annotations'
}
androidTestCompile('com.android.support.test:runner:0.5') {
// Necessary if your app targets Marshmallow (since the test runner
// hasn't moved to Marshmallow yet)
exclude group: 'com.android.support', module: 'support- annotations'
}
}
apply plugin: 'com.google.gms.google-services'