首页 > 其他分享 >JMeter——异步请求性能测试

JMeter——异步请求性能测试

时间:2024-04-14 19:34:00浏览次数:30  
标签:异步 请求 job jobStatus Controller step2 测试 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, 把这两步构成了一个整体。它的用法可参考:http://jmeter.apache.org/usermanual/component_reference.html#Transaction_Controller

 

2. 怎样隔一段时间就去查看一下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");

 

 原文:https://www.cnblogs.com/testing-life/p/11534120.html

标签:异步,请求,job,jobStatus,Controller,step2,测试,JMeter
From: https://www.cnblogs.com/sarahsuper/p/18134554

相关文章

  • 自己编写测试用例的思路
    题目将数组(1<=n<=100)中的每个整数循环右移m(m>=0)个位置输入:占二行,其中第1行:n和m两个数,n和m之间用空格分隔。第2行:数组A中的n个数,各数之间用空格分隔(第一个数之前和最后一个数之后无空格)。输出:占一行,数据间用一个空格分隔(第一个数之前和最后一个数之后无空格)。样例:1051......
  • 用Visual Studio编写自动化测试百度网站的程序
    摘要使用VisualStudio2022,基于Selenium.WebDriver创建项目,模拟用户登入网站,进一步下单和修改收货地址。VisualStudio新建解决方案引入Selenium.WebDriver编写自动访问百度搜索的代码因为搜索网站只有一个输入条件嘛。第一版代码网址改为百度百度的输入框input......
  • Web自动化测试入门
    摘要需要模拟用户登入网站,然后下单和修改收货地址,用Selenium最合适。本文介绍Selenium.WebDriver的C#版本的用法。下载在Selenium的Downloads页面左上角就是C#:底部有如下区域:说明Selenium对C#有非常好的支持。根据官网,转到如下页面:https://www.nuget.org/packages/Seleni......
  • 10-接口测试工具(PostMan和ApiPost)
    在前后端分离的开发模式下,通常需要使用接口测试工具进行开发,这里介绍两种比较好用的1)PostManPostman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件,常用于接口测试官方下载网址:DownloadPostman|GetStartedforFree安装教程:PostMan——安装使用教程(图文详解)_po......
  • Miller–Rabin 素性测试
    Miller–Rabin素性测试(Miller–Rabinprimalitytest)是进阶的素数判定方法。它是由Miller和Rabin二人根据费马小定理的逆定理(费马测试)优化得到的。因为和许多类似算法一样,它是使用伪素数的概率性测试,我们必须使用慢得多的确定性算法来保证素性。然而,实际上没有已知的数字通过......
  • 1.2什么是软件测试?目的又是什么?
    软件测试是指使用人工操作(手动测试)或者软件自动运行的方式(自动化测试),对软件系统进行评估和验证的过程;目的在于发现软件中存在的缺陷、错误以及不符合规范的行为。它是软件开发过程中的一项关键活动,用来促进鉴定软件的正确性、完整性、安全性和质量,以确保软件系统的质量和可靠性......
  • 【面试准备】测试策略—— KIMI & GPT3.5
    附上两位老师的回答KIMIUser:mysql迁移到oracledatabase,作为测试经理,应该制定怎样的测试策略?Kimi:作为测试经理,制定一个全面的测试策略是确保MySQL迁移到OracleDatabase成功的关键。以下是一些关键的测试策略和考虑因素:1.需求分析和规划理解业务需求:与利益相关者沟通,了......
  • 在Linux中,如何使用expect进行自动化交互式应用程序测试?
    expect是一个用于自动化交互式应用程序测试的工具,它允许你编写脚本来模拟用户与程序的交互。expect脚本通过发送预定义的字符串(如密码提示、菜单选择等)到正在运行的程序,并等待特定的响应,从而实现自动化控制。1.安装expect在大多数Linux发行版中,expect可以通过包管理器安装:sudo......
  • jmeter工具做接口测试
    jmeter工具做接口测试●测试计划:测试起点,所有组件的容器●线程组:代表一定数量的用户,发送请求●取样器:向服务器发送请求的最小单元●逻辑控制器:结合取样器实现一些复杂的逻辑(循环控制器)●前置处理器:在请求之前的工作●后置处理器:在请求之后的工作(json提取器)●断......
  • 数码相框-测试&项目效果&部分代码讲解
    测试在makefile加上这句话意味着把警告当成错误处理:​​这里看视频跟着来就好了。input_manager.c详解#include<config.h>#include<input_manager.h>#include<string.h>staticPT_InputOprg_ptInputOprHead;staticT_InputEventg_tInputEvent;staticpthread_mu......