文档章节

Android ActivityInstrumentationT…

不折腾难受斯基
 不折腾难受斯基
发布于 2015/05/12 23:02
字数 361
阅读 15
收藏 0


ActivityInstrumentationTestCase2 用来测试单个的Activity,被测试的Activity可以使用InstrumentationTestCase.launchActivity 来启动,然后你能够直接操作被测试的Activity

ActivityInstrumentationTestCase2 也支持:

  • 可以在UI线程中运行测试方法.
  • 可以注入Intent对象到被测试的Activity

ActivityInstrumentationTestCase2 取代之前的ActivityInstrumentationTestCase ,新的测试应该使用ActivityInstrumentationTestCase2作为基类。

Android ActivityInstrumentationTestCase2示例 - Smile宅 - Smile宅 

Focus2ActivityTest 的代码如下,用于测试Android ApiDemos示例解析(116):Views->Focus->2. Horizontal

 

 

publicclassFocus2ActivityTest

 extendsActivityInstrumentationTestCase2<Focus2> {

  

 privateButton mLeftButton;

 privateButton mCenterButton;

 privateButton mRightButton;

  

 publicFocus2ActivityTest() {

 super("com.example.android.apis", Focus2.class);

 }

  

 @Override

 protectedvoidsetUp() throwsException {

 super.setUp();

 finalFocus2 a = getActivity();

 mLeftButton = (Button) a.findViewById(R.id.leftButton);

 mCenterButton = (Button) a.findViewById(R.id.centerButton);

 mRightButton = (Button) a.findViewById(R.id.rightButton);

 }

  

 @MediumTest

 publicvoidtestPreconditions() {

 assertTrue("center button should be right of left button",

 mLeftButton.getRight() < mCenterButton.getLeft());

 assertTrue("right button should be right of center button",

 mCenterButton.getRight() < mRightButton.getLeft());

 assertTrue("left button should be focused", mLeftButton.isFocused());

 }

  

 @MediumTest

 publicvoidtestGoingRightFromLeftButtonJumpsOverCenterToRight() {

 sendKeys(KeyEvent.KEYCODE_DPAD_RIGHT);

 assertTrue("right button should be focused", mRightButton.isFocused());

 }

  

 @MediumTest

 publicvoidtestGoingLeftFromRightButtonGoesToCenter()  {

  

 getActivity().runOnUiThread(newRunnable() {

 publicvoidrun() {

 mRightButton.requestFocus();

 }

 });

 // wait for the request to go through

 getInstrumentation().waitForIdleSync();

  

 assertTrue(mRightButton.isFocused());

  

 sendKeys(KeyEvent.KEYCODE_DPAD_LEFT);

 assertTrue("center button should be focused",

 mCenterButton.isFocused());

 }

}

setUp 中初始化mLeftButtonmCenterButtonmRightButton,调用每个测试方法之前,setUp 都会被调用。

testPreconditions 通常为第一个测试方法,用来检测后续的测试环境是否符合条件。

testGoingRightFromLeftButtonJumpsOverCenterToRight 中调用sendKeys 可以模拟按键消息。

testGoingLeftFromRightButtonGoesToCenter ,使用runOnUiThread 来为mRightButton 请求focus ,使用runOnUiThread 的原因是因为本测试方法不在UI线程中运行。  getInstrumentation 可以取得Instrumentation对象,有了Instrumentation 对象就可以对Activity进行大部分的操作,waitForIdleSync() 等待application 回到idle 状态,之后就可以检测mRightButton 是否获得了焦点。

 

本文转载自:http://blog.csdn.net/ajkone/article/details/45511507

不折腾难受斯基
粉丝 15
博文 131
码字总数 9879
作品 0
海淀
QA/测试工程师
私信 提问
【最新】】汇总Android Studio 2.2 给我们带来的十大新功能

【威哥说】 对于我们Android开发者来说,这两天最大的事情莫过于Google给我们带来了最新的AndroidStudio2.2正式版,我及时更新了这个版本,因为正式版一般是比较稳定的,不知道大家更新了没有...

磨砺营
2016/09/22
28
0
【组图】七个世界巨头的总部办公环境

-------------------------------------------------------------------------------------------------------------------------------- 一个企业的文化很大部分会体现在办公环境中,我们整......

小卒过河
2011/08/04
3.8K
13
CA服务器迁移之后,使用IE浏览器申请证书提示无法找到证书模板

问题描述: CA服务器迁移之后,使用IE浏览器申请证书提示无法找到证书模板,截图如下: 问题原因分析: …………………………………………………………………………………………………………...

杰克斯帕罗
2017/11/03
0
0
中级java工程师

应聘Java软件工程师 基本信息 姓 名:邵俊峰 学 历:本科 工作经验:3年 电子邮件:sjfengIT@163.com 现在住址:昌平 联系方式:15110296720 ……………………………………………………………...

sjfengOS
2012/09/25
1K
5
Linux基础之文件查找工具:locate、find

引言: 在学习Linux中的文件查找时,突然联想到平时用的搜索引擎,在生活中我们想获取什么信息,在google等搜索引擎里面敲入就能列出符合我们条件的相关信息。如果我们不满意搜索结果可以进一...

紫色的茶碗
2016/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
21分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
24分钟前
4
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
46分钟前
3
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
47分钟前
3
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
48分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部