如何访问.then()函数中从.get()。contains()产生的元素
我的代码未进入Then块。我在哪里做错了?
cy.get(".c-header-listItem").contains("My Account").should(($link) => {
expect(localStorage.read("CD-SessionId")).to.be.not.null;`enter code here`
}).then(($link) => {
$link.click();
});
我从赛普拉斯文档https://docs.cypress.io/api/commands/should.html#Subjects中获得了登录名
答案 0 :(得分:1)
.should(elem => {})
的行为与.then(elem => {})
完全相同,只是传递给should
的函数将重试,直到不引发任何异常为止。考虑到这一点,以下代码应该起作用:
cy.get(".c-header-listItem").contains("My Account").should(($link) => {
expect(localStorage.read("CD-SessionId")).to.be.not.null;
// Notice I have to wrap this to perform a Cypress
// click on it. $link is a native DOM object.
cy.wrap($link).click();
});
这也可以,但是不需要分隔。
cy.get(".c-header-listItem").contains("My Account").should(($link) => {
expect(localStorage.read("CD-SessionId")).to.be.not.null;
});
cy.get(".c-header-listItem").contains("My Account").click();