Android Studio导入uiautomator测试框架
2015-06-01 23:36
477 查看
转载请注明出处谢谢
最近因为需要用到Android的自动化测试,于是找到了uiautomator和espresso这两个框架(这里以uiautomator为例).由于在Android Studio(以下简称AS)中使用uiautomator这方面的资料很少,国内这方面的博客基本没有,国外的资料也都很少.可能是因为比较新的原因吧.虽然Android官网有教程,但最终还是折腾了好久才解决.写这篇博客一方面希望大家能够少走一些弯路,另一方面也算是我自己的学习笔记吧.
说明:我的AS版本是1.2.1.1
关于什么是uiautomator和espresso,这里就不做介绍了.
使用之前首先得保证你的
安装成功后,根据Android官网给出的教程,首先第一步是在
然后添加
添加完依赖后
最后的解决办法是先把
最后再将
突然就觉得自己被坑了,也不知道这算不算是AS的一个BUG…
如果同步之后发现诸如此类的错误:
先在项目的根目录用
可能需要为gradlew加上可执行权限.
说明:我这里会报这个警告是因为新建项目的时候AS帮我自动添加了
然后还要在
不添加的话运行时候还是会报错的.
最后,确保此时有android设备在运行(虚拟器或手机都可以,要求是系统版本要18或18以上),然后在项目的根目录下输入命令:
如无意外的话,应该可以看到
如果不想用命令行的话,也可以
选择OK,然后点击启动按钮.如无意外的话,应该可以看到一条绿色的进度条了!
关于另外一个自动化测试框架Espresso,导入方法和uiautomator一样,不同的只是依赖而已.
关于测试框架的导入就先说这么多了,有关这些框架的使用网上的资料应该也是比较多的了,只不过有一些API已经被弃用了.等我熟悉了这两大框架的使用再来写相关的博客吧.
希望以上的内容能够帮到你~
最近因为需要用到Android的自动化测试,于是找到了uiautomator和espresso这两个框架(这里以uiautomator为例).由于在Android Studio(以下简称AS)中使用uiautomator这方面的资料很少,国内这方面的博客基本没有,国外的资料也都很少.可能是因为比较新的原因吧.虽然Android官网有教程,但最终还是折腾了好久才解决.写这篇博客一方面希望大家能够少走一些弯路,另一方面也算是我自己的学习笔记吧.
说明:我的AS版本是1.2.1.1
关于什么是uiautomator和espresso,这里就不做介绍了.
使用之前首先得保证你的
Android Support Repository已经成功安装
安装成功后,根据Android官网给出的教程,首先第一步是在
build.gradle中添加依赖:
dependencies { androidTestCompile 'com.android.support.test:runner:0.2' androidTestCompile 'com.android.support.test:rules:0.2' androidTestCompile 'com.android.support.test.uiautomator:uiautomator-v18:2.1.0' }
然后添加
defaultConfig { testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" }
添加完依赖后
Sync Project with Gradle Files,但是同步后我发现上面相关的库文件并没有被添加进来.对比很多资料后,我很确信不是我在写法的问题.就是这个问题折腾了我好几天的!
最后的解决办法是先把
androidTestCompile换成
compile,同步一下,此时会发现库文件已经被添加进来了.
最后再将
compile换回
androidTestCompile,解决~
突然就觉得自己被坑了,也不知道这算不算是AS的一个BUG…
如果同步之后发现诸如此类的错误:
Warning:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (22.1.1) and test app (22.0.0) differ.
先在项目的根目录用
./gradlew -q app:dependencies查看项目依赖关系(Windows用户请使用
gradlew.bat -q app:dependencies), 然后修改build.gradle,否则在后面运行测试时可能会报依赖关系的错误.
可能需要为gradlew加上可执行权限.
说明:我这里会报这个警告是因为新建项目的时候AS帮我自动添加了
compile 'com.android.support:appcompat-v7:22.1.1'依赖,将
22.1.1改为
22.0.0即可.
然后还要在
build.gradle中添加:
packagingOptions { exclude 'LICENSE.txt' }
不添加的话运行时候还是会报错的.
最后,确保此时有android设备在运行(虚拟器或手机都可以,要求是系统版本要18或18以上),然后在项目的根目录下输入命令:
./gradlew cC
如无意外的话,应该可以看到
BUILD SUCCESS了!
如果不想用命令行的话,也可以
Edit Configurations,然后点击
+–>
Android Test,然后选择对应的Module,然后在下面的
Specific Instrumentation Runner选择
android.support.test.runner.AndroidJUnitRunner
选择OK,然后点击启动按钮.如无意外的话,应该可以看到一条绿色的进度条了!
关于另外一个自动化测试框架Espresso,导入方法和uiautomator一样,不同的只是依赖而已.
dependencies { androidTestCompile 'com.android.support.test:runner:0.2' androidTestCompile 'com.android.support.test:rules:0.2' androidTestCompile 'com.android.support.test.espresso:espresso-core:2.1' }
关于测试框架的导入就先说这么多了,有关这些框架的使用网上的资料应该也是比较多的了,只不过有一些API已经被弃用了.等我熟悉了这两大框架的使用再来写相关的博客吧.
希望以上的内容能够帮到你~
相关文章推荐
- 实现android应用程序自动化测试的批处理脚本
- Android 自动化测试经验分享 深入UiScrollable
- IOS UI Automation 学习之常用类,方法和模拟手势
- ranorex自动化测试框架开发之路系列博文
- watir学习总结(一)
- 关于自动化测试(未完)
- 你的组织为自动化测试做好准备了吗?
- 利用Jscrīpt进行简单的GUI自动化测试
- 软件测试策略
- 《QTP自动化测试进阶》(1)
- 《QTP自动化测试进阶》(2)
- 《QTP自动化测试进阶》(3)
- 《QTP自动化测试进阶》(4)
- 《QTP自动化测试进阶》(5)
- 《QTP自动化测试进阶》(6)
- 《QTP自动化测试进阶》(7)
- 《QTP自动化测试进阶》(8)
- 《QTP自动化测试进阶》(9)
- 《QTP自动化测试进阶》(10)
- 《QTP自动化测试进阶》(11)