android studio测试--Uiautomator

原创 2017年02月01日 23:53:36

安装Android Support Repository

这里写图片描述

最低版本

 minSdkVersion 18

添加Uiautomator

在build.gradle添加对Uiautomator的依赖

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.1.0'
    testCompile 'junit:junit:4.12'

    //uiautomator
    androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
}

待测试功能

随便写了个demo
xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="app.test.myapplication.MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView"
        android:layout_marginStart="14dp"
        android:text="Button" />
</RelativeLayout>

Activity:

private int clicks=0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView textView= (TextView) findViewById(R.id.textView);

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText("click: " + clicks);
                clicks++;
            }
        });
    }

测试

在androidTest下,添加测试类。
这里写图片描述

测试代码:

public class MainTest extends UiAutomatorTestCase {

    public void testMain() throws UiObjectNotFoundException {
//        getUiDevice().pressHome();
//        UiObject Calculator = new UiObject(new UiSelector().description("计算器"));
//
//        Calculator.clickAndWaitForNewWindow();
//        UiObject seven = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/digit7"));
//        seven.click();
//        UiObject plus = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/plus"));
//        plus.click();
//        UiObject one = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/digit1"));
//        one.click();
//        UiObject result = new UiObject(new UiSelector().resourceId("com.android.calculator2:id/equal"));
//        result.click();
//        getUiDevice().pressBack();

        getUiDevice().pressHome();

        Context context = InstrumentationRegistry.getContext();
        Intent launchIntent = new Intent();
        launchIntent.setComponent(new ComponentName("app.test.myapplication", "app.test.myapplication.MainActivity"));
        context.startActivity(launchIntent);

        UiObject main = new UiObject(new UiSelector().resourceId("app.test.myapplication:id/button"));
        main.click();
    }
}

相关的类:
这里写图片描述

异常:
这里写图片描述

官网–Uiautomator

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yueqinglkong/article/details/54822072

android真机调试时使用SQLite3查询数据库

当使用真机调试android程序时,有时需要在adb shell 里查询SQLite数据库。而有的手机例如华为p6,既没有root又没有自带SQLite3工具,那么如何解决这个问题呢?     1、...
  • myairen1365
  • myairen1365
  • 2014-03-11 17:38:50
  • 9019

Android Studio下运行UiAutomator

步骤总结如下: 一、新建一个项目,和Android项目的区别是不要创建Activity(Add No Activity)   二、新建项目完成后,修改gradle文件 ...
  • jdc317264476
  • jdc317264476
  • 2017-05-04 11:25:29
  • 540

UIAutomator在AndroidStudio中的使用

这几天在看UIAutomator ,但网上关于UIAutomator的基本上都是基于Eclipse adt的,很少有androidstudio的,所以在这里总结下,省的以后忘记了。 andr...
  • dxw0021111
  • dxw0021111
  • 2015-06-10 16:04:21
  • 2496

Uiautomator在Android Studio下的环境搭建

谷歌对Uiautomator最近的更新,提供了新的API接口,同时也对工具进行了更新,官方文档建议使用Android Studio来搭建测试框架。 准备环境 先到SDK Manager里下载Ex...
  • chengdupanda
  • chengdupanda
  • 2016-05-17 15:30:33
  • 3197

完美解决Android Studio在gradle上的各种问题

1、gradle网址:  http://services.gradle.org/distributions/  在这个网址可以下载到gradle最新版本 2、如何修改project的grad...
  • lyglostangel
  • lyglostangel
  • 2017-11-08 01:08:47
  • 116

在android studio上搭建uiautomator环境并创建实例运行

看吧,都还是Eclipse上面的教程,studio上面还没什么人分享。我也百度不到。别折腾了,折腾一天时间,屁都没搞定,还不如在Eclipse上面好好写几个跑起来再说,不要因为工具问题打消了你学习的兴...
  • yuzhongping1989
  • yuzhongping1989
  • 2016-03-29 15:16:27
  • 484

在Android Sudio中使用Uiautomator

如何在Android Studio中使用uiautomator 【步骤1】新建一个Android工程 不需要创建Activity 【步骤2】配置gradle(app) ...
  • cxq234843654
  • cxq234843654
  • 2016-04-21 09:50:58
  • 11708

Android studio 如何查看 library 间的依赖关系

上一篇 support-v4、support-v7 的依赖关系及 Getting java.util.zip.ZipException: duplicate entry exception 的处理 例...
  • niuzhucedenglu
  • niuzhucedenglu
  • 2017-04-07 15:32:37
  • 5265

【Android测试】AndroidStudio通过UIAutomator进行测试

在eclipse中使用UIAutomator时步骤较为繁琐,而在Studio环境下只需要添加引用,编写测试类,运行测试类就可以实现。步骤较简单。1.配置环境在包依赖中添加对UIAutomator的引用...
  • okm6666
  • okm6666
  • 2016-08-19 13:32:45
  • 4158

Android Studio学习基础介绍

一、运行和调试相关的操作 与studio目录相关介绍http://blog.csdn.net/binjianliu/article/details/77547610...
  • luckrr
  • luckrr
  • 2018-03-21 01:05:48
  • 73
收藏助手
不良信息举报
您举报文章:android studio测试--Uiautomator
举报原因:
原因补充:

(最多只允许输入30个字)