cy.request не работает из файла плагина Cypress? - PullRequest
0 голосов
/ 23 ноября 2018

 return cy.request('https://webiste.com/config.json').then( (appConfig) => {
  // save to Cypress.config
 });

Приведенный выше код выдал эту ошибку:

Функция, экспортированная из файла плагинов, вызвала ошибку.

Мы вызвали экспортированную функциюот 'C: \ projects \ nfe-credit-flow \ cypress \ plugins \ index.js', но выдает ошибку.

Произошла следующая ошибка:

ReferenceError: cy не определен в Promise.then (C: \ projects \ nfe-credit-flow \ cypress \ plugins \ index.js: 74: 4) в 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 \ prom.js: 512: 31) в Promise._settlePromise (C: \ projects \ nfe-credit-flow \ node_modules \ bluebird \ js \ release \ обещание.js: 569: 18) в Promise._settlePromise0 (C: \ projects \ nfe-credit-flow \ node_modules \ bluebird \ js \ release\ обещание: 614: 10) в Promise._settlePromises (C: \ projects \ nfe-credit-flow \ node_modules \ bluebird \ js \ release \ обещание.js: 693: 18)

1 Ответ

0 голосов
/ 02 августа 2019

Плагины запускают задачу node.js, пока Cypress работает в браузере.Вы должны использовать пакет npm, такой как request, чтобы сделать это.Переменная config доступна из плагина, например, module.exports = (on, config) => { ...

Поскольку кипарис использует запрос, будет хорошей идеей иметь такую ​​же зависимость, а не новую, такую ​​как axios.Так что просто npm i request than:

const request = require('request');
request('https://webiste.com/config.json').then( (appConfig) => {
  config.whatever = appConfig.whatever
 });

Или вы можете использовать функцию merge (например, из loadsh) для переопределения config.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...