栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

jmeter实际使用

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

jmeter实际使用

jmeter 入门到精通_墨瑶_165的博客-CSDN博客_jmeter菜鸟入门到进阶

一、jmeter实际模拟一个http请求

以后就可以用jmeter来压测接口了,而且是从前端http接口层面的压测。

1、背景

背景很简单就是想用jmeter模拟一个实际业务中用到的http请求,对应功能点如下。

其对应的接口,请求时候所带的cookie、参数、payload等都可以在开发者工具中看到。

注:晚上请求百度的case很多了,没什么可说的。我们这里作为一个saas软件直接去模拟,显然是要考虑登录态(cookie)等情况才行的;为此有必要专门演示一把。

2、具体步骤

打开浏览器调试工具,打开jmeter。

(1)利用jmeter的 import from cURL进行导入。

①调试工具中选中目标接口→右键→copy→copy as cURL

 注:其copy下来的其实是如下一串结果。按理来说应该是包括所有的必要信息了才是。

curl 'https://testgateway.qidian.qq.com/v1/interface/inner/cloudcc_303213' 
  -H 'authority: testgateway.qidian.qq.com' 
  -H 'accept: application/json, text/plain, */*' 
  -H 'accept-language: zh-CN,zh;q=0.9' 
  -H 'content-type: application/json' 
  -H 'cookie: login_url=https%3A%2F%2Foaconsole.qidian.qq.com%2Flogin%2F%3Fshow_type%3Dqa%26source%3Dworkbench; d2=Tcxl6Jtcmi8MwUIZvsayrx7yxmoeO0z6CGTBYhD59zvH1JjuFqQBzAzSLoG50Z0W93RXa1giPvYP14sswnxOMGCYLgR0SygSguzlcjr14zu8pEnRkRQ3D3Cna19tOi0ooGy0RZeBvn3mrBjaKGFewVadcAnb2xu6lx18ZBN8Z4YM0l8XeBecL+E1W2NOnNQud44gYmp6nLzJg/nQbq0WGoAZ31YcIF4zkS3XFQ+Ip3OhDsTSJvT78g==; corp_uin=2852199388; aid=3007442117; aid_skey=belsR+0zPsl3noSHqgbQUEcY2xngQtQ+yrunvtMpyDtEhJnCOJ3oVymCaaWPnUvZsJpG42neuoazR48ylhQFwPrerrlH2OoL19oEADpcGL6xGGVXQj1XUvnjlNyjWbovPHqfPXzY+De61sTHYYJTvdl3jVoo2FmIkUc6zriSQ3Q=; login_type=workbench; source=workbench; logout_type=workbench; qd_admin_is_web=yes; qd_aid_encode=bfbf632e80afd3bb63602fe46a812976; qdui_loginaccount=fy@2852199388.qidian; _qddaz=QD.801755194539948; __qidianid=e90872176fae3c53cec8df003802269745d3f01d; XSRF-TOKEN=31215d2f6c088e58e22172ff18efa52a09516396; _bqqcsrf=31215d2f6c088e58e22172ff18efa52a09516396; _bqq_csrf=31215d2f6c088e58e22172ff18efa52a09516396' 
  -H 'origin: https://oaadmin.qidian.qq.com' 
  -H 'referer: https://oaadmin.qidian.qq.com/' 
  -H 'sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"' 
  -H 'sec-ch-ua-mobile: ?0' 
  -H 'sec-ch-ua-platform: "macOS"' 
  -H 'sec-fetch-dest: empty' 
  -H 'sec-fetch-mode: cors' 
  -H 'sec-fetch-site: same-site' 
  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36' 
  -H 'x-gseq: 1655199907746' 
  -H 'x-requested-with: XMLHttpRequest' 
  -H 'x-xsrf-token: 31215d2f6c088e58e22172ff18efa52a09516396' 
  --data-raw '{"label_data":{"rpt_label_item":[],"bool_is_solved":false,"str_summary":"shuozhuosummery"},"session_head":{"uint32_channel_type":4,"uint64_kfuin":2852199388,"uint64_kfextuin":3007442117,"str_visitid":"894554834464981"},"_bqq_csrf":"31215d2f6c088e58e22172ff18efa52a09516396","_t":"1655199907746"}' 
  --compressed

②利用jmeter的导入工具直接导入cURL

将前面复制的结果直接粘贴到方框中→Create Test Plan

注:这个导入后其实就把大部分信息都导入进去了。例如header里面的大部分信息、协议/域名ip、http请求方式、路径等;另外payload参数其实也被导入进去了。如下:

③添加cookie

浏览器中右键copy as value赋值cookie至剪切板→ jmeter中 选中HTTP HeaderManager → 点击右侧下方的“从剪贴板添加”→之后就可以在上面的<名称,值>中看到对应的添加项了。

注:之所以有这个问题是因为下图中确实没有cookie,按理来说上面复制的cURL是包括cookie信息的,但是这里确实没有被解析出来,所以我们需要额外添加一把。 

值得注意的是:默认的解析可能是有问题的。例如我这里就被解析成如下形式了。

其实很简单就是开发者工具里面看到的保持一致就好了。

④执行

点击如下run按钮→按照提示保存对应的.jmx文件。

 ⑤查看具体请求的结果

然后我们就可以在结果树(View Result Tree)中看到执行结果了。如下选中一个具体的请求,然后就可以查看取样器结果、请求、相应数据。

注:如下图所示的相应数据其实就是后台业务服务返回的信息了。至此说明访问完全是通的了。 

⑥查看统计报告/聚合报告

如下添加对应的汇总报告、聚合报告即可。

 

相关知识点:

jmeter添加cookie:这里

jmeter配置payload参数:这里

注意点:
(1)点击执行后jmeter默认是挨个执行每个线程组,不需要执行的就右键"禁止"比较好。

二、jmeter发送wss(websocket)请求

因为jmeter不支持socket请求,所以如果需要这么用的话就要安装几个插件。晚上搜一下也有很多教程,这个也没什么可说的。例如 这里

如果什么都不做的话是打不开含有websocket的测试计划文件的(.jmx文件),如下:

安装方法也很简单,下载插件文件然后放到jmeter的/lib/ext路径下,然后在重启jmeter就好了。

 链接: https://pan.baidu.com/s/143eZLHZDYkBfyrr7Af9eDA 提取码: dcko

注:jmeter文字报告看起来还是不够直观,结合grafana可以实现更炫酷的展示。 三、jmeter的可视化—— grafana查看输出结果

Jmeter自身提供的数据分析面板太过粗糙,并且只能在压测任务执行结束才可以看到结果。关于这个问题其实可以额外再借助influxdb和grafana实现更生动、形象的实时监控。接下来介绍JMeter+InfluxDB+Grafana打造可视化实时监控。

其实可以参照的文章也不少,晚上一搜有很多。

JMeter+InfluxDB+Grafana实现可视化实时监控_luq89的博客-CSDN博客_jmeter+grafana+influxdb

用docker可能更省事:测试开发实战 | Docker+Jmeter+InfluxDB+Grafana 搭建性能监控平台 - 云+社区 - 腾讯云

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/971979.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号