You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Cypress中向数组添加元素不覆盖,批量存储表单提交URL至JSON

解决Cypress表单提交URL累积存储到JSON的问题

你的代码每次运行都会重新创建空数组并覆盖原文件,导致只能保存单个URL。要实现累积存储,需要先读取已有文件中的数据,再添加新URL后重新写入。

修改后的代码

proposalUrl() {
  // 读取已有的URL存储文件,不存在则返回undefined
  cy.readFile('cypress\\test_data\\2Wheeler\\url.json', { failOnStatusCode: false })
    .then(existingData => {
      // 初始化URL数组:已有数据则用原数组,否则为空数组
      const urlArray = existingData?.ProposalSubmitUrl || [];
      
      // 获取当前页面URL并添加到数组
      cy.url().then(currentUrl => {
        urlArray.push(currentUrl);
        
        // 将更新后的数组写入JSON文件
        cy.writeFile('cypress\\test_data\\2Wheeler\\url.json', {
          ProposalSubmitUrl: urlArray
        });
      });
    });
}

关键说明

  • cy.readFile的failOnStatusCode: false参数:确保文件不存在时不会抛出错误,而是返回undefined,避免脚本中断。
  • existingData?.ProposalSubmitUrl || []:处理两种场景:文件已存在则读取原有URL数组;文件不存在则初始化空数组。
  • 先读取再写入的逻辑:保证每次添加新URL时,都会保留之前存储的所有记录,实现批量累积。

内容的提问来源于stack exchange,提问作者abhijit arnikar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 07:30:01