通过之前的一些介绍,已经大概其明白cypress是个啥,但是具体使用的细节点还有很多,需要一步步的去学习。

在安装好cypress之后,会生成一个默认项目,这个项目结构里的各个文件夹是干嘛使的呢?

一、fixtures

这个名称简直太熟悉了,pytest里我研究最多的就是关于fixtures的用法了。不过在cypress中,倒也没那么复杂了,主要是用来存放静态数据用的。这个位置

可以通过配置指定其他的目录。

比如说测试的时候需要用到某个依赖接口的返回值,那么就可以直接copy接口真正的返回值到后缀是.json的文件里,配合cy.fixture()就可以使用这个

文件里的数据了,不需要真正的去请求那个接口。

示例代码里有个example.json的文件,里面内容是:

{
"name": "Using fixtures to represent data",
"email": "hello@cypress.io",
"body": "Fixtures are a great way to mock data for responses to routes"
}

在测试文件里就可以使用了。当发出一个匹配GET **/comments/*的请求时,Cypress会拦截它并使用example.json中的对象进行回复。

所以,使用fixtures有如下优点:

  • 去除对外部功能模块的依赖。
  • 可以在测试文件里用上你想要的返回值。
  • 因为没有真正发送网络请求而是直接从本地文件里取,所以速度也更快了。

二、integration

这里就是存放测试文件的地方了,官方的示例测试用例文件有很多,可以阅读之后再运行一下。



示例代码里都是.js文件,不过除了js文件之外,还有几种后缀名的文件,cypress也会把它当成测试文件:

  • .jsx,是带有扩展的JavaScript文件,其中可以包含处理xml的ECMAScript。
  • .coffee,是一套JavaScript的转移语言,相比于JavaScript,语法更严格。
  • .cjsx,CoffeeScript中的jsx文件。

这个同样也可以配置到别的目录。

三、plugins

用于存放插件。

插件比较特殊,是在项目加载之前、浏览器启动之前和测试执行期间在Node中执行用的。因为cypress的一个独有特点就是所有在浏览器之内运行,因此

如果需要做一些浏览器之外的动作,直接通过cypress就比较困难了。这时候就要通过插件去扩展cypress的内部行为,也可以自定义自己的插件。

这点跟pytest的插件差不多意思,都是用来扩展框架用的。

应用场景举例:

  • 动态修改环境变量。
  • 修改特定浏览器的启动参数。

四、support

默认情况下,项目都会包含一个cypress/support/index.js支持文件。在每个测试文件运行之前,cypress都会自动加载这个支持文件。

比如有些动作是适用于全局的,那么就可以放在这里。比如说,在cypress/support/index.js里增加如下代码:

beforeEach(() => {
cy.log('在每个测试执行前都会运行我cypress/support/index.js!!!!!!')
})

运行后,会看到每个测试用例都会有个log输出。

以上就是默认结构的介绍,cypress是支持自定义项目结构的,这个到后面继续了。

【cypress】6. cypress的默认文件结构介绍的更多相关文章

  1. Cypress系列(4)- 解析 Cypress 的默认文件结构

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 默认文件结构 在使用 cypress o ...

  2. MySQL 中的默认数据库介绍

    MySQL 中的默认数据库介绍:https://dataedo.com/kb/databases/mysql/default-databases-schemas 默认数据库 官方文档 informat ...

  3. Cypress系列(13)- 详细介绍 Cypress Test Runner

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 Test Runner 也叫运行器 ...

  4. cypress的EZ-USB对于USB的介绍

    Host is MasterThis is a fundamental USB concept. There is exactly onemaster in a USB system: the hos ...

  5. 1、Linux文件结构介绍

    文件目录介绍 bin 可执行的命令 boot 启动相关的程序:boot→grub→grub.conf timeout修改启动时间 dev 设备.硬件相关信息 etc 程序.系统配置文件 home 用户 ...

  6. akka actors默认邮箱介绍

    1. UnboundedMailbox is the default unbounded MailboxType used by Akka Actors ”无界邮箱“ 是akka actors默认使用 ...

  7. opencv学习之路【四】——opencv文件结构介绍

    这里要感谢这篇博主的文章 部分内容转载自此 opencv在2.3版本之前 都是用的c语言实现的 而在2.3以后的版本 做了很多重大的改变 其中最主要的是用c++重写大部分结构 然后文件的结构和2.0之 ...

  8. Cypress系列(5)- 自定义 Cypress

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 前言 Cypress 不仅支持用户自定义 ...

  9. Cypress与TestCafe WebUI端到端测试框架简介

    近期接触了Cypress和TestCafe,两个测试框架都基于Node.js,都不再使用Selenium+WebDriver,而且开箱即用,非常轻量级,就冲着不再使用WebDriver这一点,极大地勾 ...

随机推荐

  1. 设置ViewPager 自动滑动时间,速度 方便展示动画

    ViewPager.setCurrentItem(position),即使已设置动画,但是没有动画效果 原因:因为ViewPager滑动之前的时间间隔太短,可以通过反射,去修改ViewPager自动滑 ...

  2. PID算法验证

    算法: struct PID { float kp; float kpnfac; float ki; float kinfac; float kd; }; float gCurPPM = 1300; ...

  3. C#实现JWT无状态验证的实战应用

    前言 本文主要介绍JWT的实战运用. 准备工作 首先我们创建一个Asp.Net的,包含MVC和WebApi的Web项目. 然后使用Nuget搜索JWT,安装JWT类库,如下图. 设计思路 这里我们简单 ...

  4. 这是你没见过的不一样的redis

    转: 这是你没见过的不一样的redis 提到Redis,大家一定会想到的几个点是什么呢? 高并发,KV存储,内存数据库,丰富的数据结构,单线程(6版本之前) 那么,接下来,上面提到的这些,都会一一给大 ...

  5. C++树——遍历二叉树

    在讲遍历之前,我们要先创建一个树: #include <iostream> using namespace std; typedef struct node; typedef node * ...

  6. FPGA的开发板

    板卡架构 板载FPGA(K7-325T)处理24端口10/100/1000M以太网数据: FPGA外挂4Gbit的DDR3颗粒,最大支持800MHz: 板载CPU进行系统配置.管理,并与客户端软件通信 ...

  7. C# 应用 - 多线程 6) 处理同步数据之手动同步 AutoResetEvent 和 ManualResetEvent

    1. 类的关系 AutoResetEvent 和 ManualResetEvent 都继承自 System.Threading.EventWaitHandle 类(EventWaitHandle 继承 ...

  8. PHP配置 3. 配置open_basedir

    open_basedir将网站限定在指定的目录,做目录的隔离 先在php.ini中设置open_basedir: # vim /usr/local/php/etc/php.ini //搜索open_b ...

  9. Kotlin/Java Base64编码和解码(图片、文件)

    原文: Kotlin/Java Base64编码和解码(图片.文件) | Stars-One的杂货小窝 最近在项目中使用到了Base64编码和解码,便是稍微写篇文章记录一下 PS:本文代码都是使用Ko ...

  10. mysql数据库的数据备份,以及开启日志

    导出数据: location代表需要保存的数据文件的位置,默认保存在 C:\ProgramData\MySQL\MySQL Server 5.7\Data(Windows10系统位置,其他系统位置自行 ...