Android(安卓)studio Robotium环境搭建-实测
16lz
2021-01-26
robotium Recorder是付费的不然感觉只能用一周,下面是用 robotium进行android工程的环境搭建。 借鉴了: https://github.com/RobotiumTech/robotium/wiki/Downloads下面的Android studio 的example。总结了如下配置。 1.引入robotium-solo-5.5.4.jar库,可以从工程newmodule添加jar库。 2.在application下面建立一个androidTest/java目录新建一个类NotePadTest,类的内容如下,NotesList是你要测试的类,用于传入ActivityInstrumentationTestCase2的构造函数。 packagecom.example.android.notepad;// com.example.android.notepad包名要命名好,才不会出错。
importcom.robotium.solo.Solo;
importandroid.test.ActivityInstrumentationTestCase2;
publicclassNotePadTestextendsActivityInstrumentationTestCase2<NotesList>{
privatestaticfinalStringNOTE_1="Note1"; privatestaticfinalStringNOTE_2="Note2";
privateSolosolo;
publicNotePadTest(){ super(NotesList.class);
}
@Override publicvoidsetUp()throwsException{ //setUp()isrunbeforeatestcaseisstarted. //Thisiswherethesoloobjectiscreated. solo=newSolo(getInstrumentation()); getActivity(); }
@Override publicvoidtearDown()throwsException{ //tearDown()isrunafteratestcasehasfinished. //finishOpenedActivities()willfinishalltheactivitiesthathavebeenopenedduringthetestexecution. solo.finishOpenedActivities(); }
publicvoidtestAddNote()throwsException{ //Unlockthelockscreen solo.unlockScreen(); //Clickonactionmenuitemadd solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_add)); //AssertthatNoteEditoractivityisopened solo.assertCurrentActivity("ExpectedNoteEditorActivity",NoteEditor.class); //Intextfield0,enterNote1 solo.enterText(0,NOTE_1); //ClickonactionmenuitemSave solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_save)); //ClickonactionmenuitemAdd solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_add)); //Intextfield0,typeNote2 solo.typeText(0,NOTE_2); //ClickonactionmenuitemSave solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_save)); //Takesascreenshotandsavesitin"/sdcard/Robotium-Screenshots/". solo.takeScreenshot(); //SearchforNote1andNote2 booleannotesFound=solo.searchText(NOTE_1)&&solo.searchText(NOTE_2); //Tocleanupafterthetestcase deleteNotes(); //AssertthatNote1&Note2arefound assertTrue("Note1and/orNote2arenotfound",notesFound);
assertTrue(solo.waitForText("honeyzhuzhucallme!!!")); } } 3. application 模块的build.gradle的配置 dependencies{ compilefileTree(include:['*.jar'],dir:'libs') compile'com.android.support:appcompat-v7:23.0.1' androidTestCompile'com.jayway.android.robotium:robotium-solo:5.5.4' }
老的需要配置: android{ compileSdkVersion23 buildToolsVersion'23.0.2'
defaultConfig{ minSdkVersion14 targetSdkVersion21 }
sourceSets{ main{ dirs.each{dir-> java.srcDirs"src/${dir}/java" res.srcDirs"src/${dir}/res" } } androidTest.setRoot('src/androidTest') androidTest.java.srcDirs=['src/androidTest/java']
}
}
4.点击application右键RunAllTest 参考文档将robotium-solo-5.5.4-javadoc.jar解压即可。 参考文档: https://github.com/robotiumtech/robotium https://www.youtube.com/watch?v=mTF2k5NlFds https://github.com/RobotiumTech/robotium/wiki/Downloads http://wxynxyo.iteye.com/blog/2250039 http://anirudh24seven.github.io/devlog/2015/02/13/robotium-android-studio.html
importcom.robotium.solo.Solo;
importandroid.test.ActivityInstrumentationTestCase2;
publicclassNotePadTestextendsActivityInstrumentationTestCase2<NotesList>{
privatestaticfinalStringNOTE_1="Note1"; privatestaticfinalStringNOTE_2="Note2";
privateSolosolo;
publicNotePadTest(){ super(NotesList.class);
}
@Override publicvoidsetUp()throwsException{ //setUp()isrunbeforeatestcaseisstarted. //Thisiswherethesoloobjectiscreated. solo=newSolo(getInstrumentation()); getActivity(); }
@Override publicvoidtearDown()throwsException{ //tearDown()isrunafteratestcasehasfinished. //finishOpenedActivities()willfinishalltheactivitiesthathavebeenopenedduringthetestexecution. solo.finishOpenedActivities(); }
publicvoidtestAddNote()throwsException{ //Unlockthelockscreen solo.unlockScreen(); //Clickonactionmenuitemadd solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_add)); //AssertthatNoteEditoractivityisopened solo.assertCurrentActivity("ExpectedNoteEditorActivity",NoteEditor.class); //Intextfield0,enterNote1 solo.enterText(0,NOTE_1); //ClickonactionmenuitemSave solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_save)); //ClickonactionmenuitemAdd solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_add)); //Intextfield0,typeNote2 solo.typeText(0,NOTE_2); //ClickonactionmenuitemSave solo.clickOnView(solo.getView(com.example.android.notepad.R.id.menu_save)); //Takesascreenshotandsavesitin"/sdcard/Robotium-Screenshots/". solo.takeScreenshot(); //SearchforNote1andNote2 booleannotesFound=solo.searchText(NOTE_1)&&solo.searchText(NOTE_2); //Tocleanupafterthetestcase deleteNotes(); //AssertthatNote1&Note2arefound assertTrue("Note1and/orNote2arenotfound",notesFound);
assertTrue(solo.waitForText("honeyzhuzhucallme!!!")); } } 3. application 模块的build.gradle的配置 dependencies{ compilefileTree(include:['*.jar'],dir:'libs') compile'com.android.support:appcompat-v7:23.0.1' androidTestCompile'com.jayway.android.robotium:robotium-solo:5.5.4' }
老的需要配置: android{ compileSdkVersion23 buildToolsVersion'23.0.2'
defaultConfig{ minSdkVersion14 targetSdkVersion21 }
sourceSets{ main{ dirs.each{dir-> java.srcDirs"src/${dir}/java" res.srcDirs"src/${dir}/res" } } androidTest.setRoot('src/androidTest') androidTest.java.srcDirs=['src/androidTest/java']
}
}
4.点击application右键RunAllTest 参考文档将robotium-solo-5.5.4-javadoc.jar解压即可。 参考文档: https://github.com/robotiumtech/robotium https://www.youtube.com/watch?v=mTF2k5NlFds https://github.com/RobotiumTech/robotium/wiki/Downloads http://wxynxyo.iteye.com/blog/2250039 http://anirudh24seven.github.io/devlog/2015/02/13/robotium-android-studio.html
更多相关文章
- Android配置文件,所有权限
- Kotlin的配置和使用
- Android(安卓)Studio中AIDL使用方法
- Android(安卓)打正式包报错:Execution failed for task ':app:tra
- Flutter ubuntu 环境搭建
- 历史最牛 多页切换TabHost,给大家参考。
- android SDK安装以及环境变量配置(windows)
- Windows 10下安装配置Android(安卓)Studio 3.2.0简要教程
- Android(安卓)开发资料汇总