方法一(使用在线下载的方式导入依赖):

1.首先创建项目工程,创建的项目的android_api版本要与测试的android_api版本一致(24就是24 ,不能26或者17去兼容)

2.然后就是将本地的SDK添加到AS中

2.1(添加SDK):

2.2(添加SDK):

3.在SDK下载内容

3.1:

3.2:

3.3:

4.配置build.gradle

4.1.配置APP目录下的build

4.2配置内容(添加配置标注的内容,其他内容不变动)

4.3.配置文件

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'
})
// testCompile 'junit:junit:4.12'
androidTestCompile('com.android.support.test:runner:0.5', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1' //这个需要依据android版本变化
compile 'com.android.support.constraint:constraint-layout:1.0.2'
androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0'
}

5.同步依赖

方法二(手动导入依赖):

一、前期准备

 在此之前先将Android studio 环境安装搭建好,搭建好后接下来需要uiautomator2 jar包,这里就为大家提供了,
可以自行到这里下载 http://pan.baidu.com/s/1pJX6kiB 解压后里面文件有一下内容

这些jar包是UiAutomator2的需要用到的jar包

二、开始建工程

打开Android Studio(一下统称AS),File——》new——》new project 如图

出现以下界面

根据自己需求修改参数 ,下一步

下一步

下一步

完成

好啦工程就弄好了 

可以下载到虚拟机看一下是否成功

第三步、配置UiAutomator2环境

首先导入包,将上面的lib.zip文件解压到工程目录下

刷新工程就可以看到

将jar包导入工程 ,选择所有jar包,点击右键,选择add as library

出现小界面,选择App,点击OK

现在就可以成功导入了 

我们可以去工程文件app目录下的build.gradle文件看到

上面就是刚才加入的jar 

现在就可以进行uiautomator2 的测试程序编写了 

为了更好观察和编写,先进行切换显项

这样工程界面就简洁很多了 

我们可以看到上面红框,后缀android test,我们的测试工程就是在这个文件编写的

点击那个路径,右键 new ——》java class

出现创建新的类文件界面,写入名字后可以看到添加了一个

点开uiaut文件,就可以在里面编写工程了 

下面是我写的一个工程

代码如下

/**
* Created by LENOVO on 2016/1/21.
*/
@RunWith(AndroidJUnit4.class)
public class uiaut { UiDevice device;
Instrumentation instrumentation;
@Before
public void setUp(){ instrumentation = InstrumentationRegistry.getInstrumentation();
device = UiDevice.getInstance(instrumentation);
}
@Test
public void testSettext(){
UiObject2 sendMessage = device.findObject(By.res("com.android.mms:id/embedded_text_editor"));
sendMessage.setText("new set text");
sleep(2000);
sendMessage.clear();
sleep(2000);
sendMessage.setText("old set text");
} public void sleep(int mint){
try {
Thread.sleep(mint);
} catch (InterruptedException e) {
e.printStackTrace();
}
} }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34

这样工程就算完成了 

解析来还得要配置,更好的调试,这也是AS强大的地方 

Run——》Edit Configuration

点击+, 选择Android Tests

差不多完成了,还需要配置一个地方

需要在build.gradle文件defaultConfig下,加入这一句

testInstrumentationRunner ="android.support.test.runner.AndroidJUnitRunner"
  • 1

这样就可以啦

先打开虚拟器

启动虚拟器

由于上面的测试工程是向短信输入框输入内容的,所以我先打开短信的发送界面 

一切准备好,那就运行了

可以看设备有变化

