jmx脚本编写第一天

匿名 (未验证) 提交于 2019-12-02 23:57:01

  新公司要编写jmeter脚本,Java丢掉N久也不想捡起来的我第一时间寻找其他语言编写的方法,千辛万苦找到了jython,还没开心呢,写完登录和退出脚本问题就来了,jython已经停更多年,很多功能和现在并不接轨了,只能扭头乖乖捡起java。好在jmeter脚本需要的Java包主要只有两个,一个JSONArray一个JsonObject。为了加深印象顺带捡起丢了许久未更新的blog开始记随笔了,目标是一周内熟悉语法,能独立编写beanshell。

基本获取jmeter响应参数都可以套用下面的模板

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;  //获取上一个请求的返回值 String json=prev.getResponseDataAsString(); //将返回值转换为json JSONObject jso = JSON.parseObject(json); //获取data JSONObject data = jso.getJSONObject("data"); //获取token //也可以写作String token = jso.getJSONObject("data").getString("token"); String token = data.getString("token");  log.info("token"); //使用vars.put()方法储存变量token vars.put("token",token);

在后面的其他接口中如何需要使用变量token,可以使用${token}来获取变量的值;

变量储存好后,在需要断言的接口后面添加BeanShell断言,使用Failrue来标识断言失败,FailureMessage标示断言失败的原因,如:

//使用vars.get()方法获取变量的值 String token= vars.get("token");   if(!message.equals("")) {     Failure = true;      FailureMessage = "规则解析失败"; }else{     FailureMessage = "规则解析成功";     }

  或者直接在需要断言的接口中进行断言操作

import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject;  //获取上一个请求的返回值 String json=prev.getResponseDataAsString(); //将返回值转换为json JSONObject jso = JSON.parseObject(json); //获取data JSONObject data = jso.getJSONObject("data"); //获取token //也可以写作String token = jso.getJSONObject("data").getString("token"); String token = data.getString("token");  log.info("token");  if(!message.equals("")) {     Failure = true;      FailureMessage = "规则解析失败"; }else{     FailureMessage = "规则解析成功";     }

  

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!