5 gradle robotium circleci gradlew android-studio
我很难让Robotium在基于gradle的Android Studio上工作,我找不到使用gradle CLI运行测试的方法.我将robotium.jar"robotium-solo-5.4.1.jar"放入libs文件夹,添加为库.在src文件夹中,我为测试源创建了另一个文件夹androidTest-> java-> package,其名称与app的包名称相同 - > Test.java"java"(在"androidTest"内部)是绿色.
UI:像往常一样使用Android Studio Run菜单 - 工作.
console:在终端输入以下命令:gradlew connectedAndroidTest = not working.我也试过"gradlew test",测试结果在build/test-report中生成,但是它们表明没有找到测试.
我想在没有连接设备的情况下使用gradle CLI运行Robotium测试,因为我想在CircleCI中的Android模拟器中运行测试.
我的build.gradle/test文件有问题,还是有遗漏的东西?
我真的很感激任何帮助!
*****这是我的build.gradle文件
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
dexOptions {
// jumboMode true
javaMaxHeapSize "2g"
}
defaultConfig {
applicationId 'net.example'
minSdkVersion 14
targetSdkVersion 22
versionName '2.8.1'
versionCode 2801
multiDexEnabled true
}
buildTypes {
debug{
debuggable true
jniDebuggable true
}
release {
debuggable false
jniDebuggable false
minifyEnabled true
proguardFiles 'proguard-coda.txt', 'proguard-rules.pro'
}
}
productFlavors {
}
packagingOptions {
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
}
lintOptions {
disable 'MissingTranslation'
}
sourceSets {
androidTest {
java.srcDirs = ['src/androidTest/java']
}
}
}
dependencies {
// Included library modules
...
// My regular dependencies
...
compile fileTree(include: ['*.jar'], dir: 'libs')
// Test dependencies
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.4.1'
androidTestCompile fileTree(dir: 'libs', include: 'robotium-solo-5.4.1.jar')
}Run Code Online (Sandbox Code Playgroud)
*****位置中的Robotium测试文件:app-> src-> androidTest-> java-> package name-> Test.java
package net.example;
import com.robotium.solo.*;
import android.test.ActivityInstrumentationTestCase2;
import android.view.View;
import java.util.ArrayList;
@SuppressWarnings("rawtypes")
public class Test extends ActivityInstrumentationTestCase2 {
private Solo solo;
//Debug Logcat Tag for filtering
private static final String TAG = "RoboDebug";
private static final String LAUNCHER_ACTIVITY_FULL_CLASSNAME ="net.example.exampleActivity";
private static Class<?> launcherActivityClass;
static{
try {
launcherActivityClass = Class.forName(LAUNCHER_ACTIVITY_FULL_CLASSNAME);
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
}
@SuppressWarnings("unchecked")
public Test() throws ClassNotFoundException {
super(launcherActivityClass);
}
public void setUp() throws Exception {
super.setUp();
solo = new Solo(getInstrumentation());
getActivity();
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
super.tearDown();
}
public void testRun() {
//Wait for activity: 'net.example.exampleActivity'
solo.waitForActivity("exampleActivity", 5000);
//Wait for activity: 'coda.RootActivity'
//!!!!!!!!
assertTrue("RootActivity is not found!", solo.waitForActivity("RootActivity"));
//Set default small timeout to 60000 milliseconds
//Click on Beauty
solo.clickOnText(java.util.regex.Pattern.quote("Beauty"));
ArrayList<View> dig = solo.getViews();
android.util.Log.d(TAG, "Dig is: " + dig);
}
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
736 次 |
| 最近记录: |