当前位置: 首页 > news >正文

网站建设公司找客户邵阳建设银行网站

网站建设公司找客户,邵阳建设银行网站,wordpress公众号源码,做网站非法吗在利用jmeter进行接口测试或者性能测试的时候#xff0c;我们需要处理一些复杂的请求#xff0c;此时就需要利用beanshell脚本了#xff0c;BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法#xff0c;所以它和java是可以无缝衔接的。beans… 在利用jmeter进行接口测试或者性能测试的时候我们需要处理一些复杂的请求此时就需要利用beanshell脚本了BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法所以它和java是可以无缝衔接的。beanshell由于内置了一些特有的变量没法在一些集成代码工具上去调试。今天就和大家分享下常用的2个代码例子大家可以直接拿来稍微修改下就可以使用。 Bean Shell内置变量大全 首先大家需要掌握bean shell本身自带的一些内置变量和一些方法。JMeter在其BeanShell中内置了变量用户是通过这些变量与JMeter进行交互。 1.log 打印日志写入信息到jmeber.log文件。 2.SampleResult 获取SampleResult对象能通过这个对象获取想要的信息。 3.Response 获取Response对象能通过这个对象获取响应信息。 4.Failure 查看接口调使用能否成功假如返回false是成功的true是失败的。 5.FailureMessage 失败信息没有设置的时候失败信息是空的能set这个信息。 6.ResponseData 获取response body类型是byte[]。 7.ResponseCode 返回接口code成功是200。 8.ResponseMessage 获取msg成功是OK。 9.ResponseHeaders 获取接口服务端返回的头部信息。 10.RequestHeaders 获取用户端请求的头部信息。 11.SampleLabel 获取接口请求的名称。 12.SamplerData 获取请求的url和body。 13.ctx 代表上下文信息能直接用。 14.vars即JMeterVariables操作jmeter变量这个变量实际引用了JMeter线程中的局部变量容器本质上是Map常用方法   a) vars.get(String key)从jmeter中获得变量值   b) vars.put(String keyString value)数据存到jmeter变量中 15.prev 获取前面的sample返回的信息常用方法   a) getResponseDataAsString()获取响应信息。   b) getResponseCode() 获取响应code。 1Beanshell的基本语法 1.1Beanshell的For循环与集合 String a aaa; int b 111; List list   new ArrayList(); //list集合只能保存String类型 list.add(a); list.add(b.toString()); //普通for循环的写法 for(int i 0; ilist.size();i){ log.info(); log.info(list.get(i)); } //增强for循环的写法 for(object : list){ log.info(); log.info(object); } 1.2Beanshell的数组的写法 String[] str1 new String[]{aa,bb,cc};//new一个String[]一维数组 String[][] str2 new String[][]{{AA,BB},{CC,DD},{EE,FF}}; //遍历str1这个一维数组 for(int i 0; i str1.length ; i){ log.info(str1[i]); } //遍历第二个二维数组 for (String[] strings : str2) { for(int i 0; i strings.length ; i){ log.info(strings[i]); } } 1.3Beanshell定义一个函数 并调用 //定义一个方法 public void addlist(List list){ list.add(aaa); list.add(bbb); list.add(ccc); } List list new ArrayList(); //调用方法 addlist(list); //遍历list集合 for(int i 0; i list.size(); i){ log.info(list.get(i)); } 2Beanshell常用的内置对象 2.1bsh.args对象获取数组参数 2.2vars内置对象的使用 A示例定义一个用户自定义变量 B:vars.get(String key)获取String变量  vars.put(String key,Value)放置一个Map到vars  2.3vars内置对象put和get Object对象 如果需要获取或者放置非String类型数据 需要用putObject和getObject //Beanshell vars.putObject() vars.getObject()的使用 List list new ArrayList(); list.add(aaa); list.add(bbb); //putObject()可以在vars对象中放置Object类型对象 vars.putObject(list,list); // //获取Object list对象 Object Value vars.getObject(list); //log.info只能输出String类型变量 log.info(Value.toString()); 3Beanshell的常用内置对象-ctx 3.1ctx内置对象getPreviousResult()方法 调用请求/响应数据 ctx内置对象来自于JMeterContext 查看Jmeter API发现有下列get方法可以获取请求/响应数据 //SampleResult需要import对象 import org.apache.jmeter.samplers.SampleResult; SampleResult result ctx.getPreviousResult(); //getRequestHeaders()方法返回String字符串 String RequestHeaders result.getRequestHeaders(); //getResponseHeaders() 返回响应headers String ResponseHeaders result.getResponseHeaders();  //getResponseCode() 返回响应状态码字符串 String responseCode result.getResponseCode(); //getURL() 返回请求URL对象  URL url result.getURL(); log.info(RequestHeaders); log.info(RequestHeaders); 4prev内置对象 prev是Beanshell后置处理器的内置对象 相当于ctx.getPreviousResult();   5.  高级用法假如我们希望线程之间共享一个变量可以利用BeanShell来完成。 JMeter中线程间共享变量可以通过定义属性值来完成JMeter启动时会读取一些属性文件比如jmeter.properties、user.properties这些属性值是可以修改的通过BeanShell可以对其进行更改。通过props.put()来修改属性props.get()来获取属性。 6. jmeter中BeanShell的使用由以下场景 前置处理器BeanShell PreProcessor 取样器 BeanShell Sampler 后置处理器BeanShell PostProcessor Jmeter中包括多种BeanShell用法差不多只是作用的地方不同。 定时器  BeanShell Timer 前置处理器BeanShell PreProcessor提前处理请求参数如加密解密等 采样器  BeanShell Sampler 后置处理器BeanShell PostProcessor在请求后对返回结果进行处理 断言   BeanShell断言验证返回结果的正确性 监听器  BeanShell Listener BeanShell与JMeter的关系 JMeter提供5种方式使用BeanShell •BeanShell Sampler 直接使用BeanShell来编写样例。 •BeanShell PreProcessor 在样例触发前使用BeanShell进行加工处理。 •BeanShell PostProcessor 在样例触发后使用BeanShell进行加工处理。 •BeanShell Assertion 使用BeanShell进行断言处理。 •BeanShell Listener 使用BeanShell做监听器 BeanShell的内置对象 jmeter自带函数获取系统当前时间 浮点时间戳转换为标准时间 import  java.text.SimpleDateFormat; import  java.util.Calendar; import  java.util.Date; //10位的秒级时间戳 long  time1  ${time}; //获取时间戳变量 String result1   new  SimpleDateFormat( yyyy-MM-dd HH:mm:ss ).format( new  Date(time1 *  1000 )); log.info( 10位时间戳秒---Date:  result1);//13位的毫秒级时间戳 //double time2  1515730332000d; //String result2  new SimpleDateFormat(yyyy-MM-dd HH:mm:ss).format(time2); //System.out.println(13位数的时间戳毫秒---Date:  result2);解析jsonlist //利用beanshell获取到json响应而后经过JSONObject 和JSONArray 将数组解析遍历数组的length以后提取参数值 //导入json包 import  org.json.*; //获取获取请求的返回值 String response_data  prev.getResponseDataAsString();  //日志打印获取请求的返回值 log.info(response_data); //将String类型的返回值构形成JSONObject对象 JSONObject data_obj   new  JSONObject(response_data); //获取做为下一个请求post的参数值Province(两种方式) //String Provincelist_str  data_obj.get(Province).toString();  JSONArray Provincelist_str  data_obj.getJSONArray( Province ); //log.info(Provincelist_str); //获取Province数组的长度 int  len  Provincelist_str.length();  String strlen  Integer.toString(len); vars.put( MessageNum ,strlen); log.info(strlen); int  i   0 ; for (;i  len;i) { //获取 data[ i ] 数组对象JSONObject jsonTemp  (JSONObject)Provincelist_str.getJSONObject(i);switch (i){case  0 ://两种提取参数的写法String NameItems  jsonTemp.getString( Name );// String NameItems  jsonTemp.get(Name).toString();// 两种打印参数的方法// vars.put(Name_1, jsonTemp.getString(Name)); vars.put( Name_1 , NameItems); log.info(NameItems);} }
http://www.hkea.cn/news/14448259/

