Espresso入门

作者: Yuan_Jie | 来源:发表于2016-11-23 15:14 被阅读410次

Espresso

  • Espresso是什么

由Google提供的开源native测试框架。支持所有版本的Android API.

  • 如何测试

    • 通过使用Rule来获取Activity
    • 针对Activity中的元素进行操作,进而达到测试的目的
      Espresso工作原理
  • 测试运行的基础组件

    • onView: 查找元素
    • .perform: 执行一个操作
    • .check: 验证结果
onView(withId(R.id.my_view))            // withId(R.id.my_view) is a ViewMatcher
        .perform(click())               // click() is a ViewAction
        .check(matches(isDisplayed())); // matches(isDisplayed()) is a ViewAssertion

准备工作

  • SDK Tool: 安装Android Support Repository
    SDKTool设置

实现Espresso代码

  • 源APP程序: 使用Android Studio的模板创建的一个LoginActivityAPP

  • 配制Gradle build

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
  • 编写测试代码

    • 配制Rule
    @Rule
    public ActivityTestRule<LoginActivity> mActivityRule = new ActivityTestRule<>(
            LoginActivity.class);
    
    
    • 编写测试
      • 输入邮箱、密码
      • 点击登录
    @Test
    public void testAttemptLogin() {
        // Type text and then press the button.
        onView(withId(demo.test.espressodemo.R.id.email))
                .perform(typeText(STRING_TO_BE_TYPED_EMAIL), closeSoftKeyboard());
        onView(withId(demo.test.espressodemo.R.id.email))
                .check(matches(withText(STRING_TO_BE_TYPED_EMAIL)));
    
        onView(withId(demo.test.espressodemo.R.id.password))
                .perform(typeText(STRING_TO_BE_TYPED_EMAIL_PASSWORD), closeSoftKeyboard());
        onView(withId(demo.test.espressodemo.R.id.password))
                .check(matches(withText(STRING_TO_BE_TYPED_EMAIL_PASSWORD)));
    
        onView(withId(demo.test.espressodemo.R.id.email_sign_in_button))
                .perform(click());
    
    }
    
  • 设备设置: 关闭动画及缩放, 在开发者选项-绘画中,关闭下面的内容

    • 窗口动画缩放
    • 过滤动画缩放
    • 动画程序时长缩放
  • 执行测试

    测试过程
  • 在Android Studio中查看测试结果

2:10:32 PM Executing tasks: [:app:assembleDebug, :app:assembleDebugAndroidTest]
2:10:42 PM Gradle build finished in 8s 988ms
2:10:49 PM Tests Passed: 1 passed
测试结果

至此,使用Espresso进行简单的测试已经完成

总结

参考

相关文章

  • Espresso入门

    Espresso Espresso是什么 由Google提供的开源native测试框架。支持所有版本的Androi...

  • Espresso 简单入门

    最近需要写一些 Android 的自动化测试用例. 就学习了一下 Espresso 框架的用法. 参考文章 Tes...

  • Espresso UI测试入门

    定义 一个基于instrumentation-based API 的UI测试框架,运行于AndroidJunitR...

  • 格格老师教你在家轻松玩咖啡

    意大利咖啡(Espresso)——“Espresso”原意为“快速”,Espresso Cafe则指在瞬间提炼出来...

  • Android UI 测试指南之 Espresso

    关于 Espresso Espresso 是一个简单好用的 Android UI 测试框架 Espresso 主要...

  • Espresso的详细使用

    本篇详细介绍了Espresso的使用方式. Espresso 测试代码位置和静态导入 Espresso 测试代码必...

  • Espresso之ViewAction

    Espresso的官方文档中提示,尽量使用Espresso提供的操作动作,来控制view,而且Espresso也确...

  • 初识Espresso

    本篇内容介绍了Espresso框架的基本使用. Espresso测试框架介绍 Espresso 是一个可以轻松编写...

  • Android Espresso入门到自动搞定

    没有捕抓不到的猎物,就看你有没有野心去捕抓;没有完成不了的事情,就看你有没有野心去做。 ————《狼道》 目录一...

  • Espresso UI测试

    Espresso测试框架 Espresso 是 Google 在 2013 年推出的 Android UI 测试的...

网友评论

    本文标题:Espresso入门

    本文链接:https://www.haomeiwen.com/subject/fwlvpttx.html