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)相关推荐

  1. ios和安卓测试包发布网站http://fir.im的注册与常用功能

    作为专业的ios和安卓测试包发布网站,注册超简单.支持输入网址直接下载和二维码扫描下载.功能类似TestFlight ,但又比它强大,支持游客访问密码,ios和安卓测试app都支持.模仿TestFli ...

  2. 初学安卓之二维码的简单实现

    初学安卓之二维码的简单实现 前言 生成二维码 准备工作 生成简单二维码 修改二维码颜色 在二维码中心添加logo图片 GenerateQRcode完整代码 扫描二维码 准备工作 打开真机调试 集成工作 ...

  3. Android APP压力测试(二) 之Monkey信息自动收集脚本

    转载-原文地址:   http://www.cnblogs.com/findyou/p/3936063.html Android APP压力测试(二) 之Monkey信息自动收集脚本 前言: 本文重点 ...

  4. 夜神模拟器模拟安卓测试_使用模拟进行测试

    夜神模拟器模拟安卓测试 如果使用正确的方法,模拟对象将非常有用. 我在需要驱动软件开发使用的帖子中分享了一些使用Mock Objects的经验. 在这篇文章中,我分享了两件事 –使用模拟进行基于合同的 ...

  5. (保守群组测试 非保守群组测试 二次重复测试 自适应二次重复测试)四种群体测试的C++代码

    目录 原理 保守组检测 非保守组检测 二次重复测试 自适应二次重复测试 四种测试方法的核心代码 保守群组测试 非保守群组测试 二次重复测试与自适应二次重复测试 测试代码 参考文献 原理 假设该病在人群 ...

  6. 计算机应用word单元测试2,(计算机应用基本技能测试二.doc

    (计算机应用基本技能测试二 计算机应用基本技能测试 一 第一题 在Word环境下, 输入图片上的文字,制作表格,并编辑排版出图片所给的效果( 25 分) .其中: 1. 标题是三号黑体字且居中:文字是 ...

  7. Android UI 测试框架Espresso详解

    Android UI 测试框架Espresso详解 1. Espresso测试框架 2.提供Intents Espresso 2.1.安装 2.2.为Espresso配置Gradle构建文件 2.3. ...

  8. 微信小程序 - 二维码数据解析,如何扫码进入开发版测试二维码数据

    1.生成二维码 在小程序开发中,经常需要用到通过分享小程序二维码,进行扫码进入小程序. 官方文档 生成小程序二维码接口,这个生成接口可以放置服务器使用. page:是扫码之后需要打开的小程序页面 sc ...

  9. APP兼容性测试 (二) 最新 iPhone 机型分辨率总结

    APP兼容性测试 (二) 最新 iPhone 机型分辨率总结 </h1><div class="clear"></div><div cla ...

最新文章

  1. debian中添加sudo命令
  2. 数字信号处理篇(一) 采样定理
  3. LLVM 与 Clang 介绍 — LinuxTOY
  4. django中模型类的创建
  5. 开发者福利:三款 iOS 应用原型开发工具
  6. 程序员的爱情独白(转)
  7. 用姓名字段统计人数_基于 Wide amp; Deep 网络和 TextCNN 的敏感字段识别
  8. html盒子自动居中,css盒子怎么居中?
  9. 【hibernate笔记】
  10. [C++]面向对象部分——类
  11. Spring AOP原理分析(一)-- AOP相关概念
  12. ISIS仿真中Buzzer蜂鸣器不发声
  13. CMOS开关学习(一)
  14. 《麦肯锡方法》学习笔记18
  15. 安装Django 文档
  16. Python学习两个月心得
  17. 计算机一级考试《MS Office》
  18. Windows右击无新建文本文档怎么办
  19. java的抽象方法和抽象类
  20. 自动曝光修复算法附完整C代码

热门文章

  1. 2020年五大学科竞赛国家队成员名单,保送清华仅7人!
  2. CImageList::GetImageInfo取到的bitmap不能用
  3. 说说教育机构教学课程视频加密是如何实现的?
  4. python灰色预测_【数学建模】灰色预测及Python实现
  5. 机试评判系统评判提交程序后返回结果详细说明
  6. 孙空空的Vue之路-Day03-Class与Style的绑定操作
  7. python写打飞机游戏
  8. 解决win10 自动修复失败电脑无法开机问题
  9. 订单拆单,电商开发时 经常遇到的问题
  10. 2022年全球市场燃油液位传感器总体规模、主要生产商、主要地区、产品和应用细分研究报告