Android Studio中搭建Robotium环境

现在大部分的 Android 项目都从之前的 Eclipse 转移到了 Android Studio,所以在使用 Robotium 做自动化测试时,最好是也跟着转移到 AS中。

在 AS 中搭建 Robotium 环境与 Eclipse 会有很大的区别,这里给出一个简单的例子供大家参考!

  • 新建一个简单的 Demo 应用,使用 AS 的默认创建的就好,默认应用的 MainActivity 界面上 TextView 的内容设置为robotium test

  • app/build.gradle中添加测试依赖

    1
    2
    3
    4
    5
    6
    7
    dependencies {
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    //添加测试依赖
    androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.4.0'
    androidTestCompile 'junit:junit:4.12'
    }
  • src/androidTest,与默认创建的ApplicationTest类同级的目录下创建一个MainActivityTest

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity>{
    private Solo solo;

    public MainActivityTest() {
    super(MainActivity.class);
    }

    @Before
    public void setUp() throws Exception {
    super.setUp();
    solo = new Solo(getInstrumentation(), getActivity());
    }

    @Test
    public void testShowText() {
    Assert.assertTrue(solo.searchText("robotium test"));
    }
    }
  • AS 左侧 Build Variants 中 Test Artifact 中选择Android Instrumentation Tests
    variants image

  • 菜单栏 Run > Edit Configurations… > Default > Android Tests 指定 instrumentation runner 为android.test.InstrumentationTestRunner
    runner image

  • 运行测试,使用命令gradlew cAT 或者使用 Gradle界面工具运行测试
    runtest image

  • 运行成功后在 app/build/reports/androidTests/connected 目录下用浏览器打开报告
    result image