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 常用命令总结(二)
1. linux下以指定的编码打开文件:LANG=zh_CN vi fileName 2. 查看系统内存使用,可以使用free -m 或 top 3. 使用env查看所有环境变量 4. df –h 查 ...
- P1136 迎接仪式
P1136 迎接仪式 $O(n^{2}k)$:$f[i][k]$表示到第$i$个字符为止,交换$k$次,得到的最多子串数 那么枚举位置$j$,状态可以从$f[j][k-1]+1$转移过来 $O(nk^ ...
- iptables命令、规则、参数详解
表 (table)包含4个表:4个表的优先级由高到低:raw-->mangle-->nat-->filterraw---RAW表只使用在PREROUTING链和OUTPUT链上 ...
- 对OpenCV中3种乘法操作的理解掌握
参考了<Opencv中Mat矩阵相乘——点乘.dot.mul运算详解 >“http://blog.csdn.net/dcrmg/article/details/52404580”的相关内容 ...
- 使用ShellExecute打开目标文件所在文件夹并选中目标文件
转载:http://blog.csdn.net/chenlycly/article/details/7366364 转载:http://bbs.csdn.net/topics/50440550 She ...
- java中static关键字的使用
知识点:java中,static关键字修饰类的变量.方法.代码块.内部类 场景:我们在创建类的方法和变量时,如果这个类在创建多个对象时,共用同一个属性或者方法,就可以使用static关键字修饰,因为s ...
- python2.7和python3.6共存,使用pip安装第三方库
因为一般情况下,window命令行运行pip,默认的情况是运行python3.6的pip,安装第三方库的路径也是python3.6,安装路径是: 如何运行在2.7环境下安装PIP呢?有网上的教程说需要 ...
- JavaScript里Math对象的ceil()、floor()、round()方法的区别
ceil(x) 官方含义:对一个数进行上舍入.理解:ceiling为天花板的意思,意译为向上取整.即取得大于于等于x的最大整数. floor(x) 官方含义:对一个数进行下舍入.理解:floor为地板 ...
- zookeeper和Eureka对CAP理论的支持
著名的CAP理论指出,一个分布式系统不可能同时满足C(一致性).A(可用性)和P(分区容错性).由于分区容错性在是分布式系统中必须要保证的,因此我们只能在A和C之间进行权衡.在此Zookeeper保证 ...
- Android之shape与selector实现圆角
shape和selector是Android UI设计中经常用到的,比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到shape和selector.可以这样说,shape和 ...