return cy.request('https://webiste.com/config.json').then( (appConfig) => {
// save to Cypress.config
});
Run Code Online (Sandbox Code Playgroud)
上面的代码抛出了这个错误:
插件文件导出的函数抛出错误。
我们调用了'C:\projects\nfe-credit-flow\cypress\plugins\index.js'导出的函数,但是它抛出了一个错误。
抛出了以下错误:
ReferenceError: cy 未在 Promise.then (C:\projects\nfe-credit-flow\cypress\plugins\index.js:74:4) at tryCatcher (C:\projects\nfe-credit-flow\node_modules\ bluebird\js\release\util.js:16:23) 在 Promise._settlePromiseFromHandler (C:\projects\nfe-credit-flow\node_modules\bluebird\js\release\promise.js:512:31) 在 Promise._settlePromise (C:\projects\nfe-credit-flow\node_modules\bluebird\js\release\promise.js:569:18) 在 Promise._settlePromise0 (C:\projects\nfe-credit-flow\node_modules\bluebird\js\ release\promise.js:614:10) 在 Promise._settlePromises (C:\projects\nfe-credit-flow\node_modules\bluebird\js\release\promise.js:693:18)
插件运行 node.js 任务,而 cypress 在浏览器中运行。您应该使用 npm 包来request
执行此操作。该config
变量可以从插件访问,例如module.exports = (on, config) => { ...
由于 cypress 使用 request,因此最好具有相同的依赖项,而不是像 axios 这样的新依赖项。所以只是npm i request
比:
const request = require('request');
request('https://webiste.com/config.json').then( (appConfig) => {
config.whatever = appConfig.whatever
});
Run Code Online (Sandbox Code Playgroud)
或者您可以使用merge
函数(例如来自 loadsh)来覆盖config
.
归档时间: |
|
查看次数: |
1562 次 |
最近记录: |