打开新建的测试类,修改继承ActivityInstrumentationTestCase2<NotesList>,创建构造方法,并编写测试代码,具体如图
01 package com.example.android.notepad.test; 02 03 import android.test.ActivityInstrumentationTestCase2; 04 05 import com.example.android.notepad.NotesList; 06 import com.jayway.android.robotium.solo.Solo; 07 08 public class NotePadTest extendsActivityInstrumentationTestCase2 09 { 10 private Solo solo;//声明Solo 11 public NotePadTest()//构造方法 12 { 13 super(NotesList.class); 14 15 } 16 17 @Override 18 public void setUp() throws Exception 19 { 20 solo = new Solo(getInstrumentation(), getActivity()); 21 } 22 23 @Override 24 public void tearDown() throws Exception 25 { 26 solo.finishOpenedActivities(); 27 } 28 29 public void testAddNote() throws Exception 30 { 31 //点击add note按钮 32 solo.clickOnMenuItem("Add note"); 33 //比对结果 34 solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); 35 //在第一个TextEdit控件上输入内容 36 solo.enterText(0, "Note 1"); 37 //返回上个界面 38 solo.goBack(); 39 //点击菜单中的Add note 40 solo.clickOnMenuItem("Add note"); 41 //在第一个EditText中输入内容 42 solo.enterText(0, "Note 2"); 43 //返回NotesList activity 44 solo.goBackToActivity("NotesList"); 45 //截屏 46 solo.takeScreenshot(); 47 boolean expected = true; 48 boolean actual = solo.searchText("Note 1") ; solo.searchText("Note 2"); 49 assertEquals("Note 1 and/or Note 2 are not found", expected, actual); 50 51 } 52 53 } |
编写完成后,打开模拟器或者连接上真机,右击测试类,选择Android junit Test
Eclipse会切换到junit界面,此时模拟器(真机)会自动执行测试,通过左边界面可以看到运行结果
一个简单的测试就结束了。如果你没有遇到问题,那么恭喜你继续更深一步学习,如果你遇到问题了,不要急~请先确保你的操作过程没有出任何错误,其次我列出你可能遇到的错误,如果还是没有解决请Google或者联系我们
1、最常见的:java.lang.NoClassDefFoundError: com.jayway.android.robotium.solo.Solo
解决方法:如图操作后再clean工程34