相关文章:

  • 足球比方类网站开发app网站开发者
  • 想做网站开发兼职上海定制建站网站建设
  • 增城新塘镇 企业网站建设南通网站制作
  • 做网站公司长沙响应式网页制作软件
  • 青海省建设网站价格低毕业设计代做网站价格
  • 北京企业网站建设哪家好忻州市城乡建设局网站
  • 闭站保护期间网站能够打开吗百度首页排名怎么做到
  • 网站开发支付功能深圳罗湖区网站
  • 建筑设计网站大全网站做网站开发公司电话
  • 宁波网站建设公司哪家好学编程的人以后都干嘛呢
  • 杭州雄飞网站建设网络公司正在建设中网站
  • 查公司查企业用什么网站杭州seo博客有哪些
  • 网站 建设 汇报wordpress 插件 pdf
  • 橱柜企业网站模板山西做网站费用
  • 网站网业设计wordpress增加文章类型
  • 自动发货网站建设成品网站w灬源码1688网页版
  • 做泵阀生意到哪个网站淘宝客手机网站开发
  • 美橙网站产品详情做旅游网站的需求分析
  • 网站建设的产品类型是什么dede 网站内页标题修改
  • dnf做任务解制裁的网站普宁市建设局网站
  • 科技创新的重要性和意义广州seo优化效果
  • 化妆品网站栏目设计推广网站的方法有搜索引擎
  • 企业内部网站开发付公司网站建设费用会计分录
  • 广东网站设计服务商wordpress为用户添加积分
  • 潮州网站制作怎样注册自己的网址
  • 做后台系统的网站可以帮忙做网站做公司
  • 企业门户网站的主要技术指标360建筑网一级消防工程师
  • 网站开发文档管理工具电子商务网站建设的重要行
  • 科技加盟网站建设wordpress花生壳lamp
  • 哪个网站做二手车抵押网络营销常用工具有哪些?