文档章节

Uiautomator_Eclispe_Build_Run_plugins 插件安装和配置指南

一个游戏8
 一个游戏8
发布于 2016/07/13 18:28
字数 1150
阅读 44
收藏 0

Uiautomator_Eclispe_Build_Run_plugins 插件安装和配置指南

  • Uiautomator自动化框架的缺点是编译和运行起来非常麻烦,需要手动执行CMD指令
  • 这个插件主要是为了解决Uiautomator框架编译和运行
  • Uiautomator_Eclispe_Build_Run_plugins 是一个在Eclipse的插件
  • 只用点击一下就用来编译和运行自动框架(Uiautomator)的插件

示例

如何使用Uiautomator_Eclispe_Build_Run_plugins 插件。

1. 配置编译环境

配置JAVA环境变量

请先安装JDK。然后将JDK路径配置到环境变量里面。(如何配置JAVA环境变量这里就不述说了)

例如:

D:\java\jdk1.7.0_79\bin  

D:\java\jdk1.7.0_79\jre

请一定在环境变量 PATH上添加这两个路径。

配置完成后请验证一下JAVA环境变量是否配置成功如下图:打开CMD.exe 输入 java -verison

java

出现上面的界面代表JAVA环境变量配置成功

配置Android sdk环境变量

例如:

D:\devtools\android-sdk-windows\platform-tools

D:\devtools\android-sdk-windows\tools

这个两个路径 请添加到环境变量Path下 在验证一下android sdk环境变量是否验证成功

打开CMD.exe

输入adb

输入android -version 显示如下图所示则配置Android Sdk环境成功

android

android

配置Ant 环境变量

请先下载Ant

例如

D:\tools\apache-ant-1.9.5\bin

这个路径请添加到环境变量PATH路径下然后验证Ant环境变量是否成功

ant

到了这里我们的环境配置就完成了。

2.如何使用这个插件.

例如现在我们有一个APK,它有一个BUG,当你点击按钮总共100次后就会发生崩溃.

那么我们复现这个BUG的时候,我们就可以去手动点击100次按钮

但是这么做效率太低了(而且实际的复杂的BUG也不可能这么简单复现出来.)

我们完全可以使用自动化达到点击按钮100次的效果.

介绍
  • Uiautomator这个自动化框架,可以做黑盒测试,不需要APK的源码。

  • 它可以根据文本信息定位到控件,也可以通过资源ID定位到控件(网上有一种说法是Uiautomator不能使用资源ID定位控件是错误的)

  1. 首先拷贝插件com.no.uiautomator_1.0.0.1.jar到Eclipse目录下的plugins目录,如下图:

JAVA

javaProject 然后打开Eclispe

  1. 然后我们新建一个JAVA工程文件。如下图

javaProject

然后选中工程右键弹出工程配置项

pro

我们选择编码模式为UTF-8 点击Apply,为什么选择UTF-8是因为:

如果不选择UTF-8,当你使用UiObject uiObject = new UiObject(new UiSelector().text("第二个按钮"))去匹配控件的时候,你就一直找不到这个中文的控件。

如下图

javaProject

  • 添加JUnit 4测试库

然后我们选择JAVA Build Path 再选择Libraries-> 再选择Add Library->JUnit->Next->JUnit 4->finish 如下图所示:

junit

  • 添加android.jar和uiautomator.jar库到工程

点击Add External JARs:

Add

选择你的Android SDK目录下的platforms文件夹,

请选择android目录也可以选择其他的,请记住你选择的android-xx文件是多少。比如我选择的就是23。如下图

junit

那么这个时候我们配置库就完成了:配置完成如下图:

junit

好了这个时候我们就可以编写代码了

编写Uiautomator代码

我们新建一个类叫类名叫Test,包名叫com.test.uiautomator。如下图

junit

设置Uiautomator 的Id(这个不用每次都设置,只要设置一次就可以了,刚刚我们选择的是android-23,)

打开CMD.exe 输入android list 可以看到有很多ID如下图

junit

然后找到刚才我们选择的android-23的地方看下这个它的ID是多少

junit

如上图我的android-23 的 id 是 11(请注意每个人的id可能一样,请一定要注意这个问题)

右键点击Test.java类,然后点击Setting Uiautomator junit

然后在弹出的对话框中输入11 点击确定

junit

然后我们编写Test的代码如下

package com.test.uiautomator;

import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class Test extends UiAutomatorTestCase {

	public void testclick() {
		UiObject uiObject = new UiObject(new UiSelector().text("FirstButton"));
		for (int i = 0; i < 100; i++) {
			try {
				uiObject.click();
			} catch (UiObjectNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}

然后安装测试的APK Uiautomator.apk

用USB连接你的手机, 然后右键点击Test.java

junit

github目录介绍

junit

github目录:https://github.com/jikun2008/Uiautomator_Eclispe_Build_Run_plugins

我觉得我写的这篇文章配置Uiautomator的Eclipse编译插件过于复杂,我想以后更新一个视频来教大家使用这个插件 谢谢大家

© 著作权归作者所有

一个游戏8
粉丝 8
博文 57
码字总数 20905
作品 0
成都
程序员
私信 提问
再也不怕重装eclipse! 让你的eclipse插件只下载一次

Eclipse用久了,难免来点头疼脑热,这时重重装升升级,都是难免的。 然而,这是一件非常痛苦的事情: 1. 你还记得每一个插件的名字吗? 2. 你要去找它们的update site 3. 国外网速慢,等死人...

鉴客
2012/04/17
8.8K
13
hadoop(05)、使用Eclipse连接远程Hadoop集群

在前面的文中我们分别搭建了单机和集群的Hadoop环境,今天我们将实践使用Eclispe开发工具安装 hadoop的开发插件,并且使用hadoop插件连接Hadoop远程集群,文中有什么不对的地方,请大家指出来...

MaxBill
2017/12/22
472
0
Eclipse安装插件安装方式(以SVN插件安装为例)

虽然开发java的软件有许多,但是在实际开发过程中,使用eclipse来开发的人数还是比较多的。在本节中,讲述eclispe的下载使用以及其插件的安装。 第一:工具准备 1.eclispe的下载,官网地址(...

卐字旗下的余晖
2014/01/27
8.3K
0
Eclipse的查件link外联方法

eclispe想必大家都很熟悉了,一般来说,eclipse插件都是安装在plugins目录下。不过这样一来,当安装了许多插件之后,eclipse变的很大,最主要的是不便于更新和管理众多插件。用links方式安装...

乔三爷
2014/01/27
70
0
maven做热部署

1、配置远程服务器上的tomcat;打开conf/tomcat-users.xml,追加以下内容: 2、eclipse安装maven插件; 3、修改项目的pom.xml文件,修改内容如下: 4、执行maven命令做热部署: 项目上右击 ...

Zero零_度
2016/04/22
36
0

没有更多内容

加载失败,请刷新页面

加载更多

Java注解合并,注解继承

spring中有时候一个类上面标记很多注解。 实际上Java注解可以进行继承(也就是把多个注解合并成1个) 比如说SpringMVC的注解 @RestController@RequestMapping("/person") 可以合并为一个 @P...

物种起源-达尔文
25分钟前
4
0
撤消Git中一个文件的工作副本修改?

在最后一次提交之后,我修改了工作副本中的一堆文件,但是我想撤消对这些文件之一的更改,例如将其重置为与最新提交相同的状态。 但是,我只想撤消仅一个文件的工作副本更改,而没有其他操作...

技术盛宴
今天
4
0
Qt编写气体安全管理系统28-模拟工具

一、前言 模拟工具在一些涉及到硬件通信的程序中特别有用,也特别需要,回顾这十年来做过的项目,95%的项目都是软硬件交互的,貌似软硬件结合的项目更有生命力一些,纯软件的或者纯硬件的,并...

飞扬青云
今天
4
0
关于生活方式

生活就是生活,但难免和工作混在一起,所以要建立自己的生活方式,把工作稍微隔开点。 首先呢,每周放假的两天肯定会: 洗衣服,收拾屋子,列计划是必须要做的事情。 (这里可能还包含一些处...

T型人才追梦者
今天
6
0
JVM

一、JVM一些基本概念 1、JVM和普通虚拟机 JVM:Java Virtual Machine,程序自己独立的运行环境;堆栈、寄存器、字节码指令;可以运行多种语言:Java、Scala、Grovvy; 普通虚拟机:能完整提供...

请把小熊还给我_m
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部