性能测试——美团国内机票网站(BadboyJMeter)
Posted Starzkg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试——美团国内机票网站(BadboyJMeter)相关的知识,希望对你有一定的参考价值。
如浙理同学,看到这篇文章,请注意不要看老师发的美团功能测试说明,因为它过期了,mooctest下载题目后,进入题目文件夹即可看见最新测试说明,例如:
被测系统
a) 系统名称:美团国内机票网站
b) 系统链接:https://www.meituan.com/flight/
测试工具
慕测 JMeter 客户端:在编写脚本时,请使用最新版本的慕测 JMeter 客户端。如不使用最新版本可能造成得分显示错误以及评分无法上传的情况。下载
Badboy:http://www.winwin7.com/soft/7021.html
测试范围
对“美团国内机票网站”中的“机票-国内机票查询功能进行性能测试,在测试过程中必须按要求对录制的脚本进行修改(包括参数化、集合点、事务等)。
测试要求
- 创建名为meituanflight线程组(Thread Group),该线程组负责对美团机票目录中的国内机票查询功能进行性能测试,相关的操作应放置在该线程组中。
- 操作流程:
i. 进入到美团机票-国内机票页面;
ii. 输入出发城市、到达城市、去程时间;
iii. 点击搜索,进入到结果页。 - 在该线程组处配置 50-100 个并发用户和合适的 ramp up period,线程组执行时间为 1 分钟。
i. 注意:在使用 jmeter 自带的run 功能时,不要使用超过 30 的线程数运行脚本, 否则会造成端口被封。正确流程是:
1. 使用较小线程数(10 以内)运行脚本和进行评分,保证除线程组以外的评分项获得理想分数
2. 再调整线程组配置,然后直接进行评分,不使用 jmeter 自带的 run 功能。请严格按照该注意事项进行操作,若造成端口被封,请换用其他 IP 和端口。如果还是不行,造成分数误差,后果自负。 - 对于这部分脚本,在关键的搜索请求处添加事务、参数化(对出发城市、到达城市,和去程时间做参数化,其他搜索字段不做要求),并在关键搜索请求处添加集合点。注意:
i. 请使用 CSV 数据文件配置(CSV Data Set Config)进行参数化,不要使用_CSVRead 等方式;
ii. 参数文件请使用 csv 格式;参数文件中最多包含 10 组数据即可,测试数据过多会导致评分速度过慢。
iii. 请将参数文件和脚本文件放在同一级文件夹下,并在 CSV 数据文件配置(CSV Data Set Config)中使用相对地址作为参数文件名,如 data.csv,不需要在文件名前使用./。文件不在同级目录、使用绝对地址、以及在文件名前使用./这三 种行为都会造成评分误差;
iv. 事务的位置、参数化的位置和集结线程数请自行配置
- 操作流程:
- 整理脚本,保证脚本执行成功(若果存在.css 或图片等的非关键链接执行失败,可以删除掉这部分链接)。
- 脚本编写有下面三种方法,选择一种方法即可,推荐使用后两种较为简单的方法。这三种方式外的其他编写方式可能会出现评分失败的情况
i. 使用浏览器的开发者工具捕获 http 请求,并手动编写脚本。
ii. 使用 JMeter 客户端自带的录制功能,在浏览器中安装ApacheJMeterTemporaryRootCA.crt,录制脚本
iii. 使用 Badboy 进行脚本录制后,通过 file -> Export to JMeter 得到脚本。
测试过程
Badboy录制脚本
JMeter制作脚本
导入脚本
重命名线程组
配置线程数、启动时间、运行时间
添加事务
添加同步点定时器(集合点)
搜索请求参数化
data.csv
参考:
PER,SHA,2021/6/30
HGH,SHA,2021/7/1
运行和提交
测试工具为慕测 JMeter 客户端,请使用 JMeter 客户端菜单栏中的 MoocTest 菜单项下面的功能进行运行和提交,其中 Run 是运行和评分功能,Submit 是提交功能。
每次提交前,JMeter 客户端会再次对脚本进行运行和评分,并提交本次运行的分数和脚本。
本项目满分100分,在考试结束前,请一定要至少提交一次,否则最终会没有成绩。
测试结果
注意事项
- 不推荐用超过 30 的线程数跑 jmeter 脚本,会造成端口被封。请先使用较小线程数进行运行和评分,保证除线程组之外的其他评分项得分后,再调整线程组配置,直接评分。
- 参数化文件中,参数数据的组数越多,评分速度越慢。因此为了保证较快评分,在参数化文件中最多配置 10 组参数数据。
- 请将参数文件和脚本文件放在同一级文件夹下,并使用相对地址作为参数文件名,如
data.csv,不需要在文件名前使用./。文件不在同级目录、使用绝对地址、在文件名前使 用./这三种行为都会造成评分误差 - 在使用 jmeter 录制脚本时,请在浏览器中正确安装
ApacheJMeterTemporaryRootCA.crt,安装方法见官方文档
(https://jmeter.apache.org/usermanual/component_reference.html#HTTP%28S%29_Tes
t_Script_Recorder)。安装有误会造成 jmeter 无法录制全部请求。 - 使用 JMeter 客户端录制功能或者 Badboy 录制后,请删除关键请求外多余的请求,否则会造成多余无用请求,在运行时花费较长时间。
参考文章
以上是关于性能测试——美团国内机票网站(BadboyJMeter)的主要内容,如果未能解决你的问题,请参考以下文章