Похоже, что у Cypress есть ошибка, что шаги с cy.reguest игнорируются, когда пользователь запускает все тесты с помощью команды Cypress run
. Но когда мы запускаем тот же тест из пользовательского интерфейса Cypress (cypress open
), все работает нормально ...
Так что в моем коде второй и третий запросы POST игнорируются (на Cypress run
ничего не происходит) команда (yarn cypress run --browser chrome --config-file=./cypress.json
).
Cypress open - [ссылка] [1] Cypress run - [ссылка] [2]
Promise.all([
assertFile(`./cypress/fixtures/questionnaire/${val}_submission.json`),
assertFile(`./cypress/fixtures/questionnaire/${val}_finalize.json`),
])
.then(([submissionBody, finalizeBody]) => {
expect(submissionBody).not.null;
expect(finalizeBody).not.null;
cy.request({
method: 'POST',
url: buildApiUrl(Cypress.env('questionnaireConfigurationPath')),
headers: {
PHPSESSID: sessionId,
'X-Requested-With': 'XMLHttpRequest',
'Content-Type': 'application/json;charset=UTF-8',
Accept: 'application/json, text/plain, */*',
},
body: {},
}).then(configurationResponse => {
expect(configurationResponse.status).to.eq(200);
configurationBody = configurationResponse.body;
const { questionnaireId } = configurationBody.submission;
const uniqueSubmissionBody = Object.assign({}, submissionBody, {
questionnaireId,
});
const uniqueFinalizeBody = Object.assign({}, finalizeBody, {
questionnaireId,
});
cy.request({
method: 'POST',
url: buildApiUrl(Cypress.env('questionnaireSubmissionPath')),
headers: {
PHPSESSID: sessionId,
'cache-control': 'no-cache',
'Content-Type': 'application/json;charset=UTF-8',
Accept: 'application/json, text/plain, */*',
},
body: uniqueSubmissionBody,
}).then(submissionResponse => {
expect(submissionResponse.status).to.eq(200);
cy.request({
method: 'POST',
url: buildApiUrl(Cypress.env('questionnaireFinalizePath')),
headers: {
PHPSESSID: sessionId,
'Content-Type': 'application/json;charset=UTF-8',
Accept: 'application/json, text/plain, */*',
},
body: uniqueFinalizeBody,
}).then(finalizeResponse => {
expect(finalizeResponse.status).to.eq(200);
expect(finalizeResponse.body.fundingSearchId).greaterThan(0);
cy.writeFile('./testDataApi.json', {
profileId: finalizeResponse.body.fundingSearchId,
});
});
});
});
})
.catch(err => cy.log(err));
});```
[1]: https://ibb.co/CzG7h6M
[2]: https://ibb.co/YtvDZJ1