#javascript #email #cypress
#язык JavaScript #Адрес электронной почты #кипарис
Вопрос:
Используя Cypress для автоматизации тестирования, я пытаюсь найти решение о том, как очистить текст письма, извлечь из него ссылку, сохранить ее в переменной, а затем перейти по ссылке с помощью cy.visit().
/// lt;reference types="Cypress" /gt; const sender = "sender@companyemail.com"; const companyEmail = "company@company.com" const emailSubject = "[Action required] Activate your 14-day Dataddo trial"; describe("Sign-Up Email assertion and visit confirmation link", () =gt; { it("Sign-Up and Look for an email with specific subject and link in email body", function () { cy.task("gmail:get-messages", { options: { from: sender, to: companyEmail, subject: emailSubject, include_body: true } }).then(emails =gt; { assert.isNotNull( emails, "Expected to find at least one email, but none were found!" ); cy.log("Email has been found successfully") assert.isAtLeast( emails.length, 1, "Expected to find at least one email, but none were found!" ); cy.log(`Email length is: ${emails.length}`) cy.log(`Email Recipient is: ${companyEmail}`) const body = emails[0].body.html; // returns email body (see the mock-up below) /* TODO - Parse email body, get the confirmation link out of it - Store the link it a variable - Visit the link via cy.visit - Note that tokenid is going to be different with every run */ }) }) })
Макет ожидаемого текста электронной почты доступен ниже.
lt;htmlgt; lt;headgt; lt;/headgt; lt;bodygt; lt;pgt;This is SignUp Email with confirmation linklt;/pgt; lt;pgt; lt;a href = "http://www.company.com/ls/click?upn=tokenid-11111-22222-333333-444444-555555-xxxxxx"gt;lt;agt; lt;/pgt; lt;/bodygt; lt;/htmlgt;
Спасибо вам за вашу помощь.
Комментарии:
1. Что дает вам электронная почта? Может быть, вы можете выполнить поиск в проверяемом теле мгновенно с
.get
помощью метода, без.html
метода?2. Я имею в виду, что вы получаете массив или NodesArray?
3. ожидается, что тело const вернет вторую часть (макет тела электронной почты)