我正在尝试在我的 cypress 测试中创建一个变量,它允许我在单击链接并离开页面时存储来自一个网页的信息。我想比较第一页上的一个词和第二页上的一个词。describe("Logged-in Item Page", () => { before(() => { cy.*login command*().then((*login stuff*) => { cy.website_login(*login info*); }); }); beforeEach(() => { cy.visit(Cypress.env("baseUrl") + "*URL*") }); it("Verify My Store opens", () => { return new Cypress.Promise(resolve => { cy.get("*selector*").then($value => { const storeName = $value.text().split(' ')[0]; resolve(storeName); }); cy.log(storeName) }); });});值得一提的是,我尝试将 var Storename; 在这个区域之外,并删除了 cy.get() 部分中的 var 关键字,但仍然没有运气。我也尝试做 const storeName 。javascript柏
1 回答
![?](http://img1.sycdn.imooc.com/54584ed2000152a202200220-100-100.jpg)
MMMHUHU
TA贡献1834条经验 获得超8个赞
由于其异步性质,当您storeName 在外部调用时.then($value => {,恰好回调尚未完成,因此未分配值。
相反,您可以使用 Cypress promises,这样 Cypress 就会等到 promises 被解决。
it("Verify My Store opens", async () => {
const storeName = await new Cypress.Promise((resolve) => {
cy.get("selector").then($value => {
resolve($value.text().split(' ')[0])
})
})
cy.log(storeName)
})
添加回答
举报
0/150
提交
取消