第一,测试使用是Eclipse工具
1.新建Java Project 工程;
2.右点击该工程,选择“Properties" ---“Java Build Path”---"Libraries"
分别导入JUnit ,android.jar,uiautomator.jar这三个库文件;
导入JUnit,要选择"Add Library..."
导入android.jar,uiautomator.jar这i两个库文件点击"Add External JARs...",要选择你sdk-platforms-下面版本号
3.创建类对象,下面测试代码,可以参考一下
package com.test;
import java.io.IOException;
import com.android.uiautomator.core.UiDevice;
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;
import android.os.RemoteException;
public class RunTest extends UiAutomatorTestCase{
public void testDemo() throws UiObjectNotFoundException, RemoteException {
UiDevice device = getUiDevice();
// 唤醒屏幕
device.wakeUp();
assertTrue("screenOn: can't wakeup", device.isScreenOn());
for(int i=0;i<10;i++){
// 回到HOME
device.pressHome();
sleep(2000);
try {
Runtime.getRuntime().exec("am start -n com.android.calculator2/.Calculator");
} catch (IOException e) {
e.printStackTrace();
}
sleep(5000);
UiObject oneButton = new UiObject(new UiSelector().text("1"));
assertTrue("oneButton not found", oneButton.exists());
UiObject plusButton = new UiObject(new UiSelector().text("+"));
assertTrue("plusButton not found", plusButton.exists());
sleep(1000);
UiObject equalButton = new UiObject(new UiSelector().text("="));
assertTrue("equalButton not found", equalButton.exists());
oneButton.click();
sleep(1000);
plusButton.click();
sleep(1000);
oneButton.click();
equalButton.click();
}
}
}
第二,使用CMD adb工具
1.CMD进入\Android-sdk\tools\目录下,运行命令:
android list
刚才选择是“android-20" 对应的ID 号就是为 1;这要看你们sdk 所对应的ID号。
2.生成build文件
\Android-sdk\tools\目录下,运行命令:
android create uitest-project -n <name> -t <android-sdk-ID> -p <path>
比如:
android create uitest-project -n AutoRunner -t 1 -p E:\workspace\AutoTest
3.生成jar
CMD进入项目的工程目录,然后运行ant build,将使用ant编译生成jar,成功将会提示:
然后会在bin目录下生成jar文件。
第三.测试push
adb push <jar文件路径> data/local/tmp
adb shell uiautomator runtest <jar文件名> -c <工程中的类名,包含包名>
比如:
adb push E:\workspace\AutoTest\bin\AutoRunner.jar data/local/tmp
adb shell uiautomator runtest AutoRunner.jar -c com.test.RunTest --nohup
备注 --nohup 防止USB断开连接