Android UI Testing (一) --- 环境配置

环境准备:

新版Android SDK提供2个工具用以UI的自动化:
uiautomatorviewer : 对应用程序中组件用来扫描识别UI上面的控件
uiautomator :JAVA类库,包含一些自定义的UI功能测试,用以自动化和跑test case的引擎。
这两个工具只在Android SDK Tools, Revision 21 or higher和Android SDK Platform, API 16 or higher才有。
下载并加压SDK到非中文、较短的路径中-双击SDK Manager.exe创建虚拟机或者使用USB连接实际的device来做自动化(android版本在4.1以上),且要在开发模式下把USB Debugging打开。
当AVD创建好,或者设备通过USB连接到电脑后,可以以下命令检查设备的id
<android-sdk>\platform-tools>adb devices

步骤:
1. 安装JDK并配置环境变量(版本>1.6.0)

2. 下载安装Android SDK

注:SDK(版本>21),platform-tools(版本>16)(查看platform-tools版本:D:\android-sdk\sdk\platforms

3. 下载安装Android 4.2 (API17)(注:只有Android 4.1.2(API 16)以上才支持uiautomator)
4. 设置ANDROID_HOME环境变量-(新建ANDROID_HOME  值:D:\android-sdk\sdk)如下图:

5. 下载ant并设置ant的环境变量
Windows下ANT用到的环境变量主要有2个,ANT_HOME 、PATH。
环境变量配置:
1). ANT_HOME = D:\apache-ant-1.9.2

 

2). 将%ANT_HOME%\bin;%ANT_HOME%\lib添加到环境变量的path中

3). cmd窗口输入ant –version,验证ant是否安装配置成功

6. Libraries下导入文件、类库

1).打开EclipseFile->new->Java Project(如命名为:test
2).
点击Java Project->Properties->Java Build Path->Libraries
 
   Add External JARs... - android-sdk\platform\android-xx里面的android.jaruiautomator.jar添加进来

3).Add Library... - 添加JUnit - JUnit3类库


7.
src里添加目录src/com/uia/example/my

1).Src->new-package   (例:命名为com.uia.example.my)

8. 在my下添加一个JUnit Test Case(例:命名为LaunchSettings)
Src->new->other->Java->Junit-Junit Test Case

9. 复制以下代码到testcase,保存:

package com.uia.example.my;

import android.widget.ListView;

import android.widget.Switch;

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 LaunchSettings extends UiAutomatorTestCase {

    public void testDemo() throws UiObjectNotFoundException {  

       getUiDevice().pressMenu();//点击 Menu 按钮..

      

UiObject settingApp1 = new UiObject(new UiSelector().text(“System settings”)); 

        settingApp1.click();//点击System settings

 

        getUiDevice().pressHome();//点击 HOME 按钮..(执行成功)

        //getUiDevice().pressBack();//(执行成功)

        getUiDevice().pressMenu();

        UiObject settingApp2 = new UiObject(new UiSelector().text(“Manage apps”)); 

        settingApp2.click();//点击应用程序管理

               

try { 

            Thread.sleep(3000); //加等待时间(3s

        } catch (InterruptedException e1) { 

            // TODO Auto-generated catch block 

            e1.printStackTrace(); 

       

      

        getUiDevice().pressBack();//点击返回按钮(未执行-加等待时间执行Ok)  

} 

}

 

10. 运行cmd命令,建build.xml
1). cd D:\android-sdk\sdk\tools
2). - <android-sdk>/tools> android create uitest-project -n <name> -t 1 -p <path> (<name>是Java project名,-t 后面的数字是设备target id,用命令android.bat list targets查看, <path>是项目所在目录---依据个人情况而定)

我的命令:
 android create uitest-project -n test -t android-18 -p D:\workspace\test


新建build.xml成功后会看到:

 

11. 切换到项目所在目录(build.xml文件所在目录),运行命令:ant build
  完成后会在/bin下生成一个 .jar文件
cmd 命令:
1). cmd 到路径d:\work\workspace\test 下
2).输入命令ant build 回车


12. 使用adb push命令,把test case(LaunchSettings.jar)上传到被测试设备上
  - <android-sdk>\platform-tools>adb push <path_to_output_jar> /data/local/tmp/         (<path_to_output_jar>:jar的文件目录)
cd D:\android-sdk\sdk\tools
adb push D:\workspace\test\bin\test.jar /data/local/tmp/

(红字体部分是步骤11在bin下生成的)

 

13. 最后,运行命令,case就会在设备上跑起来了。
  - <android-sdk>\platform-tools>adb shell uiautomator runtest LaunchSettings.jar -c com.uia.example.my.LaunchSettings
cd D:\android-sdk\sdk\platform-tools
adb shell uiautomator runtest test.jar -c com.uia.example.my.LaunchSettings

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值