Android自动化测试-UiAutomator2环境搭建
Android自动化测试-UiAutomator环境搭建(QQ交流群:490451176)
一、环境准备
1. 安装android sdk,并配置环境变量
2. 安装android studio,国内访问官网受限,如果下载不到,可以到我的百度云盘下载:
https://pan.baidu.com/s/1bpq5wK3
此云盘中有uiautomator2所依赖的jar包,可以同时下载

二、新建Android Studio工程

新建一个project,输入application name,下一步,

默认选择,下一步,

选择 empty activity:

最后finish之后,切换到project视图;

右击工程,新建一个libs,并把网盘中下载的uiautomator依赖的jar包,copy进来,并添加依赖,

Add As Library之后,会弹出一个小框,选择app,点击OK

这样我们的工程就建好了,左上角,把我们的project模式切换成android模式,

现在android视图模式下,界面就比较简洁直观了,如下图所示:标注android test的地方,就是我们要写测试用例的包,

新家一个java class,输入class name,现在我们就可以开开心心的写测试代码了
三、测试实例
下面我们写一个例子,启动模拟器,模拟器home上有个chrome浏览器,操作步骤:点击chrome-输入www.baidu.com-enter;
点击android studio上的 AVD manager,就可以启动模拟器,模拟器界面如下:


测试用例:
1. 点击chrome
2. 输入www.baidu.com
3. Enter
代码如下:


写好测试用例之后,我们就可以运行了,在运行之前,我们先看下运行配置:

在配置文件中,一定要有如下一行代码,如果没有,可以自己加上:
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
现在就可以运行了,打开你的模拟器,看下界面有什么效果:

完整代码如下:
import android.app.Instrumentation;
import android.support.test.InstrumentationRegistry;
import android.support.test.runner.AndroidJUnit4;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.support.test.uiautomator.UiSelector;
import android.view.KeyEvent; import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith; /**
* Created by tianxing on 2017/8/15.
*/ @RunWith(AndroidJUnit4.class)
public class helloworld { UiDevice uiDevice;
Instrumentation instrumentation; @Before
public void setUp(){
instrumentation = InstrumentationRegistry.getInstrumentation();
uiDevice = UiDevice.getInstance(instrumentation);
} @Test
public void launchChrome(){
UiObject chrome = uiDevice.findObject(new UiSelector().text("Chrome"));
UiObject searchContent = uiDevice.findObject(new UiSelector().text("Search or type URL")); try {
chrome.click();
sleep(2000);
searchContent.setText("www.baidu.com");
uiDevice.pressKeyCode(KeyEvent.KEYCODE_ENTER);
} catch (UiObjectNotFoundException e) {
e.printStackTrace();
} } public void sleep(int mint){
try{
Thread.sleep(mint);
}catch (InterruptedException e){
e.printStackTrace();
}
} }
Android自动化测试-UiAutomator2环境搭建的更多相关文章
- Android自动化测试之环境搭建
Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...
- 移动端自动化测试Appium环境搭建(part1-2-3)
Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...
- android NDK开发环境搭建
android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...
- Android studio 开发环境搭建
Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...
- Android入门之环境搭建
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...
- android测试开发环境搭建
本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...
- Android Studio Jni 环境搭建
第一步:NDK环境搭建,点击下图红色框区域查看NDK下载和环境配置 安照正常情况是很慢的或者无法下载成功的,这个时候可以去下载NDK压缩包进行解压.下面给出两个下载地址 (1)官网:http://we ...
- Android开发开始--环境搭建
一.搭建Android开发环境 1.JDK (Java Development Kit) 2.Eclipse 3.Android SDK (Software Development Kit) 4.AD ...
- 转--Android资源总结(环境搭建/ 反编译工具)
在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一次大整合,希望对和我一样是Android的初学者管用,如在文章中有所错误,敬 ...
随机推荐
- Linux学习笔记之Linux计划任务Crontab
0x00 cron 简介 cron 是 UNIX, SOLARIS,LINUX 下的一个十分有用的工具.通过 cron 脚本能使计划任务定期地在系统后台自动运行. 0x01 cron 命令 cront ...
- Java判断字符串是否符合yyyyMMdd日期格式
Java判断字符串是否符合yyyyMMdd日期格式 代码: /** * 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串 * */ public static boolean isVali ...
- 解决数据库里表字段带下划线,实体类转小驼峰,Mapper的映射问题
mybatis中mapUnderscoreToCamelCase的使用 mybatis-config.xml配置: <?xml version="1.0" encoding= ...
- 百度语音识别vs科大讯飞语音识别
一.结果 从笔者试验的结果来看,科大讯飞的语音识别技术远超百度语音识别 二.横向对比 科大讯飞语音识别 百度语音识别 费用 各功能的前5小时免费 全程免费 转换精准率 非常高 比较低 linux ...
- 【定义及安装】Ambari——大数据平台的搭建利器
Ambari 是什么 Ambari 跟 Hadoop 等开源软件一样,也是 Apache Software Foundation 中的一个项目,并且是顶级项目.目前最新的发布版本是 2.0.1,未来不 ...
- 谈谈java中对象的深拷贝与浅拷贝
知识点:java中关于Object.clone方法,对象的深拷贝与浅拷贝 引言: 在一些场景中,我们需要获取到一个对象的拷贝,这时候就可以用java中的Object.clone方法进行对象的复制,得到 ...
- 图像添加logo水印函数
<?php //图像添加水印函数 /** *为一张图片添加上一个logo水印(以保存新图片的方式实现) *@param string $picname 被缩放的处理图片源 *@param int ...
- Combobox绑定泛型字典时提示“复杂的 DataBinding 接受 IList 或 IListSource 作为数据源”的解决方法
一般情况下我们会将 DataTable 或 DataView 绑定到 Combobox 控件上,这时候进行数据绑定是没有问题的,因为DataTable 和 DataView 都继承了 IList 接口 ...
- c++ 判断容器是否为空
#include <iostream> #include <vector> #include <string> using namespace std; int m ...
- python 字符串压缩
import zlib s = b'witch which has which witches wrist watch' print(len(s)) t = zlib.compress(s) prin ...