• 0
  • 0
分享
  • 5个新自动化测试框架,你值得了解——软件测试圈
  • 恬恬圈 2023-06-19 16:12:21 字数 2075 阅读 2165 收藏 0

  前言

  UI测试是测试应用中的各种交互是否达到了实现的效果。常用的UI测试框架有Espresso和UIAutomator。

  今天给大家分享5个可能不曾听过的新自动化测试框架。

  1.Kaspresso

  Kaspresso是一个基于Espresso和UIAutomator构建的测试自动化框架。并针对Espresso的一些已知缺点进行优化:

  ·解决flakiness问题;

  · 解决Espresso不支持adb问题;

  · 优化代码可读性;

  以如下示例说明代码可读性:

  Espresso测试示例写法:

  @Testfunlogout(){
  onView(withId(R.id.logoutButton))
  .check(ViewAssertions.matches(
  ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
  onView(withId(R.id.logoutButton)).perform(click())
  }

  Kaspresso测试示例写法:

  @Test
  funtestFirstFeature(){
  mainScreen{
  logoutButton{
  isVisible()
  click()
  }
  }
  }

  由此可见,测试代码精简度有很大提升。

  同时,相对于传统的UIAutomator,测试速度上也有很大的提升。

1-1.png

  综上概括:

  Kaspresso优点:

  ·与所有其他测试自动化框架相比,通过复杂的策略提高了测试的稳定性;

  · 测试运行速度提高;

  · 抽象化并因此具有更好的测试可维护性;

  · 可以处理关闭系统弹框;

  · 开源,Github上有800多个Star。

  Kaspresso缺点:

  · DSL进一步提高了抽象水平,学习和熟悉入手的成本将会有所增加;

  · DSL有时会导致代码混乱;

  · 因为是卡巴斯基出品,部分文档和issues都是俄文,对于大部分同学,英文阅读已经是艰难,俄语将会是灾难。

  2.Barista

  Barista也是基于Espresso构建的测试自动化框架。通过提供简化且可视的API解决Espresso模板冗长的问题;同时,Barista增加重试策略,可以设置测试case执行失败后的重试次数,减少Espresso的flakiness问题。

  Barista优点:

  · 通过自动重试和自动滚动提高了稳定性;

  · 附加的抽象级别(Page对象)有效提高可读性;

  · 完备的文档有效降低学习成本;

  · 开源,Github上有1200多个Star;

  Barista缺点:

  · Idlingresources仍然必须手动实现;

  3.BusyBee

  和前面的Kaspresso一样,BusyBee也是基于Espresso构建的,提供了CountingIdlingResource的替代方法。同时,BusyBee通过跟踪Java对象,字符串或者ID来记录当前运行的进程,如果出现超时,则输出正在运行的进程,降低测试和开发调试成本。

  BusyBee优点:

  · 简化实现,可以简化Idlingresources的处理;

  · 开源,Github上有150多个Star。

  BusyBee缺点:

  小型工具,功能全面性上难以和Kaspresso,Barista相比较。

  4.Repeato

  Repeato是适用于Android的无代码自动化测试框架,通过动作记录器录制测试用例,通过回放实现case执行,也可以通过添加adb等终端命令执行,类似于国内的solopi和airtest。

  测试用例录制示例:

1-2.png

  测试用例回放示例:

1-3.png

  Repeato优点:

  · 非常易于使用,可供非开发人员使用;

  · Repeato不需要访问应用程序的源代码,降低使用门槛;

  · 使用快速便捷,安装软件仅需几分钟;

  · 提供可视化报告,简化故障排除;

  Repeato缺点:

  · 没有开源;

  · 付费,扩展版本是商业版本(每月49欧元);

  5.Waldo

  Waldo是一个云测试平台,类似于国内的几大云测厂商,使用便捷简单。Waldo通过改动前后版本的纵向对比,直观输出问题UI的对比,提高问题发现和解决的效率。

1-4.png

  Waldo优点:

  界面非常清晰直观,便于用户使用。

  Waldo缺点:

  · 没有开源;

  · 价格昂贵,每个月1999美元的费用将大部分国内用户拒之门外;

  · 不支持数据驱动测试和复杂的测试用例;

  · 目前不支持Android,官网表示即将推出。

  结语

  业界中各个自动化测试框架都有明显的优点和缺点,大家可以依据自己项目的实际情况选择合适的方案,同时也可以依据开源项目完成自己的定制化修改。


作者:zouhui    

来源:http://www.51testing.com/html/52/n-7792952.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   苹果公司的 AirPods 产品线将在未来一年经历多次变革,因为该公司试图以一种更合理的方式完善其提供给消费者的产品。一份报告称,苹果公司将在 2024 年更新 AirPods 产品,包括两款超值版 AirPods 和 AirPods Max。  在周日为彭博社撰写的"Power On"时事通讯中,马克-古尔曼(Mark Gurman)重申了关于 2024 年 AirPods 产品线变化的一些说法,在 10 月份早些时候的大修说法之后,他加倍强调了产品线的变化。  最新报道称,苹果将生产两个版本的低端 AirPods,这可能会解决该产品线的营销问题。目前售价 179 美...
            0 0 1212
            分享
          • 1、引言我们今天来看看Locust如何自定义客户端测试系统的 ,由于基础内容,在第一章节,已经介绍完。所以本章内容,就是实例展示!!2、实例展示2.1 定义Locust以HTTP为主要目标构建。但是,通过编写触发request_success 和request_failure事件的自定义客户端,可以轻松扩展对任何基于请求/响应的系统进行负载测试。2.2 客户端代码展示我们使用User类XmlRpcUser的示例,来看看XmlRpcUser如何发送请求。老规矩,上代码# -*- coding:utf-8 -*- # @Time  &nb...
            1 1 14529
            分享
          •   引言  知乎有个话题“软件测试的工资高还是开发者的工资高?”软件测试和软件开发门槛有差异,在职业起步阶段收入也会有一定的差异,这算是行业内公开的秘密。但随着工作年限的增加,经验的逐步积累,软件开发和软件测试的收入基本会持平。  尤其是在国内大的互联网公司,测试和开发的收入基本没有差距,纯粹的“软件测试”岗位已经逐渐变少,更多的是“测试开发工程师”岗位,像阿里社招基本上都是“测试开发”,薪酬也基本和开发工程师持平。  所以,如果你想从事软件测试相关的工作,好好的规划自己的职业发展道路,必然会获得行业顶薪。  通常情况下,在大的互联网公司,软件测试的发展道路大概有三个方向:管理路线、技术路线、...
            0 0 875
            分享
          • 新浪科技讯北京时间10月31日早间消息,据报道,美国科技巨头上周纷纷公布财报,但除了苹果之外其它科技巨头表现都不好。Alphabet、亚马逊、Meta、微软的市值合计蒸发超过3500亿美元,因为巨头们对三季度的评价并不好,对今年余下时间也没多少信心。在过去10年里,这些科技巨头顺风顺水,现在不一样了,它们面临营收增长放缓、控制成本等挑战。美国高通胀、加息、经济衰退阴云密布。在此等大背景下,苹果的营收和利润倒是高于预期,正因如此,上周五苹果股价大涨。Meta成了反面典型,2022年它的股价大跌。上周Meta股价表现很糟,算是2012年上市以来最糟,5天下跌24%。该公司三季度业绩未达预期,每用户...
            0 0 1264
            分享
          • 最近的项目中,将很多原本的纸质合同转移到线上,变成电子合同,包括电子合同的制作,审核,电子合同的生成,电子合同的签署等环节,也容易出现一部分问题,一下列举碰到问题的排查方向:APP端生成电子合同,提示:系统异常,请和管理员联系:合同创建失败,请先联系客服大概率原因:公司名称变更了,在资源中心的elec_contract_user表中,存放了开户信息,查看标品中的公司名称和开户信息中的公司名称,是否一致。雇主端签署电子合同,提示:请先开户原因:在生成电子合同后,修改合同中的客户名字,查看合同中的客户名字和elec_contract_user表中的开发信息是否一致电子合同中存在未替换的替换符原因一...
            1 0 5115
            分享
      • 51testing软件测试圈微信