单击复选框后,我的应用程序将触发 GET 请求。
我正在尝试用 cypress 验证这一点,但它会抛出 ' Timed out retrying after 30000ms: cy.wait() timed out waiting 30000ms for the 1st request to the route: getGridWind10M. No request ever occurred.'
我的代码:
cy.intercept("GET", "v1/kml/F20210903120000/Wind10M?view=grid*").as('getGridWind10M');
cy.get('[data-test="ckbx-w10m"]')
.check({ force: true })
.should("be.checked");
cy.wait('@getGridWind10M').its('response.statusCode').should('eq', 200)
Run Code Online (Sandbox Code Playgroud)
实际端点:
https://domain/path/api/v1/kml/F20210903120000/Wind50M?view=grid&time=2021-09-03T14:00:00.000Z&z=3&x=5&y=4
Run Code Online (Sandbox Code Playgroud)
测试日志:
我尝试过以下方法,但没有成功。有人请帮助我找出我在这里缺少的位置和内容,因为请求已成功完成,如图所示?
cy.intercept("GET", "*/F20210903120000/Wind10M?view=grid*").as('getGridWind10M');
cy.intercept("GET", "*F20210903120000/Wind10M?view=grid&*").as('getGridWind10M');
cy.intercept("GET", "*F20210903120000/Wind10M?view=grid*").as('getGridWind10M');
cy.intercept("GET", "/F20210903120000/Wind10M?view=grid*").as('getGridWind10M');
Run Code Online (Sandbox Code Playgroud)
Pao*_*olo 14
您可以使用前导**含义多个前面的部分来捕获它,并且尾随?*含义具有一些搜索参数。
const url = "**/v1/kml/F20210903120000/Wind10M?*"
cy.intercept('GET',url, {}).as('getGridWind10M') // stubbing here
cy.get('checkbox').check()
cy.wait('@getGridWind10M')
Run Code Online (Sandbox Code Playgroud)
Wind50M我注意到实际端点和拦截的端点存在差异Wind10M,可能是拼写错误?
如果您通配中间路径段,这也适用
const url = "**/v1/kml/*/Wind10M?*"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13591 次 |
| 最近记录: |