239
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | FZU_SE_teacherW_4 |
|---|---|
| 这个作业要求在哪里 | 软件工程实践总结&个人技术博客 |
| 这个作业的目标 | 软工实践总结和回顾 |
| 其他参考文献 | 《构建之法》 |
在团队开发项目“智旅”中,我作为测试人员,主要负责接口测试与性能测试工作。本次总结聚焦于 JMeter中线程组与动态参数化的优化实践。
在“智旅”项目中,我们需要对多种场景进行性能测试:
JMeter 的核心功能包括线程组设计与参数化配置。为解决上述需求,我主要应用了以下技术:
线程组定义了并发用户的行为模型。以下是关键配置:
线程数 = 100
Ramp-Up Period = 30秒
Loop Count = 5
配置效果如下:
graph LR
A[线程组] --> B(线程数: 100)
A --> C(Ramp-Up Period: 30秒)
A --> D(Loop Count: 5)
为了模拟真实用户请求,我们通过以下方法实现动态参数化:
(1) 使用 CSV Data Set Config
CSV文件存储了预生成的测试数据,如关键词和日期。
CSV 文件内容:
keyword,date
北京,2024-12-18
上海,2024-12-19
JMeter 配置:
File Name: data.csv
Variable Names: keyword,date
Recycle on EOF: True
Stop Thread on EOF: False
(2) 使用 Groovy 脚本动态生成参数
对于一些需要实时生成的动态数据,如UUID、时间戳,可通过Groovy脚本实现:
import java.util.UUID
vars.put("uuid", UUID.randomUUID().toString())
vars.put("timestamp", System.currentTimeMillis().toString())
接口请求中的动态参数示例:
{
"keyword": "${keyword}",
"date": "${date}",
"uuid": "${uuid}",
"timestamp": "${timestamp}"
}
现象:JMeter 无法读取 CSV 文件,报错提示文件路径无效。
原因:在查找了相应的资料后我发现是文件路径配置错误,JMeter 使用相对路径时必须将文件放在工作目录下。
解决方案:
D:/JMeter/data.csv。现象:Groovy脚本生成的参数在接口请求中显示为 null。
原因:脚本未正确将变量存储到 JMeter 的上下文中。
解决方案:
vars.put 方法存储变量。通过此次实践,我深入掌握了 JMeter 中线程组配置与动态参数化的实现方法。
未来计划进一步学习 JMeter 的高级功能,如关联(Correlation)和分布式测试,以提升性能测试能力。