首页 > 系统相关 >Jmeter小技能【BeanShell断言、多个相同参数提取、固定定时器、输出执行报告】

Jmeter小技能【BeanShell断言、多个相同参数提取、固定定时器、输出执行报告】

时间:2022-12-07 18:57:20浏览次数:39  
标签:定时器 提取 断言 接口 BeanShell 执行 对应 Jmeter

1、BeanShell断言

比响应断言更灵活,可通过BeanShell脚本设置Faillure及FailureMessage来执行断言检查,并输出断言失败接口的响应错误内容。

//获取响应结果内容
String response = prev.getResponseDataAsString();
if(response.contains("200") && response.contains("data\":[{\"workitemCode")){
    Failure=false;
}else{
    Failure=true;
    FailureMessage="断言失败,响应内容为:"+response;
}

2、多个相同参数值提取

日常接口执行结果中,常常包含响应结果包含多个相同字段及对应值。可通过正则表达式提取,配置对应模板及匹配数字即可。

模板:$$对应正则表达式提取器类型。-1全部,0 随机,1第一个2第二个,以此类推,若只有一个正则一般就填写$1$;

匹配数字:匹配数据的所有结果。-1表示全部,0随机,1第一个,2第二个,以此类推。若只要获取到匹配的第一个值,则填写1。

【注意!注意!注意!参数提取一定要精确提取,否则提取的参数值会有多余提取的数据;此时在其他接口中引用该变量时,会导致多传了参数,导致对应接口会报400】,类似异常内容如下:The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)

3、固定定时器

业务流程过程中,若存在需要数据库表同步,当数据未完成同步时,若对应接口已执行。因此可在对应请求后添加固定定时器设置等待时间,待数据同步完成再执行后续接口请求。

4、输出执行报告

接口执行过程中,通过BeanShell脚本输出断言失败响应内容,可在每次执行后自动输出执行结果报告,开发可通过报告快速定位查看对应错误请求及相关日志。

在【察看结果树】中点击【配置】,弹窗中勾选“Save Label”“Save Assertion Failure Message”选项(其他选项可自行选择),配置所有数据写入一个文件的文件名即可。参考例子:C:\Users\lhs\Desktop\自动化测试结果_${__time(yyyyMMdd_HHmmss,)}.txt

完成以上配置,每执行一次脚本,则在对应位置产生一个结果文件。

 

标签:定时器,提取,断言,接口,BeanShell,执行,对应,Jmeter
From: https://www.cnblogs.com/dnjiang/p/16964242.html

相关文章

  • 【JMETER压力测试报错:java.net.BindException: Address already in use: connect】
    一、现象描述在windows环境下,使用jmeter进行性能测试时,在并发量较大的情况下,发现有大量的接口报错报错内容为:java.net.BindException:Addressalreadyinuse:connect二......
  • 【JMETER后置处理器--json提取器】
    一、使用场景json提取器用于提取请求返回结果中的某个值或者某一组值,存储为指定的变量,用于后续的接口调用,使用方法比正则表达式提取器简单,所以如果接口响应数据为json格式的......
  • jmeter控制器之吞吐量控制器
    ThroughputController:吞吐量控制器,允许用户控制其子元件的执行频率。其参数提供了两种选择:TotalExecutions:按照次数执行PercentExecutions:按照百分比执行PerUser若勾选,......
  • 【jmeter逻辑控制器概览】
    一、说明Jmeter官网对逻辑控制器的解释是:“LogicControllersdeterminetheorderinwhichSamplersareprocessed.”。意思是说,逻辑控制器可以控制采样器(samplers)的执......
  • 【jmeter基本配置及属性介绍】
    一、jmeter切换为中文1、从图像界面,options》chooselanguage》Chinese-----只能临时修改图像界面语言,重启后还会变为英文2、持久化为中文配置:将jmeter安装目录下b......
  • 记录一个jmeter导入附件的工作过程
    系统性能测试,需要模拟生产环境需求搭建应用服务和建造压测数据,最大限度的还原生产环境,使系统性能测试的指标更加标准、真切。如某项目财务系统中的薪资管理模块做工资计算......
  • Jmeter的CSV参数化策略
    https://www.cnblogs.com/wuzm/p/10928287.html ======================================= csv参数化也是jmeter最常用参数化方式#准备一个csv文件,数字1-20即可#线......
  • jmeter控制器之仅一次控制器
    onceonlycontroller:顾名思义,也就是该控制器下的请求只会执行一次假设线程组中,循环次数为10执行结果:该请求只执行了一次......
  • jmeter场景设计:业务占比
     业务占比混合场景设计混合场景,两个业务的业务占比分别是60%和40%,我们可以使用吞吐量控制器百分比模式,场景设计如下:只是为了测试,所以设计5个线程循环2次,总共10次业务一:吞吐......
  • web API-day01-定时器(间歇函数)
    目标:能够使用定时器函数重复执行代码1.开启定时器语法:setInterval(函数,间隔时间)举例说明:functionrepeat(){console.log(`前端程序员,就是头发多......