我正在使用Cypress.IO进行测试自动化,并且遇到了问题
这些是我的黄瓜声明
鉴于我使用我的用户凭据登录到SelfCare应用 然后点击我的帐户
在“我使用用户凭据登录到SelfCare应用程序”的步骤定义中,我正在创建订户并设置浏览器的本地存储
要创建订户,我需要调用Rest服务并处理REST调用的响应并设置本地存储
..............
在“我单击我的帐户”的步骤定义中,我单击链接
我们将我导航到仪表板页面,要能够成功导航到本地存储,必须具有几个属性。 .....................
Cypress没有等待第一步完成,而是导航到导致错误的第二步
如何使柏树等待第一步完成?
这是我的源代码
Given(/^I login in to app using my user credentials$/, () => {
subscriberHelpers.createSubscriber();
});
Given(/^I click on My Account$/, () => {
cy.log(window.localStorage.getItem('CD-SystemId'));
cy.log(window.localStorage.getItem('CD-SessionId'));
cy.log(window.localStorage.getItem('CD-SubscriberId'));
//cy.get('.c-header-listItem > .c-link').contains("My Account").click();
});
export function createSubscriber() {
cy.request({
url: "Some URL",
method: 'POST',
body: {
"AutoLogin": true,
"Credentials": {
"Login": `AutomationUser${Math.floor(Math.random() * Math.floor(1000))}@sharklasers.com`,
"Password": "Test1234"
},
"Subscriber": {
"Category": 0,
"Email": `AutomationUser${Math.floor(Math.random() * Math.floor(1000))}@sharklasers.com`,
"FirstName": "Automation",
"LastName": "Test",
"Login": `AutomationUser${Math.floor(Math.random() * Math.floor(1000))}@sharklasers.com`,
}
},
headers: {
}
}).then((response) => {
if (response.status === 200 && ("SessionId" in response.body))
localStorage.write("CD-SessionId", response.body.SessionId);
localStorage.write("CD-SubscriberId", response.body.Subscriber.Id);
})
}