uiautomator2.0的配置的两种方法的更多相关文章

  1. Linux系统下安装jdk及环境配置(两种方法)

    https://blog.csdn.net/qq_42815754/article/details/82968464 这里介绍两种linux环境下jdk的安装以及环境配置方法在windows系统安装j ...

  2. SNMP安全配置的两种方法(也可同一时候兼顾配置两种方法)

    方法一(最简单安装): 安装 Net-SNMP CentOS及其他RedHat系列产品提供了net-snmp的二进制包.我们能够直接从源里安装. shell> yum install net-s ...

  3. iframe-父子-兄弟页面相互传值(jq和js两种方法)

    参考文章: http://blog.csdn.net/u013299635/article/details/78773207 http://www.cnblogs.com/xyicheng/archi ...

  4. 配置 yum 源的两种方法

    配置 yum 源的两种方法 由于 redhat的yum在线更新是收费的,如果没有注册的话不能使用,如果要使用,需将redhat的yum卸载后,重启安装,再配置其他源,以下为详细过程:  1.删除red ...

  5. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)

    在大家学习如何利用免费SSL证书配置网站HTTPS之前,我们先要搞清楚为什么要开启HTTPS,这个绿色的小锁真的有用吗?所谓的HTTPS其实是(安全套接字层超文本传输协议)是以安全为目标的HTTP通道 ...

  6. 在vc6.0下编的对话框界面如果没做过其他处理,往往显的很生硬,怎么样才能使他有Windows XP的风格呢,其实也很简单,我们来看看下面两种方法。

    在vc6.0下编的对话框界面如果没做过其他处理,往往显的很生硬,怎么样才能使他有Windows XP的风格呢,其实也很简单,我们来看看下面两种方法.    方法一: 1.首先确认你在Windows   ...

  7. CentOS 7配置静态IP地址的两种方法 来自:互联网

    CentOS 7配置静态IP地址的两种方法 来自:互联网 时间:2021-01-12 阅读:4 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网 ...

  8. WPF程序将DLL嵌入到EXE的两种方法

    WPF程序将DLL嵌入到EXE的两种方法 这一篇可以看作是<Visual Studio 版本转换工具WPF版开源了>的续,关于<Visual Studio 版本转换工具WPF版开源了 ...

  9. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

随机推荐

  1. Linux中chown和chmod的区别和用法

    转载自:http://www.cnblogs.com/EasonJim/p/6525242.html chmod修改第一列内容,chown修改第3.4列内容: chown用法: 用来更改某个目录或文件 ...

  2. Laravel + go-micro + grpc 实践基于 Zipkin 的分布式链路追踪系统 摘自https://mp.weixin.qq.com/s/JkLMNabnYbod-b4syMB3Hw?

    分布式调用链跟踪系统,属于监控系统的一类.系统架构逐步演进时,后期形态往往是一个平台由很多不同的服务.组件构成,用户请求过来后,可能会经过其中多个服务,如图 不过,出问题时往往很难排查,如整个请求变慢 ...

  3. 黄聪:HBuilder左侧项目管理器如何不与标签页一起自动切换

    把这个按钮取消就好了

  4. 【java】之深入理解JVM

    JVM规范定义的标准结构如下: 以上结构是JVM标准规范中定义的,但各厂家在实现时不一定会完全遵守, 1.JVM负责加载class文件并执行,因此,首先要掌握的是JDK如何将Java代码编译成clas ...

  5. 【java】之获取HTTP请求的值常用方法

    logger.info("销帐完成通知回调,请求URL:"+req.getRequestURI().toString()); InputStream in = req.getInp ...

  6. RTMP与HLS压力测试工具安装与配置

    在CentOS 6.5环境中安装依赖软件包,使用git下载最新版本st-load源码包 [root@localhost ~]# yum install git unzip patch gcc gcc- ...

  7. vue请求拦截

    写了很多的vue项目,经常碰到需要做请求拦截的情况,从发请求前的token判断到对返回信息的响应,我自己在不同的阶段是用不同的方式处理的. 入门阶段 记得当时做的第一个项目,是需要在请求头部加入登录是 ...

  8. vue-router配合vue-cli的实例

    前面在说到vue-router的时候,都是用最简单的方式说明用法的,但是在实际项目中可能会有所出入,所以,今天就结合vue脚手架来展示项目中的vue-router的用法. 创建项目 首先需要使用脚手架 ...

  9. 服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)

    Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求. 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生成 ...

  10. spring4.3新注解之:@RequestMapping变种(@GetMapping,@PostMapping,@PutMapping,@DeleteMapping,@PatchMapping)

    Spring 4.3 中引进了下面的注解 @RequestMapping 在方法层级的变种,来帮助简化常用 HTTP 方法的映射,并更好地表达被注解的方法的语义.比如,@GetMapping可以读作 ...