beanshell关联取值id,通过id实现删除学生

一.测试计划添加jar包

  • 在目录lib/ext下选择jar包testng、fastjson

 二、通过接口【查询所有学生】信息

 三、对添加【查询所有学生】BeanShell后置处理器

 

  • 脚本如下:

mport com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.testng.Assert;

//获取接口返回的response数据
String json = prev.getResponseDataAsString();

JSONObject jsonObject = JSONObject.parseObject(json);
String myData = jsonObject.getString("data");
List list=JSONArray.parseArray(myData);
String id=null;
for (Object obj:list) {
jsonObject=jsonObject.parseObject(obj.toString());
String name=jsonObject.getString("name");
String student_id=jsonObject.getString("id");
if (name.equals("test")){
Assert.assertEquals(name,"test");
id=student_id;
break;
}
}
vars.put("id",id);
log.info("id是------------------------------------"+id);
String getId=vars.get("id");
System.out.println("get my id is "+ getId);

  JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

  • log:写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”);

  • vars - (JMeterVariables):操作jmeter变量,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:

    a) vars.get(String key):从jmeter中获得变量值

    b) vars.put(String key,String value):数据存到jmeter变量中

    更多方法可参考:org.apache.jmeter.threads.JMeterVariables

  • prev - (SampleResult):获取前面的sample返回的信息,常用方法:

    a) getResponseDataAsString():获取响应信息

    b) getResponseCode() :获取响应code

    更多方法可参考:org.apache.jmeter.samplers.SampleResult

四、添加http接口  【按照id删除学生】

  • 引用参数

  •  执行结果

 

 

 

posted @ 2022-04-10 21:21  向向vlog  阅读(62)  评论(0编辑  收藏  举报