Cypress:清除JSON响应中的特定键

Cypress: Stubbing a particular key in JSON response(Cypress:清除JSON响应中的特定键)

本文介绍了Cypress:清除JSON响应中的特定键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Cypress中删除以下响应。特别是存根密钥ds_version,它可能具有值0、1或2。每个值将在UI上显示不同的元素。

fixtures/user.json

{
"email": "test@test.com",
"firstName": "Test",
"lastName": "Test",
"ds_version": 0, --> switch this value to 0, 1, 2 for different test scenarios
"country": "Indonesia",
...
}

我通过提供整个JSON作为cy.route()参数实现了这一点,如下所示:

cy.server();
cy.route('GET', '/users/current', 'fixture:user.json').as('getUsersCurrent');

似乎如果我想测试ds_version=1ds_version=2,我需要提供不同的JSON并更改值。有没有办法在json的睡觉保持不变的情况下提供不同的ds_version值?

推荐答案

您可以使用来自Cypress:

的cy.route2()
  1. 转到cypress.json并写入"experimentalNetworkStubbing": true

  2. test.spec文件中写入:

    cy.route2('GET', '/users/current', (req) => {
        req.reply((res) => {
            let list = JSON.parse(res.body)
            list.ds_version = 1
            res.send(list)
        })
    })
    

这篇关于Cypress:清除JSON响应中的特定键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:Cypress:清除JSON响应中的特定键