Android的自动化测试框架可选择的不多,后来选了Robotium(https://code.google.com/p/robotium/),它的语法及易用性挺像我们用在iOS里的KIF。


官方文档里面没有提到怎么在Android Studio里搭建它,后来在Stack Overflow找到个答案:http://stackoverflow.com/questions/23275602/robotium-with-android-studio/23295849#23295849


自己分析了下,要在Android Studio里搭建Robotium也蛮简单的:

1、build.gradle里,dependencies下增加 androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.1’。如果缺少这个配置,则在测试代码里将无法用到robotium的包。

2、我们项目的代码结构是老式的,所以需要重新设置test的地址,即在android.sourceSets下新增androidTest.setRoot('tests’)。可以取tests外的其他名字,然后在跟build.gradle同级的地方建立这个文件夹,没有更多额外设置的话,测试代码的放置需要按照新式结构,即tests\java下。如果没有正确配置,则这个测试代码将不可见。


除了代码改动外,如果要在Android Studio里面跑,则还需要额外配置: 菜单Run -> Edit Configuration,在Android Tests下新增条目,然后正确配置,就可以了:选择哪个Module,选择测试的范围(Module或Package等),选择Target Device。 这个是配置的东西,没有办法提交到Git。

下面是个简单的例子,我们的app在测试的环境下会先弹出一个选环境的AlertDialog,所以需要clickOnText:

/** * Created by Samuel Cai on 5/20/14. */public class MainActivityTest extends ActivityInstrumentationTestCase2 {    private Solo solo;    public MainActivityTest() {        super(LogoActivity.class);    }    @Override    public void setUp() throws Exception {        super.setUp();        solo = new Solo(getInstrumentation(), getActivity());    }    public void testNavigateToHomeScreen() throws Exception {        //choose environment        solo.waitForDialogToOpen();        solo.clickOnText("qa");        solo.clickOnButton("OK");        //assert home screen finished loading.        assertTrue(solo.waitForText("Diapering"));    }}



更多相关文章

  1. android:onClick都做了什么
  2. android内核字符驱动设备实战之----------内置C语言测试程序篇
  3. Android中自定义SeekBar来控制音量,并与系统音量键的操作保持同步
  4. Android兼容性测试框架(CTS)手册
  5. textview中加链接
  6. 从Alarm看Android上层UI到内核代码的流程分析
  7. Android(安卓)自动化测试 robotium
  8. 《大话移动APP测试:Android与iOS应用测试指南》
  9. Android沉浸式标题栏迄今为止最完美的解决方案

随机推荐

  1. Android(安卓)RxJava 实战系列:功能防抖
  2. android4.0 input子系统分析(kernel部分)
  3. android之控件自定义(seekBar)
  4. Android(安卓)系统C++智能指针----总结
  5. Android那点事-系列之(一)Parcelable和Seria
  6. Android逆向破解之Mointor查看目标日志
  7. 58APP Android构建工具升级历程
  8. 关于android中的图片缓冲区问题
  9. 【Android 内存优化】Bitmap 图像尺寸缩
  10. Android本地缓存和远程图片获取的实现