Javascript 如何在cypress中进行依赖cy.request调用
我正在尝试测试我的实时web服务器数据响应(例如,没有存根/模拟)。我尝试将Javascript 如何在cypress中进行依赖cy.request调用,javascript,cypress,e2e-testing,Javascript,Cypress,E2e Testing,我正在尝试测试我的实时web服务器数据响应(例如,没有存根/模拟)。我尝试将cy.server()与cy.route()一起使用,但由于响应的内容类型是application/json,显然cy.server()没有涵盖这一点,cypress错误消息告诉我使用cy.request() 但是,我不能将cy.wait()与cy.request()一起使用。我不得不求助于将第二个cy.request()嵌套在第一个的回调中。有没有办法不将第二个cy.request嵌套在第一个cy.request的回调
cy.server()
与cy.route()
一起使用,但由于响应的内容类型是application/json
,显然cy.server()
没有涵盖这一点,cypress错误消息告诉我使用cy.request()
但是,我不能将cy.wait()
与cy.request()
一起使用。我不得不求助于将第二个cy.request()
嵌套在第一个的回调中。有没有办法不将第二个cy.request
嵌套在第一个cy.request
的回调中
因此,在这个精心设计的示例中,我需要在调用获取book
数据之前先获取user
数据。我只能通过将book
请求嵌套在user
请求的回调中来实现这一点。我更喜欢使用类似于cy.wait()
API的东西,而不是嵌套
it(`should get book based on user`, () => {
cy.request({
url: `/user`,
}).as('user');
cy.get('@user').then((userResp) => {
const user = userResp.body;
cy.request({
url: `/user/${user.id}/book`,
}).as('userBook');
cy.get('@userBook').then((userBookResp) => {
cy.log(userBookResp);
});
});
});
你为什么不能用赛道和赛道等等?我使用cy.route和cy.wait对wait进行了相同类型的后续路由<代码>cy.route('POST','**/api/**')。as('apiPost');赛维(1500);cy.route('GET','**/api/**')。as('apiGet');赛维(1500)代码>@Shujath你好!我尝试使用
cy.route
,但cypress抛出一个错误,说cy.route
不能与application/json
内容类型一起使用。它只适用于text/html
。我认为解决方案是使用cy.route2
,但我还没有验证。如果我发现会更新。为什么不能使用cy.route和cy.wait?我使用cy.route和cy.wait对wait进行了相同类型的后续路由<代码>cy.route('POST','**/api/**')。as('apiPost');赛维(1500);cy.route('GET','**/api/**')。as('apiGet');赛维(1500)代码>@Shujath你好!我尝试使用cy.route
,但cypress抛出一个错误,说cy.route
不能与application/json
内容类型一起使用。它只适用于text/html
。我认为解决方案是使用cy.route2
,但我还没有验证。如果我发现了会更新的。