javascript - 赛普拉斯:“TypeError:form.submit 不是函数”
问题描述
我正在制作一个规范文件来测试我在 Cypress 中的表单,但突然弹出以下信息:
类型错误:form.submit 不是函数 :__cypress/runner/cypress_runner.js:67597:14
这是代码:
cy.get(form).within(($form) => {
cy.root().submit();
});
您可以清楚地看到导致错误的部分是cy.root().submit();
行。但是当我检查控制台上的元素时,会出现:
所以,它是一种形式!
我从这里得到了代码https://docs.cypress.io/api/commands/within.html#Forms
运行截图:
我错过了什么?我可能缺少一些依赖吗?
PD:我正在使用 chrome 79
解决方案
您还需要在表单提交之前等待(如果没有那个,路线可能仍在进行中)。
(您可能可以删除然后第二个等待)
编辑:
cy.server();
cy.route(formRequest.method, formRequest.url).as('form-submit');
cy.wait('@form-submit').its('status').should('eq', 200);
cy.root().submit();
推荐阅读
- google-apps-script - 哪些是在 Apps Script API 上运行请求的正确范围
- javascript - vue.js:如何在转义内容中转义变量
- d3.js - dc.js:即使将 mouseZoomable 设置为 false,也无法滚动过去的图表
- sql - Oracle SQL如何按列以及其他选定的列获取分组
- python - 如何调用 Python 的这个函数?不确定三个参数的值需要是什么
- html - 页面外边框但在标题图像顶部
- vue.js - VueJS + Chartjs - 图表仅在代码更改后呈现
- python - 用于检查 Linux 绑定状态的 Python 脚本
- mathematical-optimization - 澄清 SCIP“显示问题”和“写入统计信息”命令中使用的术语
- javascript - 如何使用两个参数进行完全匹配搜索?