Cypress系列(44)- 命令行运行 Cypress
前言
前面也介绍过 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:UsersuserDesktoppyMyCypress>yarn run cypress verify
yarn run v1.22.4
$ C:UsersuserDesktoppyMyCypressnode_modules.bincypress verify
√ Verified Cypress! C:UsersuserAppDataLocalCypressCache5.1.0Cypress
Done in 3.99s.
cypress verison 详解
查看版本信息
C:UsersuserDesktoppyMyCypress>yarn run cypress version
yarn run v1.22.4
$ C:UsersuserDesktoppyMyCypressnode_modules.bincypress version
Cypress package version: 5.1.0
Cypress binary version: 5.1.0
Done in 0.69s.
- C#调用C和C++函数的一点区别
- EF+MySQL乐观锁控制电商并发下单扣减库存,在高并发下的问题
- 合并求取分组记录的第一条数据
- 一个脑洞“颇大”的恶搞链接
- SQL 行列转换简单示例
- SQLSERVER 2012计算上一条,下一条数据的函数
- 使用命名管道实现进程间通信
- 获取SqlServer存储过程定义的3种方法
- 【自然框架】开源社区活动,会员注册的第一份代码!
- CentOS 7 安装Mono 和 MonoDevelop
- 【自然框架】注册会员活动——第一份代码的修改建议(第一版)
- 【视频】自然框架之分页控件的使用方法(一) PostBack方式的一般分页方式
- Java中的Socket编程学习
- 【视频】自然框架之分页控件的使用方法(二) 下载、DLL说明和web.config的设置
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 浏览器安全一 / Chrome XSS Auditor bypass
- 数据库PostrageSQL-服务器配置文件位置
- 数据库PostrageSQL-服务器配置设置参数
- 一个基于ngrx的计数器例子
- SAP Spartacus checkout Shipping address的页面实现
- 使用Let's Encrypt保护你的数据包
- php7 + nginx + mysql 安装小计
- 掌阅iReader某站Python漏洞挖掘
- SAP Spartacus payment detail page的CMS模型
- wecenter反序列化造成任意SQL语句执行
- SAP Spartacus 读取payment detail数据的API
- SRCMS 多处越权+权限提升管理员漏洞
- SAP Spartacus把指定产品添加到购物车的API
- MyBatis源码解析之基础模块—Plugin
- php框架slim架构上存在XXE漏洞(XXE的典型存在形式)