在Macbook上配置使用Android自动化测试工具uiautomator

原创 2014年12月21日 18:38:27

昨天我尝试在Macbook上配置环境来运行uiautomator,之中遇到一些问题但都一一解决了,在这里做个笔记。


首先当然是在Mac上配置Eclipse和Android SDK,具体可以见我之前的一篇博文 -Mac下配置Eclipse + Android SDK的几个问题,安装完毕后,我的Android SDK路径是/Applications/adt-bundle-mac-x86_64-20140702/sdk,这个路径后面用到较多。


配置adb命令以方便使用

如果是默认配置的话,在Mac的终端里输入adb,会有-bash: abd: command not found的提示。首先要找到adb所在目录,也即/Applications/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/,打开终端执行下面命令:

  1. cd ~
  2. touch .bash_profile
  3. open -e .bash_profile

最后个命令会打开一个文本文件进入编辑状态,在其中添加export PATH=${PATH}:/Applications/adt-bundle-mac-x86_64-20140702/sdk/platform-tools/,保存并重启终端,再在任意当前目录下输入adb即可使用了。

安装并配置ant

ant安装很简单,去http://ant.apache.org/bindownload.cgi上下载一个apache-ant-1.9.4-bin.tar.gz后并解压缩,再拖进应用程序目录,再把ant的可执行文件的路径添加进.bash_profile,重启终端即可使用。


在Eclipse新建项目编写uiautomator的用例代码

用Android官网下载下来的adt捆绑包(adt-bundle-mac-...)里自带的Eclipse新建一个Java项目,记得添加Libraries库,这里需要添加android.jar和uiautomator.jar,都可以导航至应用程序目录下的SDK目录->platforms->android21目录,这里也可以选其他的4.0+版本的android,同时需要添加Junit,我添加的是自带的Junit4。可以新建一个TestRunner类,继承UiAutomatorTestCase类,这里有段简单的代码:

package com.uiauto.test;

import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class TestRunner extends UiAutomatorTestCase {

    public void testDemo() throws UiObjectNotFoundException {

        System.out.println("## Press home key");
        getUiDevice().pressHome();

        UiSelector query1 = new UiSelector().description("Settings");

        System.out.println("## Get UiObject settingsApp by \"Settings\"");
        if (new UiObject(query1).exists()) {
            System.out.println("Settings is found.");
        } else {
            System.out.println("Settings is NOT found.");
        }
    }
}

uiautomator可以使用UiSelector来定位界面上的各个控件,使用起来比较灵活,可以使用uiautomatorviewer来辅助查找各种控件信息,具体在SDK里的tools目录里。代码编写完成后,打开终端执行android create uitest-project -n uiauto-test01 -t 3 -p /Users/reed/Documents/android-dev/workspace/my-uiauto-project,注意这里的-t 3是当前使用的版本的Android SDK的代码,可以用android list查询,可以理解为把代码运行在哪个版本的Android上。


再终端里cd到项目目录->bin目录,执行ant build成功后,再打开模拟器,注意模拟器的android版本与刚刚-t 3保持一致。再分别执行

  1. adb push my-uiauto-project.jar /data/local/tmp 将jar包push到手机里
  2. adb shell uiautomator runtest my-uiauto-project.jar -c com.uiauto.test.TestRunner 执行测试
版权声明:本文为博主原创文章,未经博主允许不得转载。

Mac系统下使用uiautomator需要配置ADB环境ANT环境Android环境配置

1.找到android sdk的本地路径,adb命令在platform-tool下面,记为XXXX android命令在tools下面 我的路径是(/SDK/platform-tools)...
  • li_orange520
  • li_orange520
  • 2016年06月29日 15:09
  • 982

【Android测试】AndroidStudio通过UIAutomator进行测试

在eclipse中使用UIAutomator时步骤较为繁琐,而在Studio环境下只需要添加引用,编写测试类,运行测试类就可以实现。步骤较简单。1.配置环境在包依赖中添加对UIAutomator的引用...
  • okm6666
  • okm6666
  • 2016年08月19日 13:32
  • 3768

Mac下Uiautomator 快速调试配置

前言: Uiautomator调试需要使用Terminal发送命令行编译和推送到手机,还要通过adb来调试,很不方便,看到极客学院提供了 Uiautormatorhelper包,这里记录了Mac下一些...
  • u010236164
  • u010236164
  • 2017年01月15日 10:01
  • 437

python+uiautomator测试环境搭建

1.安装python2.7,配置python环境变量C:\Python27 2.安装setuptools   http://pypi.python.org/pypi/setuptools(安...
  • QingLang0213
  • QingLang0213
  • 2015年11月07日 15:37
  • 4937

UiAutomatorviewer 真机 识别不到

UiAutomatorviewer   真机  真机 手机连接到pc 识别不到手机屏幕 找了很多的办法 还是不行 ,最后问的大神 原来是手机要root  不然就不行,,但是 以后还是用虚拟机吧 ,因为...
  • lyl00ling
  • lyl00ling
  • 2017年06月22日 12:10
  • 780

Android Studio:布局查看神器-UIAutomatorViewer

用处如果我们查看一个app,想知道它的布局结构,那么 就需要这个UI Automator Viewer,这个还Android SDK自带的,路径:SDK\tool\suiautomatorviewer...
  • ss1168805219
  • ss1168805219
  • 2017年04月01日 11:07
  • 2265

在Macbook上配置使用Android自动化测试工具uiautomator

昨天我尝试在Macbook上配置环境来运行uiautomator,之中遇到不少问题,最终一一解决了,在这里做个笔记。 首先当然是在Mac上配置Eclipse和Android SDK,具体可以见我之...
  • python012
  • python012
  • 2014年12月21日 18:38
  • 3040

uiaotumator ui测试 快速调试

1、 uiaotumator ui测试Demo.java package uiautomatorDemo1;import java.io.File;import android.graphics.P...
  • DAo_1990
  • DAo_1990
  • 2015年07月30日 20:11
  • 1456

如何在Mac OS上使用UiAutomator快速调试类

本人最近在Mac OS上使用UiAutomator快速调试类的时候发现跟Windows环境下使用有很大的区别,对于我这个Mac OS小白来说有很多坑要填,今天终于修改完毕,分享代码,供大家参考。主要区...
  • Fhaohaizi
  • Fhaohaizi
  • 2017年10月23日 11:46
  • 138

android自动化测试中hierarchyviewer和uiautomatorviewer获取控件信息的方式比对

android自动化新人一个,目前研究PC端获取android设备的控件信息有哪些方式。多多指教!         android的目录tools下有2个自带的工具hierarchyviewer...
  • lyglostangel
  • lyglostangel
  • 2016年08月05日 19:09
  • 2048
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在Macbook上配置使用Android自动化测试工具uiautomator
举报原因:
原因补充:

(最多只允许输入30个字)