Android(安卓)Studio 里搭建自动化测试框架Robotium
16lz
2021-12-04
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")); }}
更多相关文章
- android:onClick都做了什么
- android内核字符驱动设备实战之----------内置C语言测试程序篇
- Android中自定义SeekBar来控制音量,并与系统音量键的操作保持同步
- Android兼容性测试框架(CTS)手册
- textview中加链接
- 从Alarm看Android上层UI到内核代码的流程分析
- Android(安卓)自动化测试 robotium
- 《大话移动APP测试:Android与iOS应用测试指南》
- Android沉浸式标题栏迄今为止最完美的解决方案