Cypress команда не работает с сетевым запросом - PullRequest
0 голосов
/ 22 января 2020

Следующий код работает, когда я запускаю его через Node, но когда я пытаюсь запустить его как команду Cypress, я получаю «Тайм-аут команды Cypress превышен 4000ms, и я не уверен, почему.

Мой Cypress /support/commands.js имеет следующий код:

const AWS = require('aws-sdk'), region = "us-east-1", secretName = "portal-
secrets", secret, decodedBinarySecret;
const client = new AWS.SecretsManager({region: region});
function GetTestCredentials() {
  return new Promise(function (resolve, reject) {
    client.getSecretValue({SecretId: secretName}, function (err, data) {
      const loginValues = [];
      if (err) {
          throw err;
      } else {
        secret = JSON.parse(data.SecretString);
        loginValues['username'] = secret[devUsernameSecretsKey];
        loginValues['password'] = secret[devPasswordSecretsKey];
        resolve(loginValues);
      }
    });
  });
}

Cypress.Commands.add('getTestCredentials', () => {
  console.log('get creds')
  return GetTestCredentials();
});

Мой тестовый файл вызывает эту команду и должен ожидать значение для учетных данных, но ничего не указано, и я получаю тайм-аут:

describe('Get Login Credentials from AWS', function() {
  context('Get Login Credentials from AWS', function() {
    it('Should have a username and password value from AWS', function() {
      cy['getTestCredentials']().then(creds => {
        console.log(creds);
        expect(creds['username']).length.gt(1);
      });
    });
  });
});

Я не уверен, почему это работает в Node, но не в Cypress? Любая помощь будет оценена: thumbsup:

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