如果想从头学起Cypress,可以看下面的系列文章哦

https://www.cnblogs.com/poloyy/category/1768839.html

前言

前面也介绍过 Cypress 命令行,先来看看它的语法格式

cypress <command> [options]
  • command:必选参数,可以是:open、run、install、verify、cache、help、version
  • options:可选参数,不同 command 有不同的 options

cypress open 简介

简介

在交互模式下打开 Cypress 测试运行器(Test Runner)

在测试用例的运行过程中,测试用例的每一条命令,每一个操作都将显式地显示在测试运行器中

最简单的命令

进入项目根目录下

yarn run cypress open

通过 package.json 指定 scripts

"cypress:open": "cypress open"

yarn 运行

yarn cypress:open

npm 运行

npm run cypress:open

cypress open 详解

前言

  • cypress open 运行时支持指定多个参数,指定的参数将自动应用于你通过测试运行器打开的项目
  • 这些参数讲应用于每一次测试运行,直到关闭测试运行器为止
  • 指定的参数将会覆盖配置文件 cypress.json 中的相同参数

可选参数列表

--browser

默认情况下,Cypress 会自动查找你系统中可使用的浏览器,但是目前只有 Chrome 家族的浏览器才支持

cypress open --browser /usr/bin/chromium

--config

cypress open --config pageLoadTimeout=100000,watchForFileChanges=false

--config-file

默认情况下,所有的配置项都定义在 cypress.json 文件中

cypress open --config-file tests/cypress-config.json

--env

# 单个环境变量
cypress open --env host=api.dev.local # 多个环境变量
cypress open --env host=api.dev.local,port=4222 # 值为 json 字符串
cypress open --env flags='{"feature-a":true,"feature-b":false}'

--global

允许在多个嵌套项目中共享同一个安装好的 Cypress 版本

cypress open --global

--port

cypress open --port 8080

--project

用来指定待运行的项目,如果你的项目包含多个子项目,可以用此参数来运行指定的子项目(包括加载对应项目的配置)

cypress open --project ./some/nested/folder

Cypress run 详解

作用

默认情况下,Cypress 会将 electron 作为无头浏览器运行完所有的测试用例

可选参数列表

--browser

只要系统上可以检测到,browser 参数可以被设置为 chrome ,canary,chromium,electron,Cypress 会试图自动找到已经装好的浏览器

cypress run --browser chrome

--config、--config-file、--env、--port、--help、--project

和上面 cypress open 用法一致

--spec

  • 指定运行哪些测试文件夹/文件
  • 如果不指定测试文件夹,Cypress 将为你自动运行所有存在 Integration 文件夹下的测试用例

栗子

运行某个单独的测试文件而不是所有的测试用例

cypress run --spec "cypress/integration/examples/actions.spec.js"

运行*号匹配到的文件目录(注意:推荐使用双星号**)

cypress run --spec "cypress/integration/login/**/*"

运行指定多个测试文件

cypress run --spec "cypress/integration/examples/actions.spec.js,cypress/integration/examples/files.spec.js"

--record --key

在测试运行时录制视频

cypress run --record --key 

如果在 cypress.json 中设置了环境变量 CYPRESS_RECORD_KEY,你可以忽略 --key 参数。

--ci-build-id

用于分组运行或者并行运行,它通过指定一个唯一的标识符来实现,必须配合参数 --group 或 --parallel 才能使用

cypress run --ci-build-id BUILD_NUMBER

通常这个标识符被设置为持续集成环境的环境变量

--group

在一次运行中,把符合条件的测试用例分组展示

cypress run --group admin-tests --spec 'cypress/integration/admin/**/*'

--parallel

在多台机器上并行运行测试文件(后面文章再展开详解)

cypress run --record --parallel --group e2e-staging-specs

结合 --group 使用

--headed

cypress run --headed chrome

默认是无头模式,加上就是使用 chrome 浏览器运行

--no-exit

cypress run --headed --no-exit

结合 --headed 来指定测试运行时显示及在运行后查看命令日志

--reporter、--reporter-options

  • 用来指定 Mocha 的 reporter
  • 在测试报告文章中有详细讲解过,https://www.cnblogs.com/poloyy/p/13030898.html

cypress verify 详解

作用

验证 Cypress 安装正确并可用

实际

C:\Users\user\Desktop\py\MyCypress>yarn run cypress verify
yarn run v1.22.4
$ C:\Users\user\Desktop\py\MyCypress\node_modules\.bin\cypress verify √ Verified Cypress! C:\Users\user\AppData\Local\Cypress\Cache\5.1.\Cypress
Done in .99s.

cypress verison 详解

查看版本信息

C:\Users\user\Desktop\py\MyCypress>yarn run cypress version
yarn run v1.22.4
$ C:\Users\user\Desktop\py\MyCypress\node_modules\.bin\cypress version
Cypress package version: 5.1.
Cypress binary version: 5.1.
Done in .69s.

