cypress自动化测试工具开发指南
待到秋来九月八,我花开后百花杀
- 简介
- cypress安装教程(MacOS版本)
- 安装前准备
- 安装方式
- 安装后使用
- cucumber插件安装
- cypress的基础配置
- 插件支持配置——package.json文件配置
- cypress.json配置及详解
- 创建一个cypress工程
简介
cypress是基于JavaScript语言为编写语言的自动化测试开发工具,配合使用cucumber测试开发框架,以node.js为服务进程,可以简单的帮助测试人员完成需要人工手点的所有页面人机交互操作,可以模拟键盘和鼠标输入,快捷完成case的测试。
cypress提供了官方API调用文档,可以帮助开发者快速入门:
cypress开发文档 :https://docs.cypress.io/api/table-of-contents
cypress安装教程(MacOS版本)
安装前准备
需要node.js 12 or 14 版本
注意:
在安装之前一定要先初始化npm npm init
需要自行设置参数
或者
npm init -y
安装方式
- 通过npm安装Cypress
cd /your/project/path
npm install cypress --save-dev
这将在本地安装Cypress作为项目的开发依赖项。
注意:确保你已经运行过npm init或者有node_modules文件夹或包package.Json文件,以确保cypress安装在正
确的目录下。
- 通过yarn安装Cypress
cd /your/project/path
yarn add cypress --dev
- 直接下载Demo
下载地址:https://download.cypress.io/desktop 可以指定版本:https://download.cypress.io/desktop/6.8.0
安装后使用
- 直接启动
在代码编写完毕之后,可以通过在项目根目录下,直接启动:
在你的项目根目录下执行以下命令:
./node_modules/.bin/cypress open
或者
$(npm bin)/cypress open
或者
npx cypress open
或者
Or by using yarn
打开后显示
cucumber插件安装
- npm安装
npm install --save-dev cypress-cucumber-preprocessor
配置:
1. 添加到cypree插件
vim cypress/plugins/index.js const cucumber =
require(‘cypress-cucumber-preprocessor’).default module.exports = (on,
config) => { on(‘file:preprocessor’, cucumber()) }
2. 在Cypress配置中添加对功能文件的支持
vim cypress.json
{
“testFiles”: “**/*.feature”
}
3. 请使用cosmiconfig为插件创建一个配置,例如,通过添加这个部分到你package.json:
vim package.json
#追加到package.json “cypress-cucumber-preprocessor”: { “nonGlobalStepDefinitions”: true }
- 官方Demo直接运行
demo地址:https://github.com/TheBrainFamily/cypress-cucumber-example
注意:
下载后使用ide打开,若没有npm,安装后即可
打开⻅上章节:打开Cypress
- Ide插件安装
安装后重启idea
cypress的基础配置
插件支持配置——package.json文件配置
Option | Default value | Description |
---|---|---|
commonPath |
当 nonGlobalStepDefinitions 为 true ,路径为cypress/integration/common 当 nonGlobalStepDefinitions 为 false,路径为cypress/support/step_definitions 当 nonGlobalStepBaseDir 为 defined,路径为${nonGlobalStepBaseDir}/common
|
定义包含测试的所有常见步骤的文件夹的路径。 当 nonGlobalStepBaseDir 为 defined 此路径是从该基本位置定义的. 例如${nonGlobalStepBaseDir}/${commonPath} .
|
nonGlobalStepDefinitions | false | 如果为 true,则使用 Cypress Cucumber Preprocessor Style 模式来放置步骤定义文件。如果为 false,我们将使用“oldschool”(一切都是全局的)Cucumber 风格。 |
nonGlobalStepBaseDir | undefined |
如果是defined且 nonGlobalStepDefinitions 也为 true,则步骤定义搜索具有功能名称的文件夹将从此处提供的目录开始。已经考虑了 cwd。例如test/step_definitions 。
|
stepDefinitions |
当 nonGlobalStepDefinitions 为 true ,路径为cypress/integration 当 nonGlobalStepDefinitions 为 false,路径为cypress/support/step_definitions
|
包含我们的步骤定义的文件夹的路径。 |
package.json中将会指明当前文件版本、使用的cucumber框架版本、cypress测试工具版本、所需要的支持插件名称以及版本号,以及测试时的主文件,这很重要,决定你写的cypress代码能否运行,并且需要你在cypress/plugins/index.js
写入
const cucumber = require('cypress-cucumber-preprocessor').defaultmodule.exports = (on, config) => {on('file:preprocessor', cucumber())
}
这样才可以使cucumber插件生效,cucumber框架将为我们标准化开发cypress自动化测试提供帮助
cypress.json配置及详解
在实际使用cypress过程中,cypress是支持直接对js文件直接运行的,但如果所写的自动化测试代码在不同的文件,当启动测试时需要在不同的文件间切换,每次切换需要重启浏览器,这使得测试过程显得十分臃肿,cucumber建议:可以通过创建.features文件来利用这一点。您可以选择在目录的根目录cypress/integrations或每个目录中创建唯一的一个文件。
创建一个cypress工程
首先创建一个node项目,对package.json文件进行配置,
除了必要的cypress、以及cypress生成错误报告要使用的mochawesome自定义报告生成器,其他依赖可以根据个人需求在package.json中编辑,再运行npm install,npm将会自动生成cypress的工程结构和所需依赖。
当然使用上述安装方式也可也直接实现cypress的创建,但建议使用npm统一创建,统一管理。
随后就可以我们的标准化开发了!
cypress标准化开发—cucumber的高效利用:https://blog.csdn.net/qq_40893595/article/details/120313639
cypress自动化测试工具开发指南相关推荐
- android 坐标距离计算器,距离测量-地图计算工具-开发指南-Android 地图SDK | 高德地图API...
从搜索功能6.1.0 版本开始支持距离测量功能.使用此方法可以在不请求驾车出行路线规划接口的同时完成距离计算.目前支持直线距离和驾车距离的测量. 第 1 步,初始化 DistanceSearch 对象 ...
- java 高德地图错误码_错误码对照表-实用工具-开发指南-Android 地图SDK | 高德地图API...
新版响应码状态描述问题排查策略 1000请求正常服务调用正常,有结果返回 1001开发者签名未通过1.开发者在Key控制台中,开启了"数字签名"功能,但没有按照指定算法生成&quo ...
- python自动化测试工具开发_Python+Selenium自动化测试教程连载(2)
上一期介绍了自动化测试Python+Selenium框架的基本介绍,这期讲元素定位. 元素定位 1.WEB自动化时利器--浏览器自带开发者工具 几乎所有浏览器都自带前端调试工具,也就是我们说的开发者工 ...
- 【PC桌面自动化测试工具开发笔记】(一)基于pywinauto的元素定位工具
(一)基于pywinauto的元素定位工具 前言 后台截图的实现 win32桌面绘图 源码 结果展示 前言 使用pywinauto库实现PC桌面应用程序自动化查找元素时遇到以下问题: 使用pywina ...
- android绘制自定义室内地图,自定义样式-实用工具-开发指南-Android 室内地图SDK | 高德地图API...
显示样式自定义 1)说明: 设置用户自定义的配置样式文件,包括类型映射配置和参数配置. 配置文件包括两类,一类配置商铺类别对应的点线面属性,即categoryType.csv文件,另一类配置点线面属性 ...
- 种草Cypress和TestCafe,QA同学一定想了解的Web UI自动化测试工具
摘要:Cypress和TestCafe这两个工具相比于Selenium都更加的轻量级,且在不同的方面有了改进,比如安装更简单,增加了内置等待机制,调试更加方便等. Cypress.TestCafe.P ...
- AI创业公司最佳「开发工具」指南火了,还发现了个可挑战Jupyter的「杀手」
白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一份AI创业公司最佳「开发工具」指南,火了. Reddit上,一份来自41家创业公司的调研答案,热度已达471. 除了比较流行的开发环境J ...
- 自动化电子测试软件,自主开发的MIL测试自动化测试工具
37年,55颗卫星,就在今天北斗真的成功了. 上一篇简单文章中介绍了一下MIL测试的流程,本文章将介绍一个小编自主开发的MIL测试用的自动化测试工具. 目前国内主流测试工具主要有三种类型: 基于第三方 ...
- qdir 类似工具_Qt 5.9 C++开发指南 PDF 高质量影印版
给大家带来的一篇关于Qt开发相关的电子书资源,介绍了关于QT5.9编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小276.3 MB,王维波编写,目前豆瓣.亚马逊.当当.京东等电子书综 ...
最新文章
- .NET设计模式(2):单件模式(Singleton Pattern)
- mysql 连接 优化_(一)MySQL 连接优化
- dedecms 会员网站UID注册名转MID
- 问题集锦(48-51)
- python语言入门书籍推荐-入门python有什么好的书籍推荐?
- mongodb windows安装
- exchange揭开拨号音还原法的神秘面纱
- matlab中predictor怎么填,在MATLAB中求解非線性有限元
- 一台25万公里卡罗拉的返老还童记
- 重新认识Docker Compose之Sidecar模式
- kite 使用 go_使用Apache Storm和Kite SDK Morphlines的可配置ETL处理
- mysql dump 数据时间_使用mysqldump备份数据及做时间点还原测试步骤
- 1.7 编程基础之字符串 25 最长最短单词 python
- 案例详解:Linux文件系统异常导致数据库文件无法访问
- HTTP状态代码列表
- Java、JSP药品库房管理系统
- Linux内核数据结构之哈希表
- XML Schema快速入门(三)语法之复杂类型
- Android——ViewHolder
- 大数据实时处理第三周课
热门文章
- Android应用本地离线激活认证方案—so文件授权认证
- vue中watch的初次监听和深度监听
- SPARK SHUFFLE中 ShuffleId BlockManagerId 以及 与ESS(External Shuffle Server)交互
- 《这就是软件工程师》读书笔记
- MOD、SCON、PCON寄存器的配置
- Learning to Generalize Unseen Domains via Memory-based Multi-Source Meta-Learning for Person Re-ID
- 如何用地址栏查看网页的源代码
- MySQL5.7 常见调优参数速查
- python mpi开销_基于Python的MPI
- Foxmail添加腾讯企业邮