0

JMeter用来测试Web OE用户可以选择产品然后选择宽度、高度、颜色和其他选项的站点。根据宽度和高度返回不同的价格。

我使用脚本记录器来记录创建产品的步骤,但是在HTTP Request参数中设置了设定值。我可以更改WidthHeight使用CSV数据集,但价格的值似乎是硬编码的或基于脚本记录器设置的。我想不出一种方法让价格变量动态变化并根据变化进行更新,或者在宽度和高度变化时重新计算。

我需要根据引入的不同宽度和高度来更改价格CSV。测试的原因是,即使在对网站进行代码更改后,我也可以测试每次定价是否相同。任何建议或示例都会有所帮助。

4

1 回答 1

0

很可能该ItemPrice值是使用客户端JavaScript计算的。

根据JMeter 项目主页

JMeter 不是浏览器,它在协议级别工作。就 Web 服务和远程服务而言,JMeter 看起来像一个浏览器(或者更确切地说,是多个浏览器);但是 JMeter 并不执行浏览器支持的所有操作。特别是,JMeter 不执行 HTML 页面中的 Javascript。它也不像浏览器那样呈现 HTML 页面(可以将响应视为 HTML 等,但时间不包含在任何示例中,并且一次只显示一个线程中的一个示例)。

因此,如果我的假设是正确的并且这ItemPrice来自 JavaScript,那么您将无法通过修改参数来触发更改。

  1. 以某种方式获得取决于尺寸的价格计算算法(查看页面源,四处询问,联系开发人员)
  2. 添加JSR223 PreProcessor作为请求的子项
  3. 即使 JavaScript 存在于“语言”下拉列表中,也可以使用Groovy 语言实现登录
  4. 用生成的值替换记录的硬编码价格
于 2018-07-26T06:20:32.300 回答