Cypress系列(44)- 命令行运行 Cypress的更多相关文章

  1. Cypress系列(60)- 运行时的截图和录屏

    如果想从头学起Cypress,可以看下面的系列文章哦 https://www.cnblogs.com/poloyy/category/1768839.html 背景 在测试运行时截图和录屏能够在测试错 ...

  2. jmeter命令行运行-分布式测试

    上一篇文章我们说到了jmeter命令行运行但是是单节点下的, jmeter底层用java开发,耗内存.cpu,如果项目要求大并发去压测服务端的话,jmeter单节点难以完成大并发的请求,这时就需要对j ...

  3. jmeter命令行运行-单节点

    jmeter有自己的GUI页面,但是当线程数很多或者现在有很多的测试场景都是基于linux下进行压测,这时我们可以使用jmeter的命令行方式来执行测试,该篇文章介绍jmeter单节点命令运行方式. ...

  4. 从命令行运行django数据库操作

    从命令行运行django数据库操作,报错: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_T ...

  5. python命令行运行在win和Linux系统的不同

    今天,在完成一个小的python习题,习题的主要内容是读取一个帮助模块,并保存到本地文件. 知道是用pydoc进行模块的读取,但是在windows系统下,调用os模块之后,结果总是为空. 核心语句: ...

  6. 含有package关键字的java文件在命令行运行报错

    程序中含有package关键字,使用命令行运行程序时出现"找不到或无法加载主类",而使用Eclipse软件可以正常运行程序的可能解决办法. 在包下的类,在Java源文件的地方编译后 ...

  7. 命令行运行Android Robotium自动化用例或单元测试用例

    本文目录 1.运行所有的测试用例 2.运行单个测试类或某个TestSuite 3.运行某个测试类里面的某个测试方法 4.运行两个不同的测试类或类中的方法 命令行运行Android Robotium自动 ...

  8. loadrunner 运行场景-命令行运行场景

    运行场景-命令行运行场景 by:授客 QQ:1033553122 1 相对路径与绝对路径 在场景中为脚本指定一个相对位置,可以是相对于当前场景目录或lr安装目录. 当你运行一个场景,场景自动从这个相对 ...

  9. 安装了nodejs后在命令行运行npm报错

    安装了nodejs后在命令行运行npm报错:Error: Cannot find module 'internal/util/types' 解决方法:删除目录“C:\Users\mengxiaobo\ ...

随机推荐

  1. 开启CAN通信学习(二)——基于Kvaser的CAN通信案例

    1 案例硬件介绍 Kvaser是瑞典的一家专门提供CAN和LIN总线分析仪及数据记录仪的公司,在CAN产品开发领域已经有近30年的经验,本案例选择的CAN通信硬件型号是Kvaser Leaf Ligh ...

  2. Python-关于正则表达式的总结

    什么是正则表达式? 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),用于字符串的 匹配 和 提取 等操作.正则表达式在所有编程语言中都是通用的. 很多人 ...

  3. java_Object类、日期时间类、System类、包装类

    Object类 java.lang.Object 类是所有类的父类.它描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特别指定父类, 那么默认则继承自O ...

  4. C++输出错误信息perror、strerror以及全局变量errno

    头文件:#include<stdio.h>函数:perror.strerror,全局变量:errno.使用方法: FILE *fp; if((fp = fopen("test.t ...

  5. C#开发笔记之06-为什么要尽可能的使用尾递归,编译器会为它做优化吗?

    C#开发笔记概述 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/962 访问. 从A函数跳转到B函数,在B函数执行完毕后 ...

  6. vue.js中 v-for,v-on,v-model,结合应用案例---记事本

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. STL函数库的应用第二弹——快排sort函数与结构体关键字排序

    时隔20多天,本蒟蒻终于记起了他的博客园密码!!! 废话不多说,今天主题:STL快排函数sort()与结构体关键字排序 Part 1:引入和导语 首先,我们需要知道,algorithm库里有一些奇怪的 ...

  8. Salesforce学习笔记之Actions and Recommendations

    设置Actions and Recommendations(Salesforce提供的标准元素),Salesforce上的文档说有两种方法,即Deployment和Process Builder(通过 ...

  9. Dataway与SpringBoot集成干掉后台开发

    Dataway与SpringBoot集成干掉后台开发 Dataway让SpringBoot不在需要Controller.Service.DAO.Mapper了. 第一步:引入相关依赖 <depe ...

  10. 多线程的指令重排问题:as-if-serial语义,happens-before语义;volatile关键字,volatile和synchronized的区别

    一.指令重排问题 你写的代码有可能,根本没有按照你期望的顺序执行,因为编译器和 CPU 会尝试指令重排来让代码运行更高效,这就是指令重排. 1.1 虚拟机层面 我们都知道CPU执行指令的时候,访问内存 ...