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

如何用JS实现按100递增的随机出价逻辑,解决Cypress测试报错

问题原因

你当前的代码生成的是100到1000100之间的任意整数,没有强制要求为100的倍数,因此会触发系统的出价步长校验报错。

实现思路
  • 先将出价范围映射为100的倍数的整数区间:你设定的最小出价100对应倍数1(1100=100),最大出价1000000对应倍数10000(10000100=1000000)
  • 生成该整数区间内的随机整数
  • 将随机整数乘以100,得到符合步长要求的出价金额
可用代码实现
const step = 100;
const minval = 100;
const maxval = 1000000;

// 计算上下限对应的倍数
const minMultiple = minval / step;
const maxMultiple = maxval / step;

// 生成[minMultiple, maxMultiple]闭区间内的随机整数
const randomMultiple = Math.floor(Math.random() * (maxMultiple - minMultiple + 1)) + minMultiple;

// 得到最终出价
const bidAmount = randomMultiple * step;
Cypress适配优化

如果需要在多个测试用例中复用该逻辑,可以封装为Cypress自定义命令:

  1. 在cypress/support/commands.js中添加定义:
Cypress.Commands.add('generateRandomBid', (min = 100, max = 1000000, step = 100) => {
  const minMultiple = min / step;
  const maxMultiple = max / step;
  const randomMultiple = Math.floor(Math.random() * (maxMultiple - minMultiple + 1)) + minMultiple;
  return randomMultiple * step;
})
  1. 测试用例中直接调用即可:
const bidAmount = cy.generateRandomBid()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 03:39:03