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

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

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

 

posted @ 2022-12-07 18:44  Deng0727  阅读(938)  评论(2编辑  收藏  举报