我正在使用购物车测试 Web 应用程序。我想使用 jmeter 进行负载测试。首先,我录制了一个操作脚本,其中用户选择一个商品并将其添加到购物车,然后提交并完成订单(作为测试站点不涉及支付网关)。现在,如果我用 100 个用户重播该脚本(线程数 = 100),它是否应该在数据库中创建 100 个订单请求?
但是,在我的试用过程中,我没有看到 jmeter 在数据库中创建任何多个订单。还有一些失败的请求。我的剧本有错吗?如果我测试正确,jmeter 应该创建新请求吗?
假设您的脚本实现是正确的,它的行为应该与真实用户使用真实浏览器完成订单完全相同。
最常见的问题是缺失或不正确地实现相关性。在大多数情况下,您不能只重播录制的脚本而不处理动态参数。
尝试使用 1-2 个用户和迭代运行您的测试场景,并使用 View Results Tree 侦听器检查请求和响应详细信息,以确保您的测试正在执行其应该执行的操作。
添加 Response Assertions 也是一个好主意,这样 JMeter 就会检查响应中是否存在预期文本,并在您登陆错误页面时自动使请求失败。