- 现在编译Uiautomator可以使用androidStudio
- 我这个Eclipse插件的方式跟AndroidStudio比已经没有任何优势了。
- 请使用androidStudio来编译Uiautomator
- Uiautomator自动化框架的缺点是编译和运行起来非常麻烦,需要手动执行CMD指令
- 这个插件主要是为了解决Uiautomator框架编译和运行
- Uiautomator_Eclispe_Build_Run_plugins 是一个在Eclipse的插件
- 只用点击一下就用来编译和运行自动框架(Uiautomator)的插件
请先安装JDK。然后将JDK路径配置到环境变量里面。(如何配置JAVA环境变量这里就不述说了)
例如:
D:\java\jdk1.7.0_79\bin
D:\java\jdk1.7.0_79\jre
请一定在环境变量 PATH上添加这两个路径。
配置完成后请验证一下JAVA环境变量是否配置成功如下图:打开CMD.exe 输入 java -verison
出现上面的界面代表JAVA环境变量配置成功
例如:
D:\devtools\android-sdk-windows\platform-tools
D:\devtools\android-sdk-windows\tools
这个两个路径 请添加到环境变量Path下 在验证一下android sdk环境变量是否验证成功
打开CMD.exe
输入adb
输入android -version 显示如下图所示则配置Android Sdk环境成功
请先下载Ant
例如
D:\tools\apache-ant-1.9.5\bin
这个路径请添加到环境变量PATH路径下然后验证Ant环境变量是否成功
到了这里我们的环境配置就完成了。
例如现在我们有一个APK,它有一个BUG,当你点击按钮总共100次后就会发生崩溃.
那么我们复现这个BUG的时候,我们就可以去手动点击100次按钮
但是这么做效率太低了(而且实际的复杂的BUG也不可能这么简单复现出来.)
我们完全可以使用自动化达到点击按钮100次的效果.
-
Uiautomator这个自动化框架,可以做黑盒测试,不需要APK的源码。
-
它可以根据文本信息定位到控件,也可以通过资源ID定位到控件(网上有一种说法是Uiautomator不能使用资源ID定位控件是错误的)
- 首先拷贝插件com.no.uiautomator_1.0.0.1.jar到Eclipse目录下的plugins目录,如下图:
- 然后我们新建一个JAVA工程文件。如下图
然后选中工程右键弹出工程配置项
我们选择编码模式为UTF-8 点击Apply,为什么选择UTF-8是因为:
如果不选择UTF-8,当你使用UiObject uiObject = new UiObject(new UiSelector().text("第二个按钮"))去匹配控件的时候,你就一直找不到这个中文的控件。
如下图
- 添加JUnit 4测试库
然后我们选择JAVA Build Path 再选择Libraries-> 再选择Add Library->JUnit->Next->JUnit 4->finish 如下图所示:
- 添加android.jar和uiautomator.jar库到工程
点击Add External JARs:
选择你的Android SDK目录下的platforms文件夹,
请选择android目录也可以选择其他的,请记住你选择的android-xx文件是多少。比如我选择的就是23。如下图
那么这个时候我们配置库就完成了:配置完成如下图:
好了这个时候我们就可以编写代码了
我们新建一个类叫类名叫Test,包名叫com.test.uiautomator。如下图
打开CMD.exe 输入android list 可以看到有很多ID如下图
然后找到刚才我们选择的android-23的地方看下这个它的ID是多少
如上图我的android-23 的 id 是 11(请注意每个人的id可能一样,请一定要注意这个问题)
右键点击Test.java类,然后点击Setting Uiautomator
然后在弹出的对话框中输入11 点击确定
然后我们编写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
github目录介绍
github目录:https://github.com/jikun2008/Uiautomator_Eclispe_Build_Run_plugins
我觉得我写的这篇文章配置Uiautomator的Eclipse编译插件过于复杂,我想以后更新一个视频来教大家使用这个插件