CSDN图像看不出来,请到 http://pan.baidu.com/s/1i3eQfop下载
欢迎大家转载,为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver,
Author:李明禄
博客:http://blog.csdn.net/netluoriver
DATE:2014.6.22
目录
3.1.在src中添加包,然后添加class文件。如图所示:
写本文时最新版本为Java SE 8u5,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html#javasejdk
下载时,可以根据自己的需要下载指定JDK版本,这里显示选择的是最新版本,不过在应用中我发现还是用版本6比较好!否则可能会出现异常,如编译ant的时候会出现
BUILD FAILED
E:\tools\adt-bundle-windows-x86_64-20140321\sdk\tools\ant\uibuild.xml:183: Class not found: javac1.8
类似的信息。
ADT 开发工具包含上以上2、3、4三种工具,下载地址http://developer.android.com/sdk/index.html,
安装JDK并添加环境变量。我把JDK安装到d盘了,JAVA_HOME配置如下:
然后在path中添加%JAVA_HOME%\bin;
添加SDK环境变量
并在环境变量path中添加如下路径,因个人放置ADT开发工具的目录不一样,这里只显示我的变量:
E:\tools\adt-bundle-windows-x86_64-20140321\sdk\platform-tools;
E:\tools\adt-bundle-windows-x86_64-20140321\sdk\tools;
E:\tools\adt-bundle-windows-x86_64-20140321\eclipse\plugins\org.apache.ant_1.8.4.v201303080030/bin
用Eclipse新建Java Project,注意,不是Android Project!如图:
接下来,选择Libraries下的Add External JARs找到路径E:\tools\adt-bundle-windows-x86_64-20140321\sdk\platforms\android-19下面的android.jar和uiautomator.jar添加进来
配置完成最终显示如下:
3.1.在src中添加包,然后添加class文件。如图所示:
上面工程路径在E:\study\java_study\Test,类全名为SetLanguage.Runner。
package setLanguage;
import android.os.RemoteException;
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 Runner extends UiAutomatorTestCase {
public void testDemo() throws UiObjectNotFoundException, RemoteException {
getUiDevice().wakeUp();
// Simulate a short press on the HOME button.
getUiDevice().pressHome();
//scrolling find the setting widget
UiScrollable appViews = new UiScrollable(newUiSelector().scrollable(true));
appViews.setAsHorizontalList();
UiObject settingApp;
settingApp = appViews.getChildByText(newUiSelector().className(android.widget.TextView.class.getName()),"设置");
settingApp.click();
//pause 3 second
try {
Thread.sleep(3000);
} catch (InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
//
UiScrollable settingItems = new UiScrollable( newUiSelector().scrollable(true));
UiObject languageAndInputItem = settingItems.getChildByText(
new UiSelector().text("语言和输入法"), "语言和输入法", true);
languageAndInputItem.clickAndWaitForNewWindow();
}
}
因为我们已经配置好了环境变量,在命令行中直接输入命令:
android list
(运行后没有反应,说明没有配置好环境变量,直接进入E:\tools\adt-bundle-windows-x86_64-20140321\sdk\tools下运行命令)
查看API大于15的SDK的ID值,当前是3;
在命令行中运行:
android create uitest-project -n <name> -t <android-sdk-ID> -p <path>
我运行的是:
android create uitest-project -n test -t 3 -p E:\study\java_study\Test
运行后如图:
上面的name就是将来生成的jar包的名字,可以自己定义,android-sdk-ID就是上面看到的3;path是Eclipse新建的工程的路径;运行命令后,在eclipse中选中工程后按F5进行刷新,会生成3个文件,显示如下:如果没生成,检查上面的步骤。
请双击打开build.xml,将default后面的“help”修改为“build”,原来文件显示如下:
修改后显示如下:
然后在build.xml右击,依次选择Debug As---àAnt Build,
如果出现下面的信息说明编译失败,请检查代码或jre版本是否正确:
BUILD FAILED
E:\tools\adt-bundle-windows-x86_64-20140321\sdk\tools\ant\uibuild.xml:183: Class not found: javac1.8
然后会在E:\study\java_study\Test\bin目录下生成jar文件,如图
在命令行中进入E:\study\java_study\Test\bin\目录下并运行:
adb push <jar文件路径> data/local/tmp
adb shell uiautomator runtest <jar文件名> -c <工程中的类名,包含包名>
我的脚本如下:
adb push test.jar data/local/tmp
adb shell uiautomator runtest test.jar -c setLanguage.Runner
然后就能看到神奇的效果,具体效果就是,按下HOME键,横屏滚动查找设置组件,查找到后,进入设置菜单,然后再进入“语言和输入法”菜单
下面是uiautomator 工作流程概述:
1.安装要测试的应用到手机中,分析应用的UI界面元素 并确保被测试应用的各个控件可以被测试工具获取到。
2.创建知道测试案例来模拟应用中的用户操作步骤。
3.编译测试案例代码为Jar包并复制该Jar包到安装了待测应用的测试手机中。
4.运行测试并查看结果
5.修改任何发现的bug,然后修复并重新测试。