引言
随着移动互联网的发展,各家公司的app业务的趋于程序,工程项目功能也不断扩大,随之而来的即是bug和缺陷的问题,而人工的黑盒测试,往往会有很多的遗漏,测试的代码覆盖率也很难保证,这是就需要引入自动化测试。这里使用Google的UiAutomator框架来做自动化。
测试工程的创建
- 环境是Eclipse,创建一个UiAutomatorTest的Java工程,同时找到Android SDK/platform/android-18/目录下:android.jar、uiautomator.jar文件。通过Eclipse的build path将两个jar包导入进去。
- 创建一个类UiAutomatorTest.java,让它继承至UiAutomatorTestCase类。编写一个简单的测试用例:
public UiAutomatorTest extends UiAutomatorTestCase {
// 模拟一个点击手机home键的操作
public void testPressHome() {
ressHome();
}
private void pressHome() {
UiDevice.getInstance().pressHome();
}
}
测试用例编写好了,下面来做用例的编译脚本的生成和编译。
生成编译脚本和执行编译
- 生成编译脚本
将目录切换到sdk\tools目录下。 CMD中输入命令:
android create uitest-project -n UiAuto -t 13 -p E:\Project\workspace\UiAutomatorTest
其中UiAuto是 测试用例Java工程编译生成的jar包名字, -t后的 13是指安卓的平台id,就是上面加入的android.jar的平台版本我这里是android-18的,可以通过命令:android list target来找到android-18对应的id是 13,-p 后面的是测试用例工程的目录路径。
- 编译生成的脚步文件
利用Ant来编译,将cmd切换到测试用例工程目录下,执行:ant build。提示“BUILD SUCCESSFUL”表示编译成功,编译好的UiAuto.jar文件存放在测试用例工程的bin目录下:UiAutomatorTest\bin。
上传生成的测试用例jar包到测试的手机上
通过命令: adb push bin\UiAuto.jar /data/local/tmp
/data/local/tmp这个文件夹是拥有临时权限的。
执行测试用例
通过命令:
adb shell uiautomator runtest UiAuto.jar -c com.my.uiautomator.test.UiAutimatorTest#testPressHome
网友评论