安卓测试二(Espresso)
Espresso
官网
ui测试,在androidTest下使用,需要连接手机
在写的时候,比如你写一个onView,在用Alt+Enter导入库的时候,应该注意导入静态的库,要不就直接Espresso.onView(),初学者可能会有点迷茫,我怎么找不到这个方法啊,明明都有加依赖了。
Espresso其实网上的文章还是挺多的,也不复杂,要注意的就是在找控件的时候,防止因为你的控件在一个页面中多次使用到,从而withId(R.id.xx)失败,我一般找控件,因为项目界面复杂,控件引用的地方多,所以我会使用AS的自动寻找控件功能
在AS里 Run -> Record Espresso Test,(记得连接手机)这个时候会启动你的app,会记录每一次点击的控件,自动通过onView或者onData寻找,这个单纯用来找控件就是了,
基本的测试大概是这样
首先我们要启动一个Activity
@Rule,这个注释就是明确你要启动的Activity,运行测试用例的时候就启动这个Activity,但是我们有时候启动Activity需要传递参数,这个时候,嘿嘿,就要这样
@JvmField@Rulevar rule: ActivityTestRule<LearnActivity> = object : ActivityTestRule<LearnActivity>(LearnActivity::class.java) {override fun getActivityIntent(): Intent {// Context targetContext = InstrumentationRegistry.getInstrumentation().getTargetContext();val intent = Intent()intent.putExtra("showType", EnumLearnType.TYPE_NORMAL)intent.putExtra("classify_id", 9141)intent.putExtra("cur_position", 0)intent.putExtra("jkbd_ids", "19128,29023,29037") //模拟三道题,正确答案都是Bintent.putExtra("normal_type", 1000)return intent}}
代码中加了个@JvmField是因为Kotlin的原因,Java用户请忽略
//测试用例,Kotlin,Rule
API链接
依赖,新建项目默认会有添加,以下是比较全面的
def espresso_version = "3.2.0" //Test ***************************************************************************testImplementation 'junit:junit:4.13'androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'testImplementation 'org.mockito:mockito-core:2.25.1'androidTestImplementation "org.mockito:mockito-android:2.23.0"// Optional -- Hamcrest libraryandroidTestImplementation 'org.hamcrest:hamcrest-library:1.3'//Core libraryandroidTestImplementation 'androidx.test:core:1.2.0'//AndroidJunitRunner and Junit Rules//收集分析数据,每次调用它都会上传待测应用包名的一个 hash 值(可设置禁止)androidTestImplementation 'androidx.test:runner:1.2.0'androidTestImplementation 'androidx.test:rules:1.2.0'//AssertionsandroidTestImplementation 'androidx.test.ext:junit:1.1.1'androidTestImplementation 'androidx.test.ext:truth:1.2.0'androidTestImplementation 'com.google.truth:truth:1.0'//Espresso dependencies//包含核心和基本视图匹配器,以及操作和断言androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_version"//包含DatePicker、RecyclerView和Drawer操作,以及辅助功能检查和CountingIdlingResource的外部贡献androidTestImplementation "androidx.test.espresso:espresso-contrib:$espresso_version"//包含用于Intent意图测试的API资源androidTestImplementation "androidx.test.espresso:espresso-intents:$espresso_version"//包含用于Accessibility测试的API资源androidTestImplementation "androidx.test.espresso:espresso-accessibility:$espresso_version"//包含用于WebView支持的测试API资源androidTestImplementation "androidx.test.espresso:espresso-web:$espresso_version"androidTestImplementation "androidx.test.espresso.idling:idling-concurrent:$espresso_version"//包含用于跨进程、多进程测试的API资源androidTestImplementation "androidx.test.espresso:espresso-remote:$espresso_version"//Espresso与后台作业同步机制androidTestImplementation "androidx.test.espresso:espresso-idling-resource:$espresso_version"implementation "androidx.test.espresso:espresso-idling-resource:$espresso_version"//UiAutomatorandroidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
安卓测试二(Espresso)相关推荐
- ios和安卓测试包发布网站http://fir.im的注册与常用功能
作为专业的ios和安卓测试包发布网站,注册超简单.支持输入网址直接下载和二维码扫描下载.功能类似TestFlight ,但又比它强大,支持游客访问密码,ios和安卓测试app都支持.模仿TestFli ...
- 初学安卓之二维码的简单实现
初学安卓之二维码的简单实现 前言 生成二维码 准备工作 生成简单二维码 修改二维码颜色 在二维码中心添加logo图片 GenerateQRcode完整代码 扫描二维码 准备工作 打开真机调试 集成工作 ...
- Android APP压力测试(二) 之Monkey信息自动收集脚本
转载-原文地址: http://www.cnblogs.com/findyou/p/3936063.html Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 本文重点 ...
- 夜神模拟器模拟安卓测试_使用模拟进行测试
夜神模拟器模拟安卓测试 如果使用正确的方法,模拟对象将非常有用. 我在需要驱动软件开发使用的帖子中分享了一些使用Mock Objects的经验. 在这篇文章中,我分享了两件事 –使用模拟进行基于合同的 ...
- (保守群组测试 非保守群组测试 二次重复测试 自适应二次重复测试)四种群体测试的C++代码
目录 原理 保守组检测 非保守组检测 二次重复测试 自适应二次重复测试 四种测试方法的核心代码 保守群组测试 非保守群组测试 二次重复测试与自适应二次重复测试 测试代码 参考文献 原理 假设该病在人群 ...
- 计算机应用word单元测试2,(计算机应用基本技能测试二.doc
(计算机应用基本技能测试二 计算机应用基本技能测试 一 第一题 在Word环境下, 输入图片上的文字,制作表格,并编辑排版出图片所给的效果( 25 分) .其中: 1. 标题是三号黑体字且居中:文字是 ...
- Android UI 测试框架Espresso详解
Android UI 测试框架Espresso详解 1. Espresso测试框架 2.提供Intents Espresso 2.1.安装 2.2.为Espresso配置Gradle构建文件 2.3. ...
- 微信小程序 - 二维码数据解析,如何扫码进入开发版测试二维码数据
1.生成二维码 在小程序开发中,经常需要用到通过分享小程序二维码,进行扫码进入小程序. 官方文档 生成小程序二维码接口,这个生成接口可以放置服务器使用. page:是扫码之后需要打开的小程序页面 sc ...
- APP兼容性测试 (二) 最新 iPhone 机型分辨率总结
APP兼容性测试 (二) 最新 iPhone 机型分辨率总结 </h1><div class="clear"></div><div cla ...
最新文章
- debian中添加sudo命令
- 数字信号处理篇(一) 采样定理
- LLVM 与 Clang 介绍 — LinuxTOY
- django中模型类的创建
- 开发者福利:三款 iOS 应用原型开发工具
- 程序员的爱情独白(转)
- 用姓名字段统计人数_基于 Wide amp; Deep 网络和 TextCNN 的敏感字段识别
- html盒子自动居中,css盒子怎么居中?
- 【hibernate笔记】
- [C++]面向对象部分——类
- Spring AOP原理分析(一)-- AOP相关概念
- ISIS仿真中Buzzer蜂鸣器不发声
- CMOS开关学习(一)
- 《麦肯锡方法》学习笔记18
- 安装Django 文档
- Python学习两个月心得
- 计算机一级考试《MS Office》
- Windows右击无新建文本文档怎么办
- java的抽象方法和抽象类
- 自动曝光修复算法附完整C代码