51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 951|回复: 0
打印 上一主题 下一主题

[资料] 值得你关注的5个自动化测试框架

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:05
  • 签到天数: 1048 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2022-9-6 09:48:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    前言
      UI测试是测试应用中的各种交互是否达到了实现的效果。常用的UI测试框架有Espresso和UIAutomator。
      今天给大家分享5个可能不曾听过的新自动化测试框架
      1.Kaspresso
      Kaspresso是一个基于Espresso和UIAutomator构建的测试自动化框架。并针对Espresso的一些已知缺点进行优化:
      ·解决flakiness问题;
      · 解决Espresso不支持adb问题;
      · 优化代码可读性;
      以如下示例说明代码可读性:
      Espresso测试示例写法:
    1.  @Testfunlogout(){
    2.   onView(withId(R.id.logoutButton))
    3.   .check(ViewAssertions.matches(
    4.   ViewMatchers.withEffectiveVisibility(ViewMatchers.Visibility.VISIBLE)))
    5.   onView(withId(R.id.logoutButton)).perform(click())
    6.   }
    复制代码
    Kaspresso测试示例写法:

    1. @Test
    2.   funtestFirstFeature(){
    3.   mainScreen{
    4.   logoutButton{
    5.   isVisible()
    6.   click()
    7.   }
    8.   }
    9.   }
    复制代码
    由此可见,测试代码精简度有很大提升。
      同时,相对于传统的UIAutomator,测试速度上也有很大的提升。

    综上概括:
      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。
      测试用例录制示例:

    测试用例回放示例:

    Repeato优点:
      · 非常易于使用,可供非开发人员使用;
      · Repeato不需要访问应用程序的源代码,降低使用门槛;
      · 使用快速便捷,安装软件仅需几分钟;
      · 提供可视化报告,简化故障排除;
      Repeato缺点:
      · 没有开源;
      · 付费,扩展版本是商业版本(每月49欧元);
      5.Waldo
      Waldo是一个云测试平台,类似于国内的几大云测厂商,使用便捷简单。Waldo通过改动前后版本的纵向对比,直观输出问题UI的对比,提高问题发现和解决的效率。

    Waldo优点:
    界面非常清晰直观,便于用户使用。
      Waldo缺点:
      · 没有开源;
      · 价格昂贵,每个月1999美元的费用将大部分国内用户拒之门外;
      · 不支持数据驱动测试和复杂的测试用例;
      · 目前不支持Android,官网表示即将推出。
      结语
    业界中各个自动化测试框架都有明显的优点和缺点,大家可以依据自己项目的实际情况选择合适的方案,同时也可以依据开源项目完成自己的定制化修改。





    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-19 00:34 , Processed in 0.061827 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表