zoukankan      html  css  js  c++  java
  • 在ANDROID STUDIO环境下使用Espresso 测试框架进行UI测试

     使用Espresso框架进行自动UI测试,自动进行操作

    在后缀为AndroidTest的文件夹内建立一个MainActivityInstrumentedTest的Java文件,

    package com.example.test;
    
    import android.support.test.filters.LargeTest;
    import android.support.test.rule.ActivityTestRule;
    import android.support.test.runner.AndroidJUnit4;
    
    import org.junit.Rule;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import static android.support.test.espresso.Espresso.onView;
    import static android.support.test.espresso.action.ViewActions.click;
    import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard;
    import static android.support.test.espresso.action.ViewActions.typeText;
    import static android.support.test.espresso.assertion.ViewAssertions.matches;
    import static android.support.test.espresso.matcher.ViewMatchers.withId;
    import static android.support.test.espresso.matcher.ViewMatchers.withText;
    
    @RunWith(AndroidJUnit4.class)
    @LargeTest
    public class MainActivityInstrumentedTest {
        private static final String STRING_To_Be_TYPED = "him";
        //要写入的内容
        @Rule
        public ActivityTestRule<MainActivity> mainActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class);
    
        @Test
        public void sayhello() {
            onView(withId(R.id.editText)).perform(typeText(STRING_To_Be_TYPED), closeSoftKeyboard());
            //获取editText的id,并将值写入
            onView(withText("say hello")).perform(click());
            //通过控件的文字定位按钮,并实现点击操作
            String expectedText = "Hello," + STRING_To_Be_TYPED + "!";
            //正确的输出内容
            onView(withId(R.id.textView)).check(matches(withText(expectedText)));
            //获取TextView的id,比对控件上的文字是否一致
        }
    }

    运行测试类,在虚拟机内将会自动执行

    如果正确的话,显示passed表示通过

    如果错误,就显示failed表示测试失败.

  • 相关阅读:
    通过登入IP记录Linux所有用户登录所操作的日志
    PHP写的异步高并发服务器,基于libevent
    PHP event 事件机制
    PHP高级工程师的要求
    TBS 手册 --phpv 翻译
    两局域网互联解决方案
    比ngx_http_substitutions_filter_module 更强大的替换模块sregex的replace-filter-nginx-module
    直播平台虚拟币与人民币的关系
    查询出来的东西异步缓存
    如何解决GBK的编码的文件中的中文转换成为UTF-8编码的文件而且不乱码
  • 原文地址:https://www.cnblogs.com/Minrcrafter/p/6561188.html
Copyright © 2011-2022 走看看