JMeter——异步请求性能测试

前段时间任务要求要对一种异步请求做性能测试,异步请求步骤如下:

step1: 发一个数据计算的请求,response里面返回一个jobId

step2: 带上这个jobId,就可以实时查看这个请求返回的jobStatus, 如果jobStatus==0, 则成功返回计算结果;如果jobStatus==2,则代表job in progress;如果jobStatus==3,则代表job in failure.

我的思路:

  1. 怎样把step1和step2包裹起来,成为一个整体,因为这个整体花费的时间,才是整个异步请求的响应时间。

solution: 我用了一个Transaction Controller, 把这两步构成了一个整体。它的用法可参考:Apache JMeter - User's Manual: Component Reference

  1. 怎样隔一段时间就去查看一下job status, 并且根据返回的job status来判断是否计算完成并返回计算结果了。

solution: 我在step2上包裹了一个While Controller内加一个Constant Timer, 前者控制不断发送step2的请求直到返回计算结果,后者设定每隔多久发送一次。最后还加了一个BeanShell PostProcessor去多条件控制循环结束。

condition script for While Controller is:

{__javaScript("{flag}"=="0" && "${jobStatus}"!="0")}

BeanShell PostProcessor script is:

String jobStatus = vars.get("jobStatus");

log.info("jobStatus:"+jobStatus);

if(jobStatus.equals("0")){

log.info("AssetUnderManagement data returned successfully!");

vars.put("flag","1");

}

if(jobStatus.equals("3")){

log.info("AssetUnderManagement data calculate in failure!");

vars.put("flag","1");

}

这是我整理的**《2024最新Python自动化测试全套教程》** ,以及配套的接口文档/项目实战**【网盘资源】** ,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

相关推荐
张永清16 小时前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
jmeter·性能测试·性能调优·jmeter性能测试·性能分析·性能监控·性能诊断·每周读书与学习·bean shell
半个俗人21 小时前
13.jmeter性能测试高并发及高频率弱压力及持续高并发
jmeter
程序员杰哥1 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
半个俗人2 天前
12.jmeter跨越线程组传值-全局变量
jmeter
半个俗人2 天前
14.jmeter图形化报告
jmeter
爆更小哇2 天前
JMeter配置和使用入门指南
java·开发语言·测试工具·jmeter·自动化
半个俗人3 天前
11.jmeter关联
jmeter
鲜于言悠9054 天前
博客系统测试报告
python·功能测试·selenium·jmeter·测试用例·集成测试·pytest
半个俗人4 天前
8.jmeter直连数据库-MySQL
数据库·jmeter
张永清-老清4 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(二)Bean Shell的基础语法之变量与数据类型
学习·测试工具·jmeter·压力测试·性能调优·jmeter性能测试·性能分析