Cypress 本身启动过程的调试
这个文件:node_modules\cypress\bin\cypress
里面的内容:
#!/usr/bin/env noderequire('../lib/cli').init()
很多 require:
找到 init 方法:
我们执行的 yarn cypress:open, 执行的应该是这个 open.js 文件里的内容吧。
验证一下就知道了。在 open.js 里添加一行打印语句。如果我们重新执行 cypress:open, 并且看到了这条打印语句,说明我们的猜想是正确的:
果然,我们的猜想是正确的。
下一个问题:如何调试 cypress:open 这个启动过程本身?
我们再回到 .bin 文件夹下的 cypress.cmd
文件,如何知道运行时我们执行的是图例1 还是图例2 的 if 分支呢?故意将 if 分支里的路径胡乱修改一下,然后执行,根据报错的消息即可判断。
运行时,试图查找 cypress2,说明进入上图的 else 分支:
那么我们就给这个分支加上 --inspect-brk
的 option:
重新执行,现在应该就可以单步调试了:
果然,现在停在了 require('../lib/cli').init()
这行语句,我们就可以单步调试 Cypress 了:
开始单步调试,从 process.env 传递进来的命令行参数:open:
创建一个新的 command 实例:
这里加载 exec 文件夹下的 open.js 文件,执行对应的 module:
在 open.js module 的 start 函数里设置断点:
工作目录:
这里引入一个问题,这个 debug module 如何打开调试模式?
轻量级:
居然是这个 path:
C:\Users\I042416\AppData\Local\Cypress\Cache\8.5.0\Cypress
这还有一个 exe 文件:足足有 130 MB:
一个 windows 客户端:
未完待续。
Cypress 本身启动过程的调试相关推荐
- Bochs调试Linux内核6 - 启动过程调试 - 跳到bootsect引导程序执行
接此,Bochs调试Linux内核5 - 启动过程调试 - 认识Bootsect.S_bcbobo21cn的专栏-CSDN博客 看一下,0x00007c11 这里是重复执行串传送:而后一条 ...
- 通过gdb调试分析Linux内核的启动过程
作者:吴乐 山东师范大学 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验流程 1.打开环境 执 ...
- 关于 Cypress 的启动和 cy.visit 的调试
npx 是 npm 自带的命令行工具: 在项目根目录下,使用命令行 npx cypress open 启动: 也可以利用 yarn 启动:yarn run cypress open 或者是直接执行 n ...
- Spring 容器的启动过程
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 本文来源:http://r6f.cn/b47K 一. 前言 ...
- linux系统配置之开机启动过程(centos)
1.开机流程如下: 2.BIOS BIOS是英文"Basic Input Output System"的缩略词,直译过来后中文名称就是"基本输入输出系统".其实 ...
- WINCE6.0+S3C2443的启动过程---内核启动
********************************LoongEmbedded******************************** 作者:LoongEmbedded(kandi ...
- Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
原文地址: http://blog.csdn.net/luoshengyang/article/details/6629298 在前面一篇文章浅谈Android系统进程间通信(IPC)机制Binder ...
- Tomcat源码解析三:tomcat的启动过程
Tomcat组件生命周期管理 在Tomcat总体结构 (Tomcat源代码解析之二)中,我们列出了Tomcat中Server,Service,Connector,Engine,Host,Context ...
- spring容器_Spring 容器的启动过程探秘
一. 前言 Spring家族特别庞大,对于开发人员而言,要想全面征服Spring家族,得花费不少的力气.俗话说,打蛇打七寸,那么Spring家族的"七寸"是什么呢?我心目中的答案一 ...
最新文章
- mybatis中传入String类型参数异常
- 20款效果非常棒的 jQuery 插件分享
- 网络文件系统(samba、nfs、iscsi)
- JAVA设计模式--辛格尔顿
- 去除并替换hselect框右边的箭头的css方法
- awk 中 {print $1} 什么意思
- Date型时间获取每周第一天,每月第一天,每季第一天,每年第一天
- 加工中心宏程序生成器_宏程序G1铣锥度螺纹NPT
- 保存自动修复_模糊照片修清晰,使用自动修复软件,做出专业级老照片修复效果...
- 常见排序算法的时间复杂度汇总
- 生活之游戏中的心理学
- 利用旧电脑搭建NAS(黑群晖)
- linux 回收站目录,探索linux系统回收站与U盘中的.Trash文件夹区别之处
- calico更换ip地址池-k8s
- 给微信小程序页面加载背景图片解决方案
- 计算机教 学计划,计算机教学计划
- BI工具对比|Smartbi与亿信ABI两款BI数据看板软件对比
- anaconda环境安装搜不到的环境
- 常用文献管理软件比较
- 微信字号调整问题 html,微信H5适配 解决微信调整字体大小导致Html5页面混乱
热门文章
- 新兴顶级双非大学,计算机系毕业情况如何?
- 文档编辑器与远端文件存储(Summernote)
- UltraEdit编辑器打开其他软件编辑文件时出现中文乱码的解决方法
- 服务器主板最多能装几个cpu,主板装两颗CPU:性能会更强吗?
- 地震波ifft matlab,地震波观测系统的MATLAB仿真报告
- android录音波浪动画_Android 自定义 view 实现波浪动画进度条
- 存储网络RDMA:NVME over RDMA
- 推挽电路---采用二极管消除交越失真----克服交越失真的互补推挽输出电路图
- idea设置关键字颜色_IntelliJ IDEA配置颜色与字体
- Python学习笔记——数据分析之数据可视化工具实战案例:世界高峰数据可视化