转载请标明出处:http://blog.csdn.net/Christopher_Lv/article/details/44924883
目前android官方的IDE为android studio,不再对ADT做后续支持。因此对于使用robotium的同学,面临从adt转到android studio的问题。本文以Notepad代码为例简单介绍下android studio中配置robotium的流程。
- 打开android studio,选择File->New Project,新建一个工程
- 选择File->Import Module,导入Notepad所在的文件夹,导入后显示如下:
此时,发现app源码和测试代码都位于java文件夹下,并且NotePadTest会报错(由于还没有导入robotium的jar包)。导入时可能会报没有android api-19,在sdk manager中下载此版本的build-tool即可解决。 导入robotium jar包,有两种方法:
- 使用gradle dependency,在build.gradle(Module: notePad)中添加
dependencies {
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.3.1'
}
添加后,会自动下载到.gradle\caches和.AndroidStudio\system\jars目录下,如果无法下载,请检查能否连接到robotium官网(国内是无法打开robotium官网的,需要使用vpn),建议使用此种方法方便配置和管理。 - 直接使用第三方jar包。从网上将robotium-solo-5.3.1.jar下载后,从android转为project,如下图所示:
新建libs文件夹,并将jar包复制到此文件夹下。右键jar包,选择add as library即可
- 使用gradle dependency,在build.gradle(Module: notePad)中添加
运行测试脚本有两种方法,
- 通过IDE的UI操作,选择run->edit configuration
新建一个android tests,然后按如下配置即可正常运行
运行完后,可在Run面板中查看结果
- 通过命令行方式,在命令行中输入
gradlew notePad:connectedAndroidTest
或gradlew connectedAndroidTest
如果gradle抛java.net.UnknownHostException: downloads.gradle.org异常,可以参考http://blog.csdn.net/christopher_lv/article/details/44924563 中的方法配置vpn即可解决。
如果gradle不识别connectedAndroidTest这种task,可以通过gradlew tasks --all
检查是否支持connectedAndroidTest,没有的话,需要相应修改build.gradle文件(具体问题具体分析)
F:\workspace\MyProject>gradlew tasks --all|find "connectedAndroidTest"
notePad:connectedAndroidTest - Installs and runs the tests for Debug build on connected devices. [notePad:assembleDebug, notePad:assembleDebugAndroidTest]
notePad:connectedCheck - Runs all device checks on currently connected devices. [notePad:connectedAndroidTest]
执行完后,会在工程的build\outputs\reports\androidTests\connected文件夹下生成测试报告
- 通过IDE的UI操作,选择run->edit configuration