美文网首页
Android Test

Android Test

作者: 大王要我来巡山 | 来源:发表于2016-11-17 16:27 被阅读0次

    android 测试框架 Espresso的使用

    先配置一下

    点击


    a.png

    根据下图选好

    b.png

    再去 model 的 build.gradle 中添加依赖
    1:添加在 defaultConfig 下面 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" (默认是添加了的)

    2:
    androidTestCompile 'com.android.support:support-annotations:24.2.1' (这个后面的版本号跟v7包保持一致)
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:rules:0.5'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
    androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2'

    接下来是代码部分
    1,要测试哪个activity 就直接在 activity中右键--》go to --》test --》create new test--》。。。。跟着提示来就行

    2,


    Paste_Image.png

    举个例子:我取名WelcomeActivity,那么通过 1 的步骤我成功创建了WelcomActivityTest 这个测试类,但是这个测试类是空的,所以接下里
    第一步:@RunWith(AndroidJUnit4.class) ,这个是更改 测试编译器,现在我们是测试android ,假如测试java业务代码可以改成Junit4.class,编译器集中,目前我就只了解这两种

    第二步:确认要测试的activity,其实 1 中的步骤只是快速创建测试类而已,跟要测哪个activity是没关系的,所以 1 的步骤可以用直接在androidTest目录下创建测试类来取代,回归正题,
    @Rule
    public ActivityTestRule<WelcomActivity> mActivityTestRule = new ActivityTestRule<WelcomActivity>(WelcomActivity.class);
    这里的@Rule 就是确认测试的activity,下面的代码照些就行

    第三步: 找到 view --》给view添加值--》结果比对。大概思路就是这样,
    @Test
    public void inputText(){ Espresso.onView(ViewMatchers.withId(R.id.edittext)).perform(ViewActions.click()).perform(ViewActions.replaceText("abc")); Espresso.onView(ViewMatchers.withId(R.id.button)).perform(ViewActions.click()); Espresso.onView(ViewMatchers.withId(R.id.result_textview)).check(ViewAssertions.matches(ViewMatchers.withText("abc")));
    }
    这里代码的意思就是:获取到EditText,点一下,输入abc,接着获取button,点击一下button,再获取Textview ,看textview的内容是不是abc。

    注意点:测试方法要有@Test 修饰,onView()就是找你想找的view,可以通过id啊,text啊,等标识来查找,perform()是动作的意思,比如点击view,给edittext 输入内容。check()就是结果对比,判断自己给定的内容与实际内容是否符合。

    相关文章

      网友评论

          本文标题:Android Test

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