Android Studio 里搭建自动化测试框架Robotium
2014-05-28 16:55
519 查看
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:
官方文档里面没有提到怎么在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")); } }
相关文章推荐
- Android Studio 里搭建自动化测试框架Robotium
- [原创]Juint4 + WebDriver 搭建自动化测试框架
- Juint4 + WebDriver 搭建自动化测试框架
- Android Studio环境下基于Robotium的自动化黑盒测试
- Android自动化程测试框架之Robotium VS. UIAutomator
- Appium Python behave 自动化测试框架搭建(3) - Environment.py
- Android 自动化测试框架 Robotium--solo 7.0及以上差异
- 基于robotium构建自动化测试框架的一些思路
- Appium Python behave 自动化测试框架搭建(1) - 安装环境
- Macaca 自动化测试框架全解析之环境搭建安装
- Android自动化测试框架Robotium学习笔记
- robotium 安卓自动化测试框架学习几点注意 加 吐槽!
- 为什么要搭建自动化测试框架
- 基于Grunt&Mocha 搭建Nodejs自动化单元测试框架(含代码覆盖率统计)
- jenkins、ant、selenium、testng搭建自动化测试框架
- 从0到1搭建自动化测试框架
- 在Android Studio上搭建Robotium测试环境
- Android Studio中基于Robotium的使用junit report生成自动化测试报告
- 从零开始自动化测试框架设计:自动化测试环境搭建一:eclipse+svn+selenium+Junit+maven
- Android自动化测试框架Robotium学习笔记