ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Cypress 简介

2022-06-28 11:06:47  阅读:200  来源: 互联网

标签:浏览器 简介 Cypress js 测试 测试代码 运行


什么是Cypress?

Cypress Cypress是基于JavaScript语言的前端自动化测试工具,无需借助外部工具,自集成了一套完整的端到端测试方法,可以对浏览器中运行的所有内容进行快速、简单、可靠的测试,并且可以进行接口测试。

Cypress的工作原理

Cypress 是在测试开始并首次加载Cypress时,Cypress Web内部应用程序先把自己托管到本地的一个随机端口上,然后使用webpack将测试代码中的所有模块绑定到同一个JavaScript文件中,启动指定的浏览器,并将测试代码注入到空白页面里,同时运行测试代码。当识别出测试脚本中发出的第一个cy.visit()命令后,Cypress将会更改其本地的URL以匹配远端应用程序的地址,使得测试代码和应用程序可以在一个生命周期中运行。

Cypress运行原理

Cypress测试代码和被测程序都运行在由Cypress全权控制的浏览器中,它们是运行在同一个域下的不同框架内,所以Cypress的测试代码可以直接操作DOM,也正如此Cypress相对于其它测试工具可以运行的更快,在开始执行Cypress脚本后它会自动运行浏览器,并将编写的代码注入到一个空白页,然后在浏览器中运行代码

在进行接口或数据库测试时,需要向服务端发送请求,此请求由Cypress生成,发送给Node.js Process,由Node.js转发给服务端,因此Cypress不仅可以修改进出浏览器的所有内容,还可以更改可能影响自动化操作浏览器的代码,所以Cypress能够从根本上控制自动化测试的流程,提高了稳定性,使得到测试结果更加可靠,如下图所示

Cypress和其他自动化测试工具有什么不一样?

  • Cypress在继续之前会自动等待命令和断言,不再需要async
  • 通过模拟服务器响应来测试Edge测试用例
  • Cypress在运行测试时会截取快照。我们可以将鼠标悬停在命令日志中的每个命令上,以便查看每个步骤都发生了什么
  • 由于其架构设计,与其他自动化工具相比,Cypress提供了快速、一致和可靠的测试
  • 可以从Cypress的Dashboard上查看整个测试执行的视频
  • Cypress构建在Node.js上,并打包为一个npm模块
  • 因为Cypress构建在Node.js上,可以方便的使用 JS 来编写测试
  • Cypress还与jQuery捆绑在一起,并继承了许多用于UI组件识别的jQuery方法

Cypress的缺点

  • 只支持 JS 框架去编写测试用例
  • 不支持远程执行
  • 不支持多个浏览器tab
  • 默认不同时支持多个浏览器

标签:浏览器,简介,Cypress,js,测试,测试代码,运行
来源: https://www.cnblogs.com/keenajiao/p/16418734.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有