使用Espresso作为测试工具

标签: espresso 测试 工具 | 发表时间:2016-06-13 05:49 | 作者:wxynxyo
出处:http://www.iteye.com
   Youtube上面关于Espresso单独出了三期的内容讲解Espresso作为整合Unit Test, Instrument Test,end-to-end test等。我试了一下,感觉还不错。

   官网地址: https://google.github.io/android-testing-support-library/docs/index.html

   GitHub: https://github.com/googlesamples/android-testing/tree/master/ui/espresso


   我在一个已有的项目里面加入测试用例代码

   1. 引入依赖包(使用2.2.2会需要23.1.1,这边会有ERROR曝出, 故降未2.2.1)

    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'


   2. 设置编译配置
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"


   3.针对登录页面的测试,三个测试case,测试用户名不能为空,测试密码不能为空和输入用户名和密码测试正确性
/**
 * 登录测试
 */
@RunWith(AndroidJUnit4.class)
@LargeTest
public class LoginFragmentText {

    @Rule
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<MainActivity>(MainActivity.class);

    private MainActivity mainActivity;

    //这里进入以后 有一个主Fragment, 下面是4个按钮,点击其中一个进入登录页面
    @Before
    public void switchToLogin () {
        LogUtils.debug("switchToLogin...");
        onView(withId(R.id.btnProfileID)).perform(click());

        mainActivity = mActivityRule.getActivity();
    }

    //提示都是Toast弹窗提示(下同)
    @Test
    public void testUsernameNotEmpty() {
        onView(withId(R.id.login_login_btn)).perform(click());
        
        onView(withText("用户名不能为空")).inRoot(withDecorView(not(mainActivity.getWindow().getDecorView()))).check(matches(isDisplayed()));
    }

    @Test
    public void testPasswordNotEmpty() {

        //注入用户名
        onView(withId(R.id.login_username)).perform(click(), clearText(), typeText("1234567"), closeSoftKeyboard());

        //点击登录按钮
        onView(withId(R.id.login_login_btn)).perform(click());
        //弹窗提示
        onView(withText("密码不能为空")).inRoot(withDecorView(not(mainActivity.getWindow().getDecorView()))).check(matches(isDisplayed()));
    }

    @Test
    public void testLogin () {
        //注入用户名
        onView(withId(R.id.login_username)).perform(typeText("1234567"), closeSoftKeyboard());
        //注入密码
        onView(withId(R.id.login_password)).perform(typeText("123456"), closeSoftKeyboard());
        //点击登录按钮
        onView(withId(R.id.login_login_btn)).perform(click());
        //弹窗提示 登录成功
        onView(withText("登录成功")).inRoot(withDecorView(not(mainActivity.getWindow().getDecorView()))).check(matches(isDisplayed()));
    }
}


测试的时候,尤其是EditText输入框容易受到手机安装的输入法的影响,可能会出现输入不进入的情况, 这个时候可以用Thread.sleep(XXXX)来暂停捕获画面,比以前的Selenium好用多了

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [espresso 测试 工具] 推荐:

使用Espresso作为测试工具

- - 移动开发 - ITeye博客
   Youtube上面关于Espresso单独出了三期的内容讲解Espresso作为整合Unit Test, Instrument Test,end-to-end test等.    官网地址: https://google.github.io/android-testing-support-library/docs/index.html.

性能测试工具 CBenchmark

- lele - 开源中国社区最新软件
CBenchmark—-CharlesCui’s Benchmark 这是我实现的一款性能测试工具,之前在工作中常用LoadRunner之类的工具来完成性能测试,但受限于LR极其昂贵的Lisence以及难以定制的SDK,于是我用C/C++实现了这个工具,并借助Linux系统对线程和进程的良好调度,可以实现极高的并发压力.

压力测试工具Benchmark

- - 企业架构 - ITeye博客
已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

Screenqueri.es:响应式设计测试工具

- - 我爱水煮鱼
当你创建一个响应式的布局的时候,在绝大部分流行的分辨率的设备上进行测试是非常重要的,这可以让你决定页面上的每块是否现实或者优化它们的显示方式. 今天给大家介绍的 Screenqueri.es 就是一个免费的基于 Web 的响应式设计的测试工具,它能够让你输入一个网址,然后选择移动或者平板设备,然后对你的网站在各个分辨率下进行测试.

MySQL TPCH测试工具简要手册

- - MySQL 中文网 -
tpch是TPC(Transaction Processing Performance Council)组织提供的工具包. 用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能. 它包含了一整套面向商业的ad-hoc查询和并发数据修改,强调测试的是数据库、平台和I/O性能,关注查询能力.

[转]覆盖率测试工具(coverage tool)

- - 小鸥的博客
覆盖率测试工具(coverage tool). Emma:优点:1 开源软件;2 支持ANT TASK;Emma 是开源的,同时它对应用程序执行速度的影响非常小. 缺点:1 ANT TASK的参数指定较弱,coverage参数需要追加配置文件. EMMA是一个免费且开源的Java代码覆盖率测试工具,100%纯Java编写,不依赖与任何第三方库.

Cookiel劫持测试工具 – Cookie Injecting Tools

- - FreeBuf.COM
‍‍Cookie Injecting Tools 是一款简单的开源cookie利用工具,是Chrome浏览器上开发的一个扩展插件,能够灵活地进行SQL注入测试,编辑以及添加删除COOKIE,界面简洁,易于使用‍‍. 可以直接下载打包好的CRX文件,源码就包含其中,当然也可以直接下载源码运行‍‍. ‍‍‍‍ 有两种方式‍‍.

Android 自动化测试工具初探

- - IT瘾-geek
Android 自动化测试工具初探.    这段几乎都编写代码,没有新的心得体会.唯一由感想的是在测试上.由于策划的变动,接口的完善等因素,总在不停的修改功能,修改代码.由于项目中的代码都经过了好多少,又没有很好的架构规划.所以在修改或测试的时候难免会有遗漏的地方,这个时候就在想android是不是也应该有自动化测试工具来辅助测试.使得功能更完善点.本期的创新文档只能算是对自动化创新工具的一种简介..

XSStrike:基于Python的XSS测试工具

- - FreeBuf.COM | 关注黑客与极客
XSStrike 是一款用于探测并利用XSS漏洞的脚本. XSStrike目前所提供的产品特性:. 对参数进行模糊测试之后构建合适的payload. 使用payload对参数进行穷举匹配. 同时支持GET及POST方式. 大多数payload都是由作者精心构造. debian及kali系统可直接下载 本.deb安装包.

Adobe推出Muse网站创作工具测试版

- 洞箫 - cnBeta.COM
北京时间8月15日下午消息,Adobe发布了代号为Muse(Code Name)的Web设计软件,该工具是面向图形设计师的站点创作工具. 继本月初发布Adobe Edge动画工具,这是Adobe发布的又一款全新的网页设计工具.