我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么用Espresso测试UI界面

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么用Espresso测试UI界面

小编给大家分享一下怎么用Espresso测试UI界面,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

  基本测试

  先来看看可能需要写的一些常见测试:

  怎么用Espresso测试UI界面

  按照上面的模式,根据要求编写测试用例:

  在默认窗口层次结构之外测试视图

  可能有几种情况需要测试不属于默认窗口层次结构的视图。例如,测试可能使用WindowManager呈现的视图:

 怎么用Espresso测试UI界面

  测试一个AdapterView

  现在继续进行AdapterView测试。为了测试AdapterView,Espresso提供了一个单独的onData()入口,在对其本身或其子进行任何操作之前,首先对适配器项目进行测试。如果要测试一个AdapterView,需要使用onData()方法而不是onView()方法。

怎么用Espresso测试UI界面

  可以在中找到可用的ObjectMatcher,DataOptions,ViewAction和ViewAssertion的完整列表。

  下面是一个简单的例子,找到一个匹配单词"Espresso"的String类型列表项并对它执行click()事件:

怎么用Espresso测试UI界面

  下面的例子将找到具有内容"item content:10"的列表项目,并且在其具有id R.id.item_id的子视图上执行点击事件:

怎么用Espresso测试UI界面

  测试一个RecyclerView

  由于RecyclerView对象的行为与AdapterView对象的行为不同,所以不能使用onData()来测试RecyclerView对象。

  如果要测试RecyclerView,需要添加espresso-contrib包依赖项。这个软件包包含一个RecyclerViewActions的集合,可以使用它来滚动到位置或对这些项目执行操作。

  要使用Espresso与RecyclerView进行交互,可以使用espresso-contrib软件包(在app / build.gradle中添加"com.android.support.test.espresso:espresso-contrib:2.2.2"依赖项) RecyclerViewActions可用于滚动到位置或对项目执行操作。该集合包括以下RecylerViewActions:

  ·scrollTo() - 此RecyclerViewActions滚动到匹配的视图。

  ·scrollToHolder() - 此RecyclerViewActions滚动到匹配的视图持有者。

  ·scrollToPosition() - 此RecyclerViewActions滚动到一个特定的位置。

  ·actionOnHolderItem() - 此RecyclerViewActions在匹配的View Holder上执行View Action。

  ·actionOnItem() - 此RecyclerViewActions在匹配的View上执行View Action。

  ·actionOnItemAtPosition() - 此RecyclerViewActions在特定位置的视图上执行ViewAction。

  我们来看一个测试RecyclerView的例子:

怎么用Espresso测试UI界面

  上面的例子将首先找到ID为R.id.rv_espresso的RecyclerView,然后滚动到第五个位置并在该项目上执行一个单击事件。

  同样,我们也可以使用其他的RecyclerViewActions。

  现在看看如何测试一个自定义RecyclerView,例如ExpandableRecyclerView。考虑一下,当需要测试可展开视图的子视图的情况。

  首先,编写一个可以执行的自定义操作:

  怎么用Espresso测试UI界面

  现在,在子视图上执行这个操作:

怎么用Espresso测试UI界面

  现在来看看如何编写和使用Custom Matcher和Custom Failure Handler。

  Custom Matcher & FailureHandler

  在编写测试用例时,可能需要实现Custom Matcher或者Custom Failure Handler,因为在某些情况下,缺省的处理器可能不足够。

  1.Custom Matcher

  有些情况下,默认的可用匹配器可能是不够的。在这种情况下,需要编写我们自己的匹配器。考虑一个情况,当需要检查EditText中的文本是否与正则表达式匹配时,由于没有默认的匹配器做这个工作,所以需要程序员自己实现。

  我们来看看如何编写一个用于验证模式的Custom Matcher:

  怎么用Espresso测试UI界面

  使用这个匹配器:

怎么用Espresso测试UI界面

  2.Custom Failure Handler

  有些情况下,我们可能想要处理一些Espresso抛出的异常,并自定义一些实现,比如记录一些可能更有意义的额外数据。

  怎么用Espresso测试UI界面

  在已经写了一个custom failure handler程序之后,我们需要这样设置它:

怎么用Espresso测试UI界面

看完了这篇文章,相信你对“怎么用Espresso测试UI界面”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么用Espresso测试UI界面

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用Espresso测试UI界面

小编给大家分享一下怎么用Espresso测试UI界面,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!  基本测试  先来看看可能需要写的一些常见测试:    按照上面的模式,根据要求编写测试用例:  在默认窗口层次结构之外测
2023-06-05

UIAutomation怎么进行UI自动化测试

UIAutomation是一种用于自动化UI测试的技术,它可以模拟用户在界面上的操作并验证预期结果。下面是使用UIAutomation进行UI自动化测试的一般步骤:1. 安装UIAutomation工具:如Appium、UIAutomato
2023-08-19

