android代码测试界面 ( ActivityInstrumentationTestCase2 )


一、导入solo框架包






二、 代码如下:


package com.jayway.test;


import com.example.android.notepad.NotesList;
import com.robotium.solo.Solo;


import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.Smoke;




public class NotePadTest extends ActivityInstrumentationTestCase2<NotesList>{


private com.robotium.solo.Solo solo;


/*
* 构造方法创建 robotium的实例 
*/
public NotePadTest() {


super("com.example.android.notepad", NotesList.class);


}


//测试之前执行的代码 


public void setUp() throws Exception {


//创建出测试的机器人 


solo = new Solo(getInstrumentation(), getActivity());
}


//冒烟测试  
@Smoke
public void testAddNote() throws Exception {
int a=1;
solo.clickOnMenuItem("Add note");

          //Assert that NoteEditor activity is opened

solo.assertCurrentActivity("Expected NoteEditor activity", "NoteEditor"); 

//In text field 0, add Note 1

solo.enterText(0, "Note 1");

solo.goBack(); 

//Clicks on menu item

solo.clickOnMenuItem("Add note");

//In text field 0, add Note 2

solo.enterText(0, "Note 2");

//Go back to first activity named "NotesList"

solo.goBackToActivity("NotesList"); 

boolean expected = true;

boolean actual = solo.searchText("Note 1") && solo.searchText("Note 2");

//Assert that Note 1 & Note 2 are found

assertEquals("Note 1 and/or Note 2 are not found", expected, actual); 


}


@Smoke 
public void testEditNote() throws Exception {


// Click on the second list line

                   solo.clickInList(2); 

// Change orientation of activity

solo.setActivityOrientation(Solo.LANDSCAPE);

// Change title

solo.clickOnMenuItem("Edit title");

//In first text field (0), add test

solo.enterText(0, " test");  

solo.goBackToActivity("NotesList");

boolean expected = true;

// (Regexp) case insensitive

boolean actual = solo.searchText("(?i).*?note 1 test"); 

//Assert that Note 1 test is found

assertEquals("Note 1 test is not found", expected, actual); 


}




@Smoke
public void testRemoveNote() throws Exception {

//(Regexp) case insensitive/text that contains "test"

solo.clickOnText("(?i).*?test.*");

//Delete Note 1 test

solo.clickOnMenuItem("Delete");

//Note 1 test & Note 2 should not be found

boolean expected = false;   

boolean actual = solo.searchText("Note 1 test");

//Assert that Note 1 test is not found

assertEquals("Note 1 Test is found", expected, actual); 

solo.clickLongOnText("Note 2");

//Clicks on Delete in the context menu

solo.clickOnText("(?i).*?Delete.*");  

actual = solo.searchText("Note 2");

//Assert that Note 2 is not found

assertEquals("Note 2 is found", expected, actual);  
}



//测试完成后执行的代码 
@Override
public void tearDown() throws Exception {

try {
//Robotium will finish all the activities that have been opened

solo.finalize();

} catch (Throwable e) {

e.printStackTrace();
}
getActivity().finish();

super.tearDown();

}


运行时选(Run as):Android JUint Test

效果图







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值