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环境搭建的更多相关文章

  1. Android自动化测试之环境搭建

    Android自动化测试之环境搭建 一.Android-sdk介绍 SDK(Software development kit)软件开发工具包.被软件开发工程师用于为特定的软件包.软件框架.硬件平台. ...

  2. 移动端自动化测试Appium环境搭建(part1-2-3)

    Appium移动端自动化测试相信大家都不陌生,appium的铁哥们是selenium,不管是selenium还是appium,都是调用webdriver来做自动化测试.今天关于appium的介绍我们不 ...

  3. android NDK开发环境搭建

    android NDK开发环境搭建 2012-05-14 00:13:58 分类: 嵌入式 基于 Android NDK 的学习之旅-----环境搭建 工欲善其事必先利其器 , 下面介绍下 Eclip ...

  4. Android studio 开发环境搭建

    Android studio 开发环境搭建 一.环境: 下载java jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jd ...

  5. Android入门之环境搭建

    欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/1376935560.html 原创:An ...

  6. android测试开发环境搭建

    本文档针对未接触过android的0基础人员,在开始熟悉android之前,首先需要一个学习环境来支撑,在此简单介绍一下android环境搭建.(当然大家也可以百度.谷歌,类似的文档很多) 环境搭建: ...

  7. Android Studio Jni 环境搭建

    第一步:NDK环境搭建,点击下图红色框区域查看NDK下载和环境配置 安照正常情况是很慢的或者无法下载成功的,这个时候可以去下载NDK压缩包进行解压.下面给出两个下载地址 (1)官网:http://we ...

  8. Android开发开始--环境搭建

    一.搭建Android开发环境 1.JDK (Java Development Kit) 2.Eclipse 3.Android SDK (Software Development Kit) 4.AD ...

  9. 转--Android资源总结(环境搭建/ 反编译工具)

    在Android发展前景相当好的情况下,本人最近搜集了一些关于Android的相关资源,当然包含以前发布的博客内容,进行了一次大整合,希望对和我一样是Android的初学者管用,如在文章中有所错误,敬 ...

随机推荐

  1. linux内核分析第三周-跟踪分析Linux内核的启动过程

    一.实验流程 1.打开环境 执行命令:cd LinuxKernel/ 执行命令:qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd root ...

  2. 20145204《java程序设计》课程总结

    ---恢复内容开始--- 20145204<java程序设计>课程总结 每周读书笔记链接汇总: · 20145204<java程序设计>第一周总结 · 20145204< ...

  3. 20145221 《Java程序设计》第八周学习总结

    20145221 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章部分 - 通用API 通用API 日志: 日志对信息安全意义重大,审计.取证.入侵检测等都会用到日志信息 日 ...

  4. 《Java程序设计》第三章-基础语法

    20145221<Java程序设计>第三章-基础语法 总结 教材学习内容总结 类型.变量与运算符 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Typ ...

  5. CPA定律——一致性,可用性和分区容错性

    按照美国著名科学家 Eric Brewer 在 2000 年提出的理论,当技术架构从集中式架构向分布式架构演进,会遇到 “CAP 定律”的瓶颈. CAP 说明一个数据处理系统不能同时满足一致性,可用性 ...

  6. Ubuntu16.04 远程访问RabbitMQ

    我们在虚拟机里面安装好RabbitMQ以后,虽然可以在虚拟机中访问,但是在主机端并不能访问 现在要解决这个问题 第一:账户 RabbitMQ为了安全性考虑,默认的guest账户只能在本地127.0.0 ...

  7. Java8 Lambda

    Demo: package com.qhong; public class Main { public static void main(String[] args) throws Exception ...

  8. js二进制转换十进制

    var a = 1010;alert(a.toString(2)); //转成二进制 alert(parseInt( "101110100 ",2)) ;//转成十进制 null

  9. 往前端打smarty数据

    $data['hot_issue']=$hotIssue; var_dump($data);

  10. Leetcode 51

    //看了一次解析后,一次AC,用一个pos记录行列.class Solution { public: vector<vector<string>> solveNQueens(i ...