SAP CRM和Cloud for Customer的UI界面皮肤怎么更改

本篇内容介绍了“SAP CRM和Cloud for Customer的UI界面皮肤怎么更改”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!CR
2023-06-04

怎么通过UI给C4C自定义BO创建测试数据

本篇内容主要讲解“怎么通过UI给C4C自定义BO创建测试数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么通过UI给C4C自定义BO创建测试数据”吧!假设我在Cloud Studio里创建了
2023-06-04

php测试页面出不来怎么办

php测试页面出不来的解决办法:1、检查APACHE服务器是否在打开状态;2、修改“httpd.conf”文件中的“Listen”为80;3、重启Apachen服务器即可。
2022-02-23

android怎么调用unity界面

要在Android上调用Unity界面,首先需要在Android项目中集成Unity库。以下是一种常见的方法:1. 在Unity中,选择“File” -> “Build Settings”。2. 在弹出的对话框中,选择“Android”作为
2023-08-11

怎样用手机测试写的web页面

这篇文章的内容主要围绕怎样用手机测试写的web页面进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!手机测试自己写的web页面方法有很多,在这里稍微介绍
2023-06-05

怎么用mfc做简单界面

使用MFC(Microsoft Foundation Classes)可以很方便地创建 Windows 界面。下面是一个使用 MFC 创建一个简单界面的步骤:1. 打开 Visual Studio,并创建一个新的 MFC 应用程序项目。2.
2023-10-08

mysql压力测试怎么用

mysql 压力测试是一种评估数据库并发和负载性能的方法。可以使用 sysbench、jmeter 或 mysqltuner 等工具进行压力测试。步骤包括:确定目标、配置数据库、安装工具、创建场景、运行测试和分析结果。性能指标包括 tps、
mysql压力测试怎么用
2024-05-30

怎么使用qt做登录界面

要使用Qt来制作登录界面,可以按照以下步骤进行操作:1. 打开Qt Creator,创建一个新的Qt项目。2. 在项目中创建一个新的窗口,用于登录界面。3. 在登录窗口中添加所需的控件,例如用户名输入框、密码输入框、登录按钮等。4. 使用布
2023-08-09

oracle怎么测试包,用ORACLE自带包测试FUSIONIO的IOPS

使用Oracle自带包测试FusionIOIOPS,评估IOPS性能,优化应用程序。步骤:设置FusionIO块设备。安装OracleDPA和DPV包。配置DPV以监视FusionIO活动。运行DPA收集IOPS统计信息。分析结果并进行比较。高级测试:使用SQLWorkloadGenerator测试不同IO模式。监视数据库等待事件以识别优化点。调整FusionIO设置以提高性能。
oracle怎么测试包,用ORACLE自带包测试FUSIONIO的IOPS
2024-04-12

oracle怎么测试包,用ORACLE自带包测试FUSIONIO的IOPS

要测试Oracle自带包和FusionIO的IOPS,可以按照以下步骤进行操作:1. 确定测试环境:确保已经安装了Oracle数据库和FusionIO存储设备,并将FusionIO设备连接到数据库服务器。2. 创建一个测试表:在Oracle
2023-09-21

怎么启用quartz的管理界面

要启用Quartz的管理界面,可以按照以下步骤进行操作:1. 确保已经引入了Quartz的依赖库。2. 在web.xml文件中添加一个Servlet配置:```xmlQuartzInitializerServletorg.quartz.ee
2023-09-13

写给测试小白:怎么快速找到bug?怎么写测试用例?

软件测试工作中找bug就是这个岗位本身立足的职责,那么对于很多新人和新入行的同学们来说,这个过程会有点苦逼,毕竟经历的项目经验不多,想快速的切入寻找bug往往会比较痛苦。
2023-06-05

什么是EventLoop?怎么测试Node或页面的性能

Event Loop 机制大家应该都有了解。本文利用 EventLoop 去做一个有趣的检测node或页面性能的代码,顺便介绍了一下EventLoop,希望对大家有所帮助!
2023-05-14

香港vps试用怎么评测

1、性能测试可以使用性能测试工具测试VPS的CPU性能、内存性能、磁盘I/O性能等,以及网络速度和稳定性。2、稳定性测试可以通过长时间运行应用程序或网站,测试VPS的稳定性和可靠性。3、安全性测试可以测试VPS的安全设置和防火墙设置,以及是
2023-05-15

韩国vps试用怎么测评

韩国vps试用测评的方法:1、网络速度使用网络速度测试工具测试韩国vps的下载速度、上传速度、延迟等,评估服务器的网络质量。2、抗攻击能力使用DDoS攻击模拟工具测试服务器的抗攻击能力,评估服务器的抗攻击能力。3、稳定性使用稳定性测试工具测
2023-03-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录