Вопрос о проблеме обработки Cypress AsyncJavascript

Форум по Javascript
Ответить
Anonymous
 Вопрос о проблеме обработки Cypress Async

Сообщение Anonymous »

Я начинающий в настоящее время, пытающийся самостоятельно изучить автоматизацию тестов, используя Cypress. Однако, даже после нажатия кнопки «Подтвердить», она не переходит на страницу оплаты - возможно, из -за некоторой асинхронной проблемы с обработкой. Предложения? />
Сообщение об ошибке:
Time Out Retrying после 4000 мс: ожидается 'https://example-job-site.com/company/re ... post2weeks', чтобы включить '/company/recruitpaystd'/perruestd '/br/br/br/br/br/br/br/br/br/pruitstd'/recrutpaystd '/pruitstd'/recrustd '/pruitstd. /> Мой тестовый код: < /p>
< /li>
< /ul>
describe('Automated test for paid job posting', () => {
beforeEach(() => {
cy.viewport(1280, 800);
Cypress.on('uncaught:exception', (err) => {
if (err.message.includes('$ is not defined')) return false;
return true;
});
});

it('Verifies redirection to the payment page after posting a job and extracting recruitCd', () => {
cy.visit('https://example-login-site.com/Account/Login');
cy.get('input[name="ID"]').type('sampleUser');
cy.get('input[name="PW"]').type('samplePassword123');
cy.get('button[type="submit"]').click();

cy.origin('https://example-main-site.com', () => {
cy.get('#gnb_wrap').contains('Product Info').click();
cy.get('.btn-type.btn-primary-o').eq(0).click();
cy.get('#btnRecruitPayAction').scrollIntoView().contains('Post Job').click({ force: true });
cy.contains('Confirm').click({ force: true });
});

cy.origin('https://example-job-site.com', () => {
const serviceCd = '123';
const serviceNm = encodeURIComponent('PremiumJobPost2Weeks');
const jobTitle = 'Test_PaidJob_0425';

cy.visit(`https://example-job-site.com/Company/Re ... {serviceNm}`);
cy.url().should('include', '/Company/RecruitRegist');

cy.get('input[type="text"][title="Job Title"]').type(jobTitle);
cy.get('#same').check({ force: true });
cy.get('select').eq(1).select('Position A');
cy.get('select').eq(2).select('Department B');
cy.get('select').eq(3).select('Specialty C');
cy.contains('label', '0 Openings').click();
cy.contains('label', 'No Experience Required').click();
cy.get('select').eq(5).select('Associate Degree');
cy.get('select[title="Salary Details"]').select('3600');
cy.get('select[title="Working Days"]').select('5 Days a Week');
cy.get('select[title="City"]').select('CityX');
cy.get('select[title="District"]').select('DistrictY');
cy.get('input[type="text"][title="Detailed Address"]').type('123 Example Street, Floor 2');
cy.contains('button', '1 Month').click();
cy.contains('Apply Entered Details').click();
cy.get('button[title="Apply"]').click({ force: true });
cy.get('input[type="text"][title="HR Department"]').type('HR Team');

cy.get('button[type="submit"]').first().click({ force: true });
cy.contains('Confirm').click({ force: true });

cy.url().should('include', '/Company/RecruitPayStd').then((url) => {
const recruitCd = url.split('/Company/RecruitPayStd/').pop();
cy.log(`recruitCd: ${recruitCd}`);

const payUrl = `https://example-main-site.com/Company/R ... {recruitCd}`;
cy.visit(payUrl);
cy.url().should('include', '/Company/RecruitPayStd');
});

cy.get('#recruitCd').then(($el) => {
const recruitCd = $el.val();
cy.log(`recruitCd (from input): ${recruitCd}`);

const payUrl = `https://example-main-site.com/Company/R ... {recruitCd}`;
cy.visit(payUrl);
cy.url().should('include', '/Company/RecruitPayStd');
});
});
});
});



Подробнее здесь: https://stackoverflow.com/questions/795 ... ling-issue
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»