Android 傻瓜式自动测试 利用AS2.2 Record Espresso + Instrumentation

本文介绍了如何使用Android Studio 2.2的Record Espresso功能自动生成测试代码,通过环境准备、配置避免冲突、使用uiautomatorviewer工具,以及解决测试过程中遇到的问题,如等待特定布局出现,确保测试代码正确执行。详细步骤和解决方法帮助开发者实现傻瓜式自动测试。
摘要由CSDN通过智能技术生成

让开发的app自动去跑 测试 流程 ,是不是很酷
那么通过操作屏幕自动生成 测试流程代码 是不是更酷

接下来 我们借助Android Studio 2.2 来实现 简单的自动测试吧
先上动态图
这里写图片描述

环境准备

可以直接去github去copy代码 欢迎star fork
https://github.com/shf981862482/AutoTextApplication

配置我们的app下的 build.gradle

android {
    defaultConfig {
        testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
    }
}

添加packagingOptions 代码解决冲突。不然会报以下错误

Duplicate files copied in APK META-INF/maven/com.google.guava/guava/pom.properties

android {
    packagingOptions {
        pickFirst('META-INF/maven/com.google.guava/guava/pom.xml')
        pickFirst('META-INF/maven/com.google.guava/guava/pom.properties')
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    androidTestCompile 'com.android.support.test:runner:0.5'
    androidTestCompile 'com.android.support.test:rules:0.5'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'

}

添加configurations.all代码解决冲突。不然会报以下错误

Conflict with dependency ‘com.android.support:support-annotations’. Resolved versions for app (23.1.0) and test app (23.0.1) differ

configurations.all {
    resolutionStrategy.force 'com.android.support:support-annotations:23.1.0'
}

或者尝试

    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

环境搭建好了

必备的工具

找到自己的sdk目录

C:\AndroidSDK\tools

打开uiautomatorviewer.bat

uiautomatorviewer
工具提供了一个便利的方式来查看UI布局结构,并且可以查看各个控件的相关属性。利用这些信息可以用来创建UI测试代码。

使用方法

usb连接手机,点击图标
这里写图片描述
这里写图片描述
选中某一个控件,比如button
我们看note detail 出 可以找到resorce_id cotnent-dec text hint 等信息
这对我们自动测试找到控件很重要、
当然后面的Record Espresso 会自动帮我们找到能定位到某个空间的信息

当然,为了在自动化测试的时候方便找到控件,那么注意以下几点

1、使用android:contentDescription属性给 ImageButton, ImageView,
CheckBox和其他控件设置标签。 2、使用android:hint 属性来标记EditText
控件,而不是使用里面的文本(文本内容用户是可以修改的)。
3、对于用来提供操作视觉反馈的UI(文本或者图标),都添加一个android:hint 属性来识别。
4、确保所有用户可操作的界面元素都可以通过方向控制键选中(例如轨迹球)。 5、通过uiautomatorviewer
5、工具来确保所有的UI元素都可以被测试工具访问到。还可以通过“辅助功能”(在设置界面)中的“TalkBack”等服务来测试UI的可访问性。

AS2.2 Record Espresso

通过 Record Espresso自动生成测试流程文件

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值