testing - 赛普拉斯不匹配路线
问题描述
我正在尝试编写一个模拟慢速 API 的柏树测试,所以在阅读了一些文档后,我想出了这个:
before(function() {
cy.server({delay: 5000});
});
beforeEach(() => {
cy.route({
method: "GET",
url: "**/api/**"
});
cy.visit("http://localhost:9000");
});
这应该给所有请求增加 5 秒的延迟API
,对吧?
我看到的问题是它与任何请求都不匹配,即使有很多对*/api/*
. 然而,柏树 GUI 确实看到了路线......它只是不匹配。
这可能是什么原因?
解决方案
如果你输入整个路由,就像它出现在 cypress 日志中一样,你可能会发现它有效。
minimatch 似乎没有很好地实现前瞻通配符。它在 char 上很好地划定界限,但在or/
上不太好,因此,如果您尝试容纳查询字符串,这可能是您遇到困难的地方。?
#
您可以Cypress.minimatch
在控制台中使用以查看发生了什么。有关如何在文档中执行此操作的更多信息。
赛普拉斯也将接受正则表达式。类似的东西/\/api\//
应该适合你。
推荐阅读
- relationship - 使用 pages 数据类型时通过 kentico api 创建 adhoc 页面关系
- r - deSolve R中的时变参数矩阵
- tinkerpop - 将 gremlin 查询从 gremlin 控制台转换为字节码
- powerbi - 企业网关连接问题 - CORP\用户无权调用 Discover 方法
- javascript - Javascript 直接选择 HTML ID 元素,无需“getElementbyID”
- firebase - Firebase 存储规则匹配文件名而不扩展用户 ID
- java - Java Selenium 无效的 Xpath 语句
- python - 为什么我在使用 sum(n1,n2) 时出现此错误,但在使用 n1+n2 时却没有出现错误?
- r - 选择R中字符串最长的列
- amazon-web-services - 如何从 AWS 胶水访问 VPC 中的 aws 资源?