Кипарис — очистите тело письма и получите из него ссылку

#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 вернет вторую часть (макет тела электронной почты)