我初創公司的開發人員已將登錄切換到一個魔術鏈接系統,您可以在單擊電子郵件正文上的鏈接后進入該系統。
我已經設定了一個 Mailsac 電子郵件來接收包含魔術鏈接的郵件,但由于以下原因,我無法真正關注這些鏈接:

cy.request({
method: "GET",
url: "https://mailsac.com/api/addresses/[email protected]/messages",
headers: {
"Mailsac-Key": "here-goes-the-key",
},
}).then((res) => {
const magicLink = res.body[0].links[0];
cy.origin(magicLink, () => {
cy.visit('/')
});
});
我也無法使用 cy.visit() ,因為魔術鏈接 URL 與此測驗環境中的 baseURL 略有不同。
所以我的問題是:我怎樣才能通過這個繁瑣的鏈接找到自己登錄的家,否則,還有其他方法可以處理魔術鏈接嗎?
謝謝
uj5u.com熱心網友回復:
檔案說
指定要在其中執行回呼的次要源的 URL。這至少應該包含一個主機名,還可能包括協議、埠號和路徑。不支持查詢引數。
不確定這是否意味著cy.visit()引數不應該有查詢引數,只有cy.origin()引數。
嘗試傳遞鏈接
cy.request({
...
}).then((res) => {
const magicLink = res.body[0].links[0];
const magicOrigin = new URL(magicLink).origin
cy.origin(magicOrigin, { args: { magicLink } }, ({ magicLink }) => {
cy.visit(magicLink)
});
});
如果這不能解決問題,您可以嘗試使用cy.request(),但您必須在使用 magicLink 后觀察令牌的存盤位置。
cy.request({
...
}).then((res) => {
const magicLink = res.body[0].links[0];
cy.request(magicLink).then(response =>
const token = response??? // find out where the auth token ends up
cy.setCookie(name, value) // for example
});
});
uj5u.com熱心網友回復:
您需要將域作為第一個引數傳遞給origin,并在回呼函式中進行訪問,如下所示:
const magicLinkDomain = new Url(magicLink).hostname
cy.origin(magicLinkDomain, {args: magicLink}, ({ magicLink }) => {
cy.visit(magicLink);
//...
})
參考:https ://docs.cypress.io/api/commands/origin#Usage
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/516111.html
標籤:验证电子邮件柏柏树产地
