首页 > 其他分享 >初识Cypress

初识Cypress

时间:2023-04-16 22:35:46浏览次数:58  
标签:node npm Cypress js --- 初识 cypress

初识Cypress

框架简介

一款基于Node.jsweb自动化测试框架

为什么是Cypress

  1. 使用的语言更加贴近前端-->javascripttypescript为主
  2. 可以覆盖单元、接口、ui自动化测试

环境准备

  • Node.js

    • 设置全局node--->在node安装路径下创建node_global--->输入:npm config set prefix "路径"
    • 设置全局node缓存--->在node安装路径下创建node_cache--->输入:npm config set cache "路径"
  • 使用Node.js自带的包管理工具npm下载cypress框架

    • 初始化需要安装cypress的目录--->npm init
    • 安装cypress--->npm install cypress --save-dev

安装好后该目录结构为:

---目录名

​ ---cypress

​ ---node_moudules

cypress.config.js

package-lock.json

package.json--->框架配置文件

​ 配置package.json--->打开方式:script字段下添加cypress:opencypress open

注意:

  • Cypress自动生成的默认存放测试用例的根目录,任何创建在此目录下的文件都将被当作测试用例

打开程序:

npm cypress open

Cypress框架的运行机制与Selenium的不同

如果一个框架只说优点不说缺点那就是耍流氓!!!

优点

运行原理:

  • 大多数测试工具(如:Selenium/webdriver)通过在外部浏览器运行并在网络上执行远程命令来运行
  • 因为Webdriver底层通信协议基于JSON Wire Protocol,运行需要网络通信

Cypress与应用程序在相同的生命周期里执行

Cypress自集成了mocha ,所以运行时使用webpack将测试代码中的所有模块 bundle 到一个js文件中执行。在识别出测试中发出的第一个cy.visit()命令后,Cypress会更改本地URL以匹配你远程应用程序的Origin【满足同源策略】,这使得测试代码和应用程序可以在同一个Run Loop中运行

缺点

  1. 因为是一套开箱即用的工具,所以他没有很多的可选性,不想Selenium可以搭配javapython等语言进行开发,cypress只能和jsts结合

  2. 不建议使用Cypress进行网站爬虫、性能测试

  3. Cypress不支持多标签模式

  4. Cypress不支持同时打开两个浏览器

  5. 针对移动端的支持有限

标签:node,npm,Cypress,js,---,初识,cypress
From: https://www.cnblogs.com/JunkingBoy/p/17324278.html

相关文章

  • Cypress依赖框架Mocha简介
    Cypress依赖框架Mocha简介什么是Mocha一个适用于Node.js和浏览器的测试框架,使异步测试变得简单、灵活JavaScript语言特点单线程异步执行坏处:无法像测试同步执行的代码那样直接判断函数的返回值是否符合预期要验证异步函数的正确性就需要测试框架支持回调Cypress的特点......
  • Cypress初体验
    Cypress初体验一个最简单的CypressTestCaseimportcypress=require("cypress");describe('TestLogin',()=>{beforeEach('AfterAll',()=>{cy.visit('https://xxx/login');});it('Loginbyus......
  • Cypress之与元素交互
    Cypress之与元素交互元素定位选择器页面元素交互定位元素辅助方法可操作类型模拟键盘操作在介绍元素交互之前需要介绍一下命令日志:作用:展示额外的Log信息cy.route()cy.spy()cy.stub()Cypress特有的定位器data-*data-cydata-testdata-testidCyp......
  • Cypress之断言
    Cypress之断言特点:Cypress支持多种风格断言,包括BDD和TDDBDD(行为驱动)、TDD(测试驱动)常见元素断言:针对长度断言cy.get('li.selected').should('have.length',3);--->BDD断言语法针对类断言cy.get('form').find('input').should('not.have.class',�......
  • Cypress之动态忽略测试用例
    Cypress之动态忽略测试用例示例代码:describe('Login',()=>{constusername='';constpassword='';context('TestLogin',()=>{if(Cypress.env('funFlag')==1){cy.visi......
  • 初识linux 下
    tail 查看文件尾部内容  参数,Linux路径,表示被跟踪的文件路径选项,-f,表示持续跟踪选项,-num,表示,查看尾部多少行,不填默认10行查看系统文件默认10行  2.vi\vim编辑器介绍vi\vim是Linux中最经典的文本编辑器同图形化界面中的文本编辑器一样,vi是命令行下对文本文件进......
  • 初识Linux shell
    初识Linuxshell1.Linux内核的组成Linux系统的核心是内核。内核控制着计算机系统的所有硬件和软件,在必要时分配硬件,并根据需要执行软件。1.1系统内存管理​ 操作系统内核的主要功能之一是内存管理。​ 内核不仅管理服务器上的可用物理内存,还可以创建并管理虚拟内存(实际并......
  • jvm 初识
    总结jvm是一套规范,只要实现了相关规定就可以视为是一个jvm,jdk的是hotSpot,不同jdk版本的jvm也有细微差异jvm不仅可以作为java的运行环境,还能作为别的语言的运行环境,比如kotlin、groovy等java能跨平台是因为不同平台都有对应的jvm,jvm能把同样的java文件生成......
  • 初识爬虫
    初识爬虫一、预备知识协议:就是两个计算机之间为了能够流畅的进行沟通而设置的一个君子协定,常见的协议有TCP/IP,SOAP协议,HTTP协议,SMTP协议等等。HTTP协议,中文名为“超文本传输协议”,是用万维网(WWW)服务器传输超文本到本地浏览器的传送协议。1、请求1请求行->请求方式(get/post......
  • Spring Security系列教程-初识Spring Security
    前言在开始学习SpringSecurity系列教程之前,小千先带大家来了解一下SpringSecurity,看看它到底是什么,有哪些功能,有什么特点,以及它与别的同类框架相比,有什么不同,我们以后学习任何一个新技术,其实都可以遵循"3W1H"法则,这样学习起来才能更有条理。一.SpringSecurity概念首先请各位跟......