javascript - 运行 cypress 测试时,当我登录后访问新网址时,页面仅保留在当前网址上

标签 javascript node.js mocha.js cypress chai

这是我执行登录然后访问用户的代码。

        cy.visit('http://localhost:3000/')
        cy.get("#username").clear().invoke('val', "admin")
        cy.get("#password").clear().invoke('val',"password")
        cy.get("button[type='submit']").click()
        //cy.wait(500)-> If I un-comment this line, it works fine 
        cy.visit('/users/new')

现在它发生得如此之快,如果我不在中间等待 500 毫秒,它会给我一个“失败的 xhr 请求”错误。请参阅下面的屏幕截图。

enter image description here

有人可以建议我如何动态等待直到请求得到解决吗?

最佳答案

Alapan 的答案会起作用,但是如果您知道登录请求是什么样的,您始终可以拦截该请求,然后将您的访问从拦截中链接出来。

cy.intercept('your/login/request/url').as('login'); // modify intercept matcher to match your actual login request
cy.visit('http://localhost:3000/')
cy.get("#username").clear().invoke('val', "admin")
cy.get("#password").clear().invoke('val',"password")
cy.get("button[type='submit']").click().wait('@login').visit('/users/new')

关于javascript - 运行 cypress 测试时,当我登录后访问新网址时,页面仅保留在当前网址上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70712934/

相关文章:

javascript - 更改悬停在拉斐尔元素上的光标

javascript - mongoose - 使用 $pull 删除数组中的元素

javascript - jQuery .get 不工作

javascript - 在各个 HTML 表格行中添加来自 HTML 输入文件的文件

node.js - NodeJS SFTP 获取 zip 文件

node.js - Visual Studio 2017 使用 Mocha

javascript - 使用 Jest 对依赖于 http 调用的代码进行单元测试的最佳方法?

ruby-on-rails - 在使用 capybara 进行集成测试时,在 rspec 中使用 mocha 模拟 api 调用

javascript - 从javascript数组中查找匹配的字符串

node.js - Promise 没有方法 'sort'