Следующий код работает, когда я запускаю его через 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: