Android blackbox测试,找不到测试目标类

时间:2015-03-26 04:59:47

标签: android android-studio robotium android-instrumentation

我在测试Android项目时遇到了麻烦。

我有一个没有源代码的调试apk。开始活动类是

com.restfriedchicken.android.MainActivity

我使用

安装它
adb install -r app/build/outputs/apk/app-debug.apk

然后我使用以下build.gradle和AndroidManifest.xml

创建一个新项目

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.restfriedchicken.android.test">

    <uses-sdk
        android:minSdkVersion="17"
        android:targetSdkVersion="17" />

    <application android:allowBackup="false">
        <!-- linkage for the test runner -->
        <uses-library android:name="android.test.runner" />
    </application>

    <instrumentation
        android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.restfriedchicken.android" />

</manifest>

apply plugin: 'com.android.application'

android {
    compileSdkVersion 17
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 17
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.jayway.android.robotium:robotium-solo:5.3.1'
    compile 'com.jcraft:jsch:0.1.51'
}

但是当我运行测试时,它报告找不到“com.restfriedchicken.android.MainActivity”:

Caused by: java.lang.ClassNotFoundException: 
Didn't find class "com.restfriedchicken.android.MainActivity" on path: 
DexPathList[
    [
        zip file "/system/framework/android.test.runner.jar", 
        zip file "/data/app/com.restfriedchicken.android.test.test-1.apk", 
        zip file "/data/app/com.restfriedchicken.android.test-1.apk"
    ],
    nativeLibraryDirectories=[
        /data/app-lib/com.restfriedchicken.android.test.test-1, 
        /data/app-lib/com.restfriedchicken.android.test-1, 
        /system/lib
    ]
]

似乎仪器没有成功?

1 个答案:

答案 0 :(得分:0)

我刚开始工作了。我将测试从src / androidTest移动到src / main并通过以下步骤运行测试:


./gradlew clean :app:assembleDebug
adb install -r app/build/outputs/apk/app-debug.apk
adb shell am instrument -w com.restfriedchicken.android.test/android.test.InstrumentationTestRunner

但是如果我使用android studio运行android测试,它就不起作用了。