当前位置: 首页 > Web前端 > HTML

单步调试找到cy.visit的实现源码(一)——我在这里找到了BlueBird

时间:2023-04-02 13:42:54 HTML

的_stack_utils__WEBPACK_IMPORTED_MODULE_5__,这些导入的模块可以在文件头看到:harmonyimport:cypress_runner.js源码:https://stackoverflow.com/que...其实是ES6导入语法:https://en.wikipedia.org/wiki...(已废弃)作为第一个“ECMAScriptHarmony”规范,它也被称为“ES6和谐”。和谐是项目代码。创建一个chainer实例供以后访问:Chainer实例创建:调用chainer实例的visit方法:chainer实例的原型链上有一个visit方法:参数是visit传入的url和beforeHook:这里的enqueue是创建的chainerid和相应命令的名称和参数。单步调试:找到这个commandFns对象:visit的实现也在里面:这里可以看到visit实现的具体位置:点击这个超链接进入,设置断点:然后继续执行Cypress,断点被触发,可以看到visit命令是如何派发的:options填充的代码和AJAX或者fetchAPI调用前option或者header填充的准备很相似:先给常量constvisit赋一个箭头函数,然后执行箭头函数immediately:我们调用cy.visit时指定的url去哪了?继续执行,进入then指定的回调函数:下图中的代码意思是调用../driver/src/cypress/utils.ts文件中的utility函数:闭包维护的url:封装一个对象对于这个url:终于看到曙光了,requestUrl函数,从名字上看,应该和我们要找的目标很接近:requestUrl函数的实现:当这个函数被触发时,已经收到了来自url,所以这不是我们正在寻找的功能:收到的响应:这只蓝鸟到底是什么?待续。