gpt4 book ai didi

url - cy.url() 和/或 cy.location ('href' ) 不返回字符串

转载 作者:行者123 更新时间:2023-12-01 23:08:16 35 4
gpt4 key购买 nike

我有一个编辑器页面。当我添加任何内容并单击“保存”按钮时,我的 URL 将更改,在 URL 中添加一个随机 ID。我想在每次单击“保存按钮”时检查我的 ID 是否在更改。

我将 URL 结果保存在变量中并想检查它,我这样做:

const currentURL = cy.url();
cy.get('.editor-toolbar-actions-save').click();
cy.url().should('not.eq', currentURL);

但是我的 currentURL变量的类型不是字符串:

expected http://localhost:8080/editor/37b44d4d-48b7-4d19-b3de-56b38fc9f951 to not equal { Object (chainerId, firstCall) }



我如何使用我的变量?

最佳答案

tl;博士
Cypress commands are asynchronous ,你必须使用 then 与他们的 yield 一起工作。

cy.url().then(url => {
cy.get('.editor-toolbar-actions-save').click();
cy.url().should('not.eq', url);
});
解释
GitHub 上提出了类似的问题,以及 official document on aliases非常详细地解释了这种现象:

You cannot assign or work with the return values of any Cypress command. Commands are enqueued and run asynchronously.


解决方案也显示:

To access what each Cypress command yields you use .then().

cy.get('button').then(($btn) => {
// $btn is the object that the previous
// command yielded us
})

查看 core concepts docs's section on asynchronicity 也是一个好主意。 .

关于url - cy.url() 和/或 cy.location ('href' ) 不返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790303/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com