• 我用Cypress做了前端自动化测试


    前言

    作为一名前端,对于自动化测试我一直是抗拒的。通常我会使用下面两个理由来拒绝试图想让我做自动化测试的人

    • 前端页面变化多端,更新迭代速度快,测试用例需频繁修改
    • 曾亲身参加过在上海举行的VueConf2019,会上有个环节,嘉宾问在场大家公司都用了自动化测试没有,举手者寥寥

    第一条原因是本人内心的设定,第二条则坚定了这个观念

    因未知而却步其实才是本人最真实的写照

    在某个时刻,决定稍微认真的审视下自己的这个想法,于是开启了一段新的旅程

    它山寻访

    首先想到的是在开源项目中看下大家用的是什么,

    Ant Design Vue使用的是jest

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iKSPfLaL-1659600286487)(/Users/pobu/Documents/笔记/cypress/素材/antd-jest.png)]

    element-plus使用的是vitest,也是基于jest的实现

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fgW3b7eY-1659600286488)(/Users/pobu/Documents/笔记/cypress/素材/element-plus-vitest.png)]

    官方文档中推荐了Vue Test Utils

    那果断要从官方的这个先开始测试下,一番操作,一个测试还没写完,发现了一个问题,这些都不是我想要的,这些都是做组件的单元测试方案,而要找的是端到端的测试,理论上说应该更上一层。

    寻得真龙

    已经不记得Cypress是怎么进入视线的了,但在39.7K Star 加持下,果断放弃了抵抗。推荐大佬的博客

    在这里插入图片描述

    还有同事推荐了Puppeteer,Star更多,但……

    对比维度CypressPuppeteer
    完备的框架YesYes
    是有有IDEYesNo
    适用范围e2e的完美解决方案主要用于爬虫和开展快速测试
    自带断言库YesNo
    回访测试执行情况YesNo
    多浏览器支持YesYes

    最终,还是选择了Cypress

    效果演示

    对简单的管理系统CRUD功能进行了测试,下面看效果:

    在这里插入图片描述

    2-user-mgmt.cy.js

  • 相关阅读:
    k8s之Service
    srs webrtc推拉流环境搭建(公网)
    Velocity模板引擎的的使用示例(入门级)
    mmap文件内存映射
    vue3 mouse.js 鼠标的位置
    MySQL---表的增删改查(基础)
    RT-Thread信号量和互斥量
    2024 王道考研-数据结构(线性表_2)
    Flutter笔记:聊一聊依赖注入(上)
    JAVA中小型医院网站计算机毕业设计Mybatis+系统+数据库+调试部署
  • 原文地址:https://blog.csdn.net/fengjingyu168/article/details/126161417