网站建设这门课,京津冀协同发展意义,网站开发的职业分析,抖音创作者服务平台目录
前言#xff1a;
Beanshell 介绍
常用内置变量
log
vars 和 props
vars 常用方法#xff1a;
props 常用方法#xff1a;
prev
综合运用 前言#xff1a;
JMeter 是一个广泛使用的性能测试工具#xff0c;它支持许多不同的测试技术和方法。其中#xff0c…目录
前言
Beanshell 介绍
常用内置变量
log
vars 和 props
vars 常用方法
props 常用方法
prev
综合运用 前言
JMeter 是一个广泛使用的性能测试工具它支持许多不同的测试技术和方法。其中Beanshell 是一种常用的脚本语言它可以用来自动化测试脚本的执行和参数化测试。
Beanshell 介绍
Beanshell 是一种轻量级的 Java 脚本纯 Java 编写的能够动态的执行标准 java 语法及一些扩展脚本语法类似于 javaScript在工作中可能用的多的就是 Beanshell 取样器跟 Http 取样器并列 Beanshell 前置处理器一般放在 Http 请求下在请求后处理一些数据 Beanshell 后置处理器一般放在 Http 请求下在请求前处理一些数据 Beanshell 断言一般放在 Http 请求下做一些复杂断言
常用内置变量
log
打印日志我们常常可以用来调试问题使用举例
log.info(你想打印的内容)log.error(你想打印的错误内容)
vars 和 props
区别
vars 只能在当前线程内使用props 可以跨线程组使用vars 只能保存 String 或者 Objectprops 是 Hashtable 对象
vars 常用方法
vars.get(String key)从 jmeter 中获得变量值vars.put(String keyString value)数据存到 jmeter 变量中
props 常用方法
props.put(token,ertyuiahdg127423g4hjdkacnb);props.get(token);
prev
获取前面的 sample 返回的信息常用方法
prev.getResponseDataAsString()获取响应信息prev.getResponseCode() 获取响应 code
综合运用
一般来说我们接口返回都是标准的 json 格式数据例如
{datas:[
{name:张三,age:18,address:河北,phone:1311111111},
{name:李四,age:28,address:北京,phone:13222222222},
{name:王五,age:23,address:江苏,phone:13333333333},
{name:赵六,age:32,address:湖北,phone:13444444444},
{name:玛丽,age:45,address:美国,phone:13555555555},
{name:亨利,age:39,address:法国,phone:13666666666}]
}那我就需要使用一些专门处理 json 数据的 jar 包来对数据进行二次加工这里举例使用 json.jar具体代码如下
//从json.jar导入所需要的类
import org.json.JSONObject;
import org.json.JSONArray;//从变量获取数据,因为我在用户自定义变量设置的上面的json数据
String response vars.get(response);
// 打印日志看看是否取到
log.info(看看response:response);
//String reponse prev.getResponseDataAsString();//如果从接口取可以这么写// String 转化成JSONObject
JSONObject resObj new JSONObject(response);
// 去除datas下的数据
JSONArray resArray resObj.get(datas);
log.info(取出resArrayresArray.toString());//注意需要把array转成String才能打印// 遍历取出年龄30的数据,并存入新的JSONObject
JSONObject newObj new JSONObject();//定义一个空的JSONObject
for(JSONObject item:resArray){int age item.get(age);//取出age
if(age30){
String name item.get(name);//取出name作为keynewObj.put(name,age);}
}
// 打印下取出的数据正确与否
log.info(大于30的人newObj.toString());
// 存入变量供下面接口使用
vars.put(newObj,newObj.toString());作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品希望能对你带来帮助。
软件测试相关资料自动化测试相关资料技术问题答疑等等
相信能使你更好的进步
点击下方小卡片