超详细搭建UIautomator环境

来源:互联网 发布:win10远程桌面连接软件 编辑:程序博客网 时间:2024/06/05 14:36

CSDN图像看不出来,请到 http://pan.baidu.com/s/1i3eQfop下载

欢迎大家转载,为保留作者成果,转载请注明出处,http://blog.csdn.net/netluoriver

Author:明禄

博客http://blog.csdn.net/netluoriver

DATE:2014.6.22

 

目录

1.环境搭建:

1.1.JDK

1.2.SDKAPI高于15

1.3.Eclipse(安装ADT插件)

1.4.ANT(用于编译生成jar

1.5.配置环境变量

2.详细操作

2.1.建立工程

2.2.添加Android

2.3.添加JUnit

3.一个简单的uiautomator 测试案例

3.1.src中添加包,然后添加class文件。如图所示:

3.2.将代码复制到类中

4.测试过程

4.1.连接手机(一定要连接哦!否则不能进行下一步测试了)

4.2.查找SDK ID

4.3.创建build文件

4.4.编译生成jar

4.5.push并运行jar

4.6.uiautomator 测试工具的工作流程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.环境搭建

1.1.JDK

本文时最新版本为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

类似的信息。

 


1.2.SDK(API高于15)

1.3.Eclipse(安装ADT插件)

1.4.ANT(用于编译生成jar)

ADT 开发工具包含上以上2、3、4三种工具,下载地址http://developer.android.com/sdk/index.html,

下载直接解压即可,我放在了E:\tools\下,如图:


1.5.配置环境变量

安装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


2.详细操作

2.1.建立工程

用Eclipse新建Java Project,注意,不是Android Project!如图

 


 


2.2.添加Android库

下来,选择LibrariesAdd External JARs找到路径E:\tools\adt-bundle-windows-x86_64-20140321\sdk\platforms\android-19下面的android.jar和uiautomator.jar添加进来

 


 

2.3.添加JUnit库

 

配置完成最终显示如下:


3.一个简单的uiautomator 测试案例

3.1.在src中添加包,然后添加class文件。如图所示:

 

上面工程路径在E:\study\java_study\Test,类全名为SetLanguage.Runner

 

3.2.代码复到类

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(); 

         

    } 

} 

 

 

4.测试过程

4.1.连接手机(一定要连接哦!否则不能进行下一步测试了)

4.2.查找SDK ID

因为我们已经配置好了环境变量,在命令行中直接输入命令

android list

(运行后没有反应说明没有配置好环境变量直接进入E:\tools\adt-bundle-windows-x86_64-20140321\sdk\tools运行命令)

查看API大于15的SDK的ID值,当前是3; 

  


4.3.创建build文件

在命令行中运行:

         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个文件,显示如下:如果没生成,检查上面的步骤。


4.4.编译生成jar

双击打开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文件如图


4.5.push并运行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键,横屏滚动查找设置组件,查找到后,进入设置菜单,然后再进入“语言和输入法”菜单

 

 

4.6.uiautomator 测试工具的工作流程

下面是uiautomator 工作流程概述:

1.安装要测试的应用到手机中,分析应用的UI界面元素 并确保被测试应用的各个控件可以被测试工具获取到。

2.创建知道测试案例来模拟应用中的用户操作步骤。

3.编译测试案例代码为Jar包并复制该Jar包到安装了待测应用的测试手机中。

4.运行测试并查看结果

5.修改任何发现的bug,然后修复并重新测试。


0 0