转自
http://blog.csdn.net/robinzhou/article/details/8447058
要写UIAutomator的testcase,首先要用Eclipse创建一个Java Project
需要将Junit 的lib加入到工程里
还要添加android.jar和uiautomator.jar,这两个文件在android sdk中,没有升级SDK的朋友,建议升级到最新的SDK,因为uiautomator还有些不完善,在老的SDK上有些功能还不能用
创建好工程后,就可以写case了,我们使用官方帮助中的例子,为了简单,采用官网上的例子,并且精简至一个home命令,方便大家把流程先跑起来
http://developer.android.com/tools/testing/testing_ui.html
// Import the uiautomator libraries package com.uia.example.my; import com.android.uiautomator.core.UiObject; import com.android.uiautomator.core.UiObjectNotFoundException; import com.android.uiautomator.core.UiScrollable; import com.android.uiautomator.core.UiSelector; import com.android.uiautomator.testrunner.UiAutomatorTestCase; public class test extends UiAutomatorTestCase { public void testDemo() throws UiObjectNotFoundException { // Simulate a short press on the HOME button. getUiDevice().pressHome(); } }
创建一个编译配置文件
<android-sdk>/tools/android create uitest-project -n <name> -t 1 -p <path>
说明一下各个参数的作用,如果已经将android sdk的路径配置到了系统的path中,输入命令“android create uitest-project”就可以查看到相应的帮助
-n --name : Project name. 就是在eclipse中创建的项目的名字。
-t --target : Target ID of the new project. [required] 这个id是本机上android targets的id,可以通过命令 “android list”来查询,得到如下图的结果,选择android-17以上版本前面所对应的id
根据我电脑的情况我的命令是这样的
D:\work\android-sdk\tools>android create uitest-project -n UiAutomator -t 6 -p D:\work\eclipse\workshop\UiAutomator
创建成功的输出如下
从eclipse中可以看到有3个新增加的文件
在build.xml上点击右键,选择“Run As” -> "Ant Build",可以看到下面的输出,这个输出实际上是一个帮助,是对build.xml的作用进行说明的。在build.xml中配置上相应的选项可以完成相应的操作。
在build.xml的配置上,将default后面的选项改为"build"后,就可以build jar包了。
同样执行Run As操作,就可以build 成功了。目标文件声称在工程目录下的bin文件夹下。
剩下的操作就和官方网站上一样了。将jar push到手机中,然后执行就可以了
adb push UiAutomator.jar /data/local/tmp/
adb shell uiautomator runtest UiAutomator.jar -c com.uia.example.my.test
相关推荐
6. **Eclipse Java工程初始化**:创建Java工程,并将SDK中的`uiautomator.jar`、`android.jar`及JUnit3的jar文件添加至工程的classpath。 二、测试原理 UiAutomator基于Java,利用`AccessibilityService`运行在...
### UiAutomator学习笔记 #### 一、UiAutomator环境配置与编译运行 ##### 1-1 配置编写环境 在开始使用UiAutomator进行自动化测试之前,需要先配置好开发环境。通常,这涉及到IDE的选择以及必要的库文件添加。 1...
在Eclipse中创建一个新的Java项目,而不是Android项目。这样可以更好地管理测试脚本,并避免与Android项目的混淆。 - **创建步骤**:在Eclipse中选择“File”>“New”>“Java Project”,按照提示完成项目创建。 #...
在工程中添加Android库,需要选择Libraries下的AddExternalJARs选项,并从SDK的platforms/android-19目录中找到android.jar和uiautomator.jar,并添加到工程中。 ##### 2.3 添加JUnit库 JUnit是一个Java语言的单元...
- 通过源码,我们可以学习如何创建和执行基于UiAutomator的测试用例,例如使用`UiObject`的`click()`方法模拟点击,`scroll()`方法进行滑动等。 - 探索如何通过`UiSelector`选择器精准定位UI元素,以及如何处理...
Uiautomator是一种用于自动化用户界面测试的强大工具,主要用于Android设备。本文将详细介绍如何使用Uiautomator建立自动化测试项目,并且指导如何运行这些测试。 #### 1. 建立Java项目 - **选择File-New-Java...
UIautomator是Android平台上的一个测试框架,用于进行UI自动化测试,而CTS(Compatibility Test Suite)是Google提供的兼容性测试工具,用于确保应用在不同设备上的一致性。 一、CTS下载配置 1. **下载CTS**: 可以...
使用`android create uitest-project`命令创建一个UI测试项目: ``` android create uitest-project -n demo -t 1 -p <工程路径> ``` - `-n`: 指定生成的jar包名称(例如:`demo`)。 - `-t`: 当前SDK版本编号...
2. 创建测试类:在测试源代码目录下创建一个继承自`androidx.test.ext.junit.runners.AndroidJUnit4`的测试类,并使用`@RunWith`注解指定运行器。 3. 定义测试方法:在测试类中,定义一个或多个测试方法,每个方法...
综上所述,创建一个微信红包自动点击工具涉及到Android的多个技术领域,包括UI自动化、无障碍服务、事件监听、版本兼容性处理以及性能优化。这样的工具不仅考验了开发者的技术能力,还体现了对用户体验和安全性的...
2. **创建测试类**:在测试工程中创建一个新的JUnit4测试类,继承自`RobolectricTestRunner`或`ActivityInstrumentationTestCase2`。然后,在测试类中引入Robotium的相关类,如Solo。 3. **初始化Solo对象**:在...
Appium在移动设备上通过封装和适配Apple的UIAutomation库(对于iOS平台)和Android的UIAutomator框架(对于Android平台),并在此基础上支持了较老的Android版本通过Selendroid框架。 Appium支持client-server模型...
1. 安装和配置:首先在本地环境安装Appium服务器,然后根据目标应用的平台选择相应的驱动(如iOS的XCUITest或Android的UiAutomator2)。 2. 创建测试脚本:使用编程语言编写测试脚本,定义操作如点击按钮、滑动屏幕...
在Android开发领域,确保...实践这些测试技术将有助于你创建出更加稳定、可靠的Android应用,同时减少因为视觉错误而产生的用户反馈。所以,无论你是经验丰富的开发者还是初学者,这个项目都将是你技能树上的宝贵一环。
2. **UIAutomator**:这是Android官方提供的自动化测试框架,支持各种Android设备和事件操作。 3. **Monkey/Monkey Runner**:前者是Android自带的简单测试工具,后者则是前者的一个增强版本,允许用户自定义测试...
驱动程序是Appium与特定操作系统交互的部分,例如iOS的XCUITest或Android的UiAutomator2。服务器则负责接收和处理测试命令,通过驱动程序将这些命令转化为对目标应用的操作。测试脚本发送HTTP请求到Appium服务器,...
Androguard是一款强大的开源工具,专用于对Android应用程序进行逆向工程、动态分析和安全审计。其最新版本3.2.1提供了丰富的API,使得开发者和安全研究人员能够深入理解APK文件的内部结构和行为。在本文中,我们将...
Appium 使用 JSONWireProtocol 与设备上的 WebDriver 客户端进行交互,这个客户端可以是 UIAutomation(iOS)或 UiAutomator(Android)。 2. **Java 作为测试脚本语言** 在“Appium-testing-Apps”项目中,我们...