Android Studio下运行UiAutomator

之前学习UiAutomator均是在eclipse下,因学习Android开发接触AS越来越频繁,于是想知道AS下如何建立UiAutomator项目。网上的资料多很凌乱,查了很多资料,实践后发现,只要找对了步骤,AS下比eclipse下部署运行简单的多。

步骤总结如下:

一、新建一个项目,和Android项目的区别是不要创建Activity(Add No Activity)

二、新建项目完成后,修改gradle文件

添加最后一行:

dependencies {
    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
    testCompile ‘junit:junit:4.12‘
    compile ‘com.android.support:appcompat-v7:23.1.1‘
    //引入Uiautomator
    androidTestCompile ‘com.android.support.test.uiautomator:uiautomator-v18:2.1.1‘
}

Gradle sync后,可以看见在External Libraries目录下生成了uiautomator-v18-2.1.1目录,这时候表示uiautomator库已经成功导入了。

三、编写测试用例

这部分遇到了两个困难:

①和eclipse可以用命令行编译执行不同,AS全部集成在内部了,一般情况下点击该测试方法右键,直接run就行

但是如果右键没有run选项,不知道怎么运行怎么办呢

可以先点击AS左侧边栏Build Variants查看Test Artifact选项,选择Andriod Instrumentation Tests, 再点击左侧边栏Structure,找到该测试方法,右键点击看是否可以运行。

②或许是因为1.0和2.0的关系(2.0被instrumentation收编了,有些1.0的方法在2.0被弃用了),这一个简单的点击home键的用例折腾了半天,才运行起来。

public class Test extends InstrumentationTestCase {
//public class Test extends UiAutomatorTestCase {

    public void testHome(){
        UiDevice.getInstance(getInstrumentation()).pressHome();
        //UiDevice.getInstance().pressHome(); (UiDevice.getInstance()已经被弃用)
        //UiDevice device = getUiDevice(); (getUiDevice()找不到该方法)
        //device.pressHome();
    }

}

2.0不用再继承UiAutomatorTestCase,但却需要继承InstrumentationTestCase。

获取设备的方式也变化了,UiDevice.getInstance(getInstrumentation()) 这才是正确的使用方法。之前常用的两种方式都不再可行。

1.0和2.0的API区别后续得好好熟悉熟悉。

时间: 2024-08-24 02:17:49

Android Studio下运行UiAutomator的相关文章

Android Studio下运行开源项目9GAG遇到的问题

首先是本地的build-tools版本不是开源项目所使用的,本来Android Studio点击出错提示会自动下载的,但是天朝把google的所有链接都封了,所以你懂的-- 于是到CSDN下载了21.1.1的版本,解压后,文件夹名称换成版本号21.1.1,放到如下路径(具体视各人的安装路径不同而不同) 之后又遇到一个问题,说是Gradle的版本不够新,找了一圈怎么升级Android Studio下Gradle的方法,终于让我找到 此后会等待比较长的一段时间,出现以下信息表示安装成功 之后再运行9

Android studio 下的robotium自动化测试和持续集成

一.前言 Android Studio是一个Android开发环境,基于IntelliJ IDEA.类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试.作为官方主推的开发环境和停止对其他开发IDE的支持,Android Studio将成为今后唯一的android开发环境.本文主要介绍在Android Studio环境下的Robotium测试框架使用方法和持续集成. 二.在Android Studio中使用Robotium 2.1基础环

Android Studio下项目构建的Gradle配置及打包应用变体

Gradle简介 ??Gradle是一个自动化构建工具,采用Groovy的Domain Specific Language(领域特定语言)来描述和控制构建逻辑.具有语法简洁.可读性强.配置灵活等特点.基于Intellij IDEA社区版本开发的Android Studio天生支持Gradle构建程序.Groovy是一种基于JVM的敏捷开发语言,结合了Phthon.Ruby和Smalltalk的许多强大特性.同时,Groovy代码既能够与java代码很好地结合,也能够用于扩展现有的代码. Grad

Android Studio下SVN的用法(1) - 初识SVN

Android Studio下SVN的用法(1) - 初识SVN 前言 这几天公司又来了新人,之前都是一个人开发的项目现在需要合作开发.所以不可避免的需要使用版本控制工具. 公司使用的是SVN,网上有一大堆教程,但是发现对于新手来说,特别是从来没有接触过的人来说,往往都 说的不是很详细,甚至可以说基本没有照顾到这些方面.不要问我为什么这么清楚,因为被坑的不行了--.. PS:本篇文章是介绍AS下SVN的使用,所以可能会跟网上的教程不同 使用 下载及安装 首先前往官网下载SVN客户端,官网上下载可

android studio下的代码调试技巧的运用

记得当初刚开始学习java的时候,每次在eclipse上遇到调试程序的时候都是敲syso+快捷键,用system.out.printLn.输出语句来调试java的程序,哈哈哈,当初感觉确实蛮方便的,后来慢慢步入到安卓,然后使用安卓版的eclipse,在安卓代码当然是要杜绝java的输出语句了,于是又用输出日志Log的几种方式来调试,偶尔还会用到吐司调试(尴尬),eclipse版本的debug模式当初没怎么用习惯,只会简单的单步调试,于是就荒废了,虽然调试起来有点麻烦,但是用顺手了也还马马虎虎,但

安装android Studio和运行react native项目(基础篇)

ANDROID_HOME环境变量 确保ANDROID_HOME环境变量正确地指向了你安装的Android SDK的路径. 打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建 具体的路径可能和下图不一致,请自行确认. 你需要关闭现有的命令符提示窗口然后重新打开,这样新的环境变量才能生效. 测试安装 react-native init AwesomeProject cd AwesomeProject react-nativ

Android Studio下HierarchyViewer的使用

什么是HierarchyViewer Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat.它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,下面来详细介绍如何在Android Studio开发环境下使用Hierarchy Viewer. 如何在Android Studio开发环境下使用HierarchyViewer 1.启动模拟器,通过模拟器

android studio下百度地图sdk的初体验

通过上一篇android studio 打开Terminal获取sha1的方法 获取到sha1后,下面开始进入百度地图sdk的资源获取: 一.获取密钥和SDK; 1.搜索百度地图sdk: 2.点击获取密钥: 3.创建应用: 4.进入概述下的"相关下载"和"开发指南": 下载开发包和示例,将开发包解压: 二.项目创建: 1.在Android studio下新建一个项目后(注意包名要和上面获取密钥时的包名一致),有android切换到project,将解压后的libs文

Android studio下gradle Robolectric单元测试配置

android studio下gradle Robolectric单元测试配置 1.Robolectric Robolectric是一个基于junit之上的单元测试框架.它并不依赖于Android提供的测试功能,它使用了shadow objects并且运行测试于普通的工作站/服务器JVM,不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间. 参考:安卓单元测试相关概述h