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

昨天我尝试在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 执行测试
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/python012/article/details/42062217
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

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

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