在我的场景中,我必须处理和验证几乎相等的URL的XHR响应:
URL-1: http://localhost:8080/api/customer/123/acounts
URL-2: http://localhost:8080/api/customer/asfgeras-qwe2-34hg-qwerhngfa当我在柏树中初始化服务器并按下面的方式提到xhr url时,它总是返回URL-1的响应(在我的情况下,URL-1首先被AUT调用),但是我无法获取URL-2的响应,尽管它在AUT中被调用。
cy.server();
cy.route('GET','**/api/customer/**').as('GETCustomer);我想捕捉URL-2的响应。请建议这样做的方法(最好是regEx)
发布于 2021-01-25 09:17:28
以上解决方案适用于外卡搜索标准,但不适用于特定的api搜索。使用这样的东西可以帮助您处理请求。
cy.route('GET', /\/api\/customer\/([a-zA-Z0-9]){8}-([a-zA-Z0-9]){4}-([a-zA-Z0-9]){4}-([a-zA-Z0-9]){4}-([a-zA-Z0-9]){1,}$/).as('GETCustomer');发布于 2020-11-16 18:52:12
Cypress使用最小的程序来过滤URL。因此,您需要指定**/customer/*。
** -被称为球星的特性。匹配所有文件和零或多个目录和子目录。如果后面跟着一个/it,则只匹配目录和子目录。要以这种方式工作,它必须是路径部分(例如/myapp/**..js)中唯一的工作方式。* -匹配任何字符串。资料来源:https://globster.xyz/.
完整代码:
cy.server();
cy.route('GET','**/api/customer/*').as('GETCustomer);
...
cy.wait('@GETCustomer')
.then((response) => {
<your handler here>
});https://stackoverflow.com/questions/64787691
复制相似问题