文档章节

UiDevice配合espresso 使用进行android auto test

kipeng300
 kipeng300
发布于 2016/05/13 10:46
字数 256
阅读 72
收藏 0

我们在写auto test 时候可能会遇到启动其他的ap情况,在只使用espresso下,对于退出其他ap或者返回我们的ap时候会比较麻烦。

例如:TaskManager 需要先启动一个其他的ap,退出,然后进入TaskManager查看后台进程信息

这时候我们就可以使用UiDevice配合espresso来写具体的测试。

@RunWith(AndroidJUnit4.class)

public class KipengTest {

    private UiDevice device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());


    @Rule
    public ActivityTestRule mActivity = new ActivityTestRule(MainActivity.class , false , true);

    @Test
    public void testWrite() {

        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_LAUNCHER);
        //注意ComponentName的参数  包名 包名+类名(全路径)  不然会crash  提示找不到对应的类
        ComponentName cn = new ComponentName("com.example.archermind.myapplication" , "com.example.archermind.myapplication.MainActivity");
        intent.setComponent(cn);
        //启动第三方的app界面
        mActivity.getActivity().startActivity(intent);
        SystemClock.sleep(2 * 1000);
        //点击返回,退出当前的activity返回到之前的activity
        device.pressKeyCode(KeyEvent.KEYCODE_BACK);
        onView(allOf(withId(R.id.textView) , withText("Hello World!"))).perform(click());


    }


}

UiDevice是uiautomator包下的,我们可以使用UiDevice进行很多的操作,具体的可以自己去类内看下它的方法

© 著作权归作者所有

共有 人打赏支持
kipeng300
粉丝 6
博文 35
码字总数 22422
作品 0
杭州
程序员
Android Testing Support Library

This release includes three major updates: Espresso-Web[1]: an Espresso-like API for automated UI testing of hybrid Android applications. Use Espresso-Web to test and interact w......

jdroid
2015/06/10
0
0
全副武装!AndroidUI自动化测试在RxImagePicker中的实践历程

如果您不是很了解Android的自动化测试,或者还不了解UI自动化测试对于Android开发者的意义,请参考笔者的文章《解放双手,Android开发应该尝试的UI自动化测试(将于近期发布)》。概述 我是却...

却把清梅嗅2
08/02
0
0
Android Espresso AppNotIdleException

最近在研究安卓单元测试,看到官方推荐用Espresso做UI层面的测试,就简单用了下。虽然Espresso很简单,但是适配到真实项目中还是走了不少弯路,踩了不少坑的。这里记录一下: 由于项目开发的...

H3c
05/10
0
0
Android单元测试介绍

Android 测试支持库介绍 Android的测试支持库为测试Android应用提供了大量框架。该库提供了一组API快速构建和运行测试代码,包括JUnit4和功能用户界面(UI)测试。可以从Android Studio IDE中或...

磁针石
2016/01/13
1K
0
Android程序测试(1)——新建一个简单的测试工程来测试已有的工程

因为程序测试方面是程序开发中非常重要的一方面,这里结合官方教程,来了解下Android程序是怎样进行测试的。 Android开发环境集成了一个容易使用但同时很强大的程序测试框架,通过这个框架,...

一路漫漫
2012/03/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python标准输入输出

input() 读取键盘输入 input() 函数从标准输入读入一行文本,默认的标准输入是键盘。 input 可以接收一个Python表达式作为输入,并将运算结果返回。 print()和format()输出 format()输出...

colinux
18分钟前
0
0
Python 核心编程 (全)

浅拷贝和深拷贝 1.浅拷贝:是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。相当于把变量里面指向的一个地址给了另一个变量就是浅拷贝,而没有创建一个新的对象,如a...

代码打碟手
30分钟前
0
0
PHP 对象比数组省内存?错!数组比对象省内存?错!

刚刚一个群里有人引出了 PHP 数组和对象占用内存谁多谁少的问题。我想起之前我好像也测试过这个问题,和群里人说的对象比数组节省内存的结论相反,我得出的是数组比对象节省内存。 但今天,我...

宇润
46分钟前
1
0
memcached命令行及其用法

21.5 memcached命令行 创建数据 yum install -y telnet 利用telnet命令连接memcached数据库 telnet 127.0.0.1 11211 #写入数据 set key2 0 30 212STORED 这个是错误的示范,因为0 30 已经...

lyy549745
46分钟前
0
0
Maven私服

Maven私服 一、简介 当多人项目开发的时候,尤其聚合项目开发,项目和项目之间需要有依赖关系,通过maven私服,可以保存互相依赖的jar包,这样的话就可把多个项目整合到一起。 如下图: Inst...

星汉
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部