2015-12-22 86 views
0

我正在嘗試使用espresso運行Instrumentation android UI測試,但我收到了這些錯誤。爲什麼在運行Android Espresso UI測試時出現這些錯誤?

Error:(3, 33) error: package android.support.test.rule does not exist 
Error:(4, 35) error: package android.support.test.runner does not exist 
Error:(7, 17) error: package org.junit does not exist 
Error:(8, 17) error: package org.junit does not exist 
Error:(9, 24) error: package org.junit.runner does not exist 
Error:(13, 44) error: package android.support.test.espresso does not exist 
Error:(13, 1) error: static import only from classes and interfaces 
Error:(14, 1) error: static import only from classes and interfaces 
Error:(14, 51) error: package android.support.test.espresso.action does not exist 
Error:(15, 54) error: package android.support.test.espresso.assertion does not exist 
Error:(15, 1) error: static import only from classes and interfaces 
Error:(16, 52) error: package android.support.test.espresso.matcher does not exist 
Error:(16, 1) error: static import only from classes and interfaces 
Error:(17, 52) error: package android.support.test.espresso.matcher does not exist 
Error:(17, 1) error: static import only from classes and interfaces 
Error:(19, 2) error: cannot find symbol class RunWith 
Error:(24, 12) error: cannot find symbol class ActivityTestRule 
Error:(23, 6) error: cannot find symbol class Rule 
Error:(26, 6) error: cannot find symbol class Test 
Error:Execution failed for task ':westwing:compileStageDebugJavaWithJavac'. 
> Compilation failed; see the compiler error output for details. 

我跟這裏的步驟: https://google.github.io/android-testing-support-library/docs/espresso/setup/

搖籃文件:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.2' 


    defaultConfig { 
     applicationId "de.westwing.android" 
     minSdkVersion 10 
     targetSdkVersion 23 
     signingConfig signingConfigs.dumpKey 

     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    } 

    buildTypes { 
     release { 
      // The ProGuard plugin is applied automatically, and the tasks are created automatically 
      // if the Build Type is configured to run ProGuard through the minifyEnabled property. 
      minifyEnabled false 
      shrinkResources true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-rules.txt' 
      debuggable false 
     } 
     debug { 
      debuggable true 
     } 
    } 

    productFlavors { 
     live { 
      manifestPlaceholders = [appIcon: "@mipmap/ic_launcher", appName: "@string/app_name"] 
      buildConfigField "boolean", "STAGE", "false" 
     } 
     stage { 
      manifestPlaceholders = [appName: getWorkingBranch(), appIcon: "@drawable/ic_stage_launcher"] 
      applicationId "de.westwing.android.stage" 
      buildConfigField "boolean", "STAGE", "true" 
     } 
    } 


} 

dependencies { 
    compile project(':appoxee') 
    compile project(':android-volley-master') 

    compile 'com.squareup.okhttp:okhttp:1.6.0' 
    compile 'com.google.code.gson:gson:2.3' 
    compile 'com.android.support:support-annotations:23.1.1' 
    compile 'com.google.android.gms:play-services-base:8.1.0' 
    compile 'com.google.android.gms:play-services-plus:8.1.0' 
    compile 'com.google.android.gms:play-services-analytics:8.1.0' 
    compile 'com.google.android.gms:play-services-identity:8.1.0' 
    compile 'com.google.android.gms:play-services-gcm:8.1.0' 
    compile 'com.android.support:gridlayout-v7:23.1.0' 
    compile 'com.android.support:cardview-v7:23.1.0' 
    compile 'com.android.support:recyclerview-v7:23.1.0' 
    compile 'com.facebook.android:facebook-android-sdk:4.5.0' 
    compile 'com.jakewharton:butterknife:6.1.0' 
    compile 'io.card:android-sdk:5.1.1' 
    compile 'com.adjust.sdk:adjust-android:4.1.2' 
    compile 'com.intellij:annotations:12.+' 
    compile 'com.android.support:design:23.1.0' 
    compile 'com.github.chrisbanes.photoview:library:1.2.4' 
    compile 'de.greenrobot:eventbus:2.4.0' 
    compile 'com.crittercism:crittercism-android-agent:5.4.0' 
    compile 'com.android.support:percent:23.1.0' 
    compile('com.github.worker8:tourguide:[email protected]') { 
     transitive = true 
    } 
    compile 'net.hockeyapp.android:HockeySDK:3.6.0' 

    // Crashlytics Kit 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true 
    } 

    compile files('libs/FlurryAnalytics-5.6.0.jar') 
    compile files('libs/appsee.jar') 

    testCompile 'junit:junit:4.12' 
    testCompile 'org.mockito:mockito-core:1.10.19' 
    testCompile 'org.hamcrest:hamcrest-library:1.1' 
    testCompile 'org.robolectric:robolectric:3.0' 

    androidTestCompile 'com.android.support:support-annotations:23.1.1' 
    androidTestCompile 'com.android.support.test:runner:0.4.1' 
    androidTestCompile 'com.android.support.test:rules:0.4.1' 
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1' 
    // Set this dependency if you want to use Hamcrest matching 
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3' 
} 

buildscript { 
    repositories { 
     maven { url 'https://maven.fabric.io/public' } 
    } 

    dependencies { 
     classpath 'io.fabric.tools:gradle:1.+' 
    } 
} 

repositories { 
    maven { url "https://maven.fabric.io/public" } 
    maven { url "https://oss.sonatype.org/content/repositories/snapshots" } 
} 

android { 
    useLibrary 'org.apache.http.legacy' 
} 
android { sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java'] } } } 

,這裏是我的測試:

package de.westwing.android; 

import android.support.test.rule.ActivityTestRule; 
import android.support.test.runner.AndroidJUnit4; 
import android.test.suitebuilder.annotation.LargeTest; 

import org.junit.Rule; 
import org.junit.Test; 
import org.junit.runner.RunWith; 

import de.westwing.android.presentation.activities.MainActivity; 

import static android.support.test.espresso.Espresso.onView; 
import static android.support.test.espresso.action.ViewActions.click; 
import static android.support.test.espresso.assertion.ViewAssertions.matches; 
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed; 
import static android.support.test.espresso.matcher.ViewMatchers.withId; 

@RunWith(AndroidJUnit4.class) 
@LargeTest 
public class NavigationViewTest { 

    @Rule 
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule(MainActivity.class); 

    @Test 
    public void testNavigationViewItems() { 
     onView(withId(R.id.nav_email_customer_service))   // withId(R.id.my_view) is a ViewMatcher 
       .perform(click())    // click() is a ViewAction 
       .check(matches(isDisplayed())); // matches(isDisplayed()) is a ViewAssertion 
    } 
} 
+0

如果問題包含錯誤消息而不是它們的圖片,問題會更好。這使得消息可搜索並且對於具有相同問題的其他人更有用。 –

+0

我編輯了我的問題@Neil Masson – Jamal

+0

你可以發佈你的應用/ build.gradle文件嗎? – ripple182

回答

0

好吧,我想通了,這是什麼問題?

由於我的項目沒有從早期開始的適當結構 有錯誤配置。

我所做的:

1 - 打開項目文件夾

2-開放src子目錄

3-創建子文件夾androidTest

4-內androidTest的包作爲創建子文件夾"com -> example -> android"

5在Andro中打開您的項目ID工作室

6-添加所需依賴的gradle

7創建測試和運行它。

"Enjoy testing :)" 
相關問題