Robotium创建一个Note的实例

来源:互联网 发布:excel macro编程 编辑:程序博客网 时间:2024/06/05 07:37

上一篇文章是用Appium写的创建Note的实例,这里贴出实现同样功能,但是用Robotium来编写的例子,可以看出代码量简洁和少了很多。今后有时间会做一个总结,这里先贴出来以便今后追索。
<pre name="code" class="java">package com.example.android.notepad.test;import com.robotium.solo.Solo;import android.test.ActivityInstrumentationTestCase2;import android.app.Activity;@SuppressWarnings("rawtypes")public class TCCreateNote extends ActivityInstrumentationTestCase2{private static Solo solo = null;public Activity activity;private static final int NUMBER_TOTAL_CASES = 2;private static int run = 0;private static Class<?> launchActivityClass;//对应re-sign.jar生成出来的信息框里的两个值private static String mainActiviy = "com.example.android.notepad.NotesList";private static String packageName = "com.example.android.notepad";static {try {launchActivityClass = Class.forName(mainActiviy);} catch (ClassNotFoundException e) {throw new RuntimeException(e);}}@SuppressWarnings("unchecked")public TCCreateNote() {super(packageName, launchActivityClass);}@Overridepublic void setUp() throws Exception {//setUp() is run before a test case is started. //This is where the solo object is created.super.setUp(); //The variable solo has to be static, since every time after a case's finished, this class TCCreateNote would be re-instantiated// which would lead to soto to re-instantiated to be null if it's not set as staticif(solo == null) {TCCreateNote.solo = new Solo(getInstrumentation(), getActivity());}}@Overridepublic void tearDown() throws Exception {//Check whether it's the last case executed.run += countTestCases();if(run >= NUMBER_TOTAL_CASES) {solo.finishOpenedActivities();}}public void testAddNoteCNTitle() throws Exception {solo.clickOnMenuItem("Add note");solo.enterText(0, "中文标签笔记");solo.clickOnMenuItem("Save");solo.clickInList(0);solo.clearEditText(0);solo.enterText(0, "Text 1");solo.clickOnMenuItem("Save");solo.assertCurrentActivity("Expected NotesList Activity", "NotesList");solo.clickLongOnText("中文标签笔记");solo.clickOnText("Delete");}public void testAddNoteEngTitle() throws Exception {solo.clickOnMenuItem("Add note");solo.enterText(0, "English Title Note");solo.clickOnMenuItem("Save");solo.clickInList(0);solo.clearEditText(0);solo.enterText(0, "Text 1");solo.clickOnMenuItem("Save");solo.assertCurrentActivity("Expected NotesList Activity", "NotesList");solo.clickLongOnText("English Title Note");solo.clickOnText("Delete");}}


0 0
原创粉丝点击