Cypress web自动化29

Stella981
• 阅读 584

前言

做 web 自动化的时候,我们希望用例失败了能截图,这是之前用 selenium 写 ui 自动化用例的时候经常遇到的问题。
cypress 可以说是业界良心了,不仅帮我们失败的时候自动截图保存下来,还把每个用例都录制成了mp4的小视频,方便追踪问题的时候回复视频

screenshots 失败截图

当我们用命令行执行完用例后

cypress run

运行结果

 (Video)

  -  Started processing:  Compressing to 32 CRF
  -  Finished processing: D:\Cypress\cypress\videos\xx.js.mp4                            (0 seconds)


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ×  baidu.js                                 00:46        1        -        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  blog.js                                  00:07        1        1        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  debug.js                                 00:02        1        1        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ×  hook_demo.js                             00:18        6        2        4        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  login_fixture.js                         00:03        1        1        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ×  login_web.js                             00:06        1        -        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  parametrize.js                           00:47        3        3        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ×  web_a.js                                 00:11        1        -        1        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ×  web_home.js                              00:09        2        -        1        -        1 │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  web_white_list.js                          2ms        -        -        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  xuexi.js                                 142ms        1        1        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ √  xx.js                                      2ms        -        -        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ×  5 of 12 failed (42%)                     02:35       18        9        8        -        1

从上面的结果可以看出哪些用例失败了,比如我想看 login_web.js 这条为什么失败

在 /cypress/screenshots 目录下可以看到每个js名称命名的文件夹,下面找到对应的失败截图

Cypress web自动化29

从上面截图就能快速定位到问题,访问登录页面的时候,定位 #count 元素失败了

videos 视频录制

在运行用例的时候,已经对每个用例录制了对应的视频 /cypress/videos 目录下就能找到以脚本命名的.mp4 视频,这点简直不要太赞!

Cypress web自动化29

接下来看下视频的效果

点赞
收藏
评论区
推荐文章
Stella981 Stella981
3年前
Selenium自动化的JUnit参数化实践
作为自动化测试人员,经常会遇到这样Selenium测试自动化场景:_需要一次又一次地执行相同的测试用例,只是使用不同的输入和环境配置,从而使工作变得冗长且多余。_为了处理这种用例冗余,大多数人都会选择可以选择参数化测试。使用参数化测试,测试人员可以再次运行相同的自动化测试脚本,但使用不同的数据。参数化测试通过利用测试方法收集结
Stella981 Stella981
3年前
Git pull的时候遇到问题
转载:https://www.jianshu.com/p/7b1c58e0a9ef(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.jianshu.com%2Fp%2F7b1c58e0a9ef)使用git从远程pull代码时报错:error:Thefollowing
Easter79 Easter79
3年前
Testng Retry失败用例重新运行的方法(一)
Testng是Java自动化测试的一个框架,它提供了一个对失败用例重新执行的监听器,即接口IRetryAnalyzer。先准备一个测试类:importorg.testng.annotations.Test;importstaticorg.testng.Assert.assertTrue;pu
Stella981 Stella981
3年前
Docker学习8
前言相信不少小伙伴之前在用docker运行jenkins容器构建的时候,发现没有python3环境遇到了不少麻烦,导致无法运行测试脚本,但不要紧,安装就好了。接下来我们说用docker运行jenkins 构建自动化测试脚本。一、jenkins新建项目1、createnewjobs:输入项目名称后,选择自由风格
Stella981 Stella981
3年前
IOS开发错误library not found for
最近在使用ReactNative技术搭建新项目的过程中,在集成神策分析时,在进行IOS端配置的时候Xcode进行build项目的时候遇到如下报错:librarynotfoundforlRNSensorsAnalyticsModule,忘记截图了,用如下这张代替一下!20161110092144979.png(https://uploadim
Stella981 Stella981
3年前
Jenkins+RF持续集成测试(一) 环境搭建
通常在自动化测试中,我们需要对自动化测试用例定时构建,并生成报告并通过邮件发给指定的人。最佳工具选择莫过于Jenkins了。通过Jenkins集成robotframework插件,我们能非常方便的定时从git/svn上拉取最新的自动化测试用例,然后执行用例并把最终结果以测试报告的形式发给指定的人群。下面我就来详细为大家介绍一下Jenkins集成RF插件
Stella981 Stella981
3年前
Cypress学习15
前言Cypress提供了hooks函数,方便我们在组织测试用例的时候,设置用例的前置操作和后置清理。类似于python的unittest里面的setUp和setUpclass功能HooksCypress提供了hooks函数。这些有助于设置要在一组测试之前或每个测试之前运行的条件。它们也
Stella981 Stella981
3年前
Python+Selenium中级篇之7
本文介绍把截图类方法封装到BasePage.py文件里,这个文件是在前面Selenium方法二次封装文章里创建的,具体代码请到前面这篇里找。我们截图类写死了把截图图片保存到根目录下的Screenshots文件夹里,图片名称是当前系统时间,图片后缀名是png。新的BasePage.py内容如下:codingutf8import
Stella981 Stella981
3年前
Linux环境搭建docker
Linux环境搭建dockerselenium来运行UI自动化  前沿:我们一般做UI自动化的时候,是在需要浏览器进行驱动跑我们的用例,但是如果我们要统一把用例放到服务端(Linux系统)下运行,是没有界面,无法运行。随着技术的发展,出现了docker,相应的有针对dockerselenium.  接着我们来实现怎么在Linux环境下
Stella981 Stella981
3年前
SpringBoot(20)
  我们在写单元测试的时候,除了接口直接抛异常而导致该单元测试失败外,还有种是业务上的错误也代表着该单元测试失败。好比我们在测试接口的时候,  该接口返回是1代表成功,如果是0那就代表是失败的,这个时候可以考虑使用断言。  一、原理我们知道,我们可以通过断言来校验测试用例的返回值和实际期望值进行比较,以此来判断测试是否通过。那我们先来看下如果失败的情