让开发的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自动生成测试流程文件