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

康体设备网站建设提高搜索引擎排名

康体设备网站建设,提高搜索引擎排名,惠东县网站建设,丹东电信网站备案在利用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.pierceye.com/news/39256/

相关文章:

  • 做物流网站的公司哪家好推广怎么做
  • 南昌 网站购物网站需要做的功能
  • 环球易购招聘网站建设seo优化排名易下拉程序
  • 毕业设计代做网站机械wordpress 云服务器
  • 建网站价格 建设网站需要多少钱关于茶叶网站模板
  • 网站推广方案编写肇庆网站建设制作公司
  • 西班牙语网站设计公司哪家好微信公众号做微网站
  • 自己做图片上传网站wordpress添加微博
  • 手机网站建设合同python网站开发架构
  • 专业的营销型网站制作网站显示内容不显示
  • 旅游景点网站建设现状制作小程序需要什么技术
  • 宜春市城乡规划建设局网站苏州快速建站模板
  • 网站活动策划方案建设银行网上官方网站
  • 织梦pc怎么做手机网站wordpress后台多媒体不显示缩
  • 垂直汽车网站做电商的优势wordpress 单页面主题
  • 做网站建设公司crm在线的提升服务dw制作简单网页
  • 青岛新公司网站建设推广太原seo排名收费
  • 福建百度seo排名点击软件南城网站优化公司
  • 网站建设需要提供那些资料宽带公司
  • 优化网站seo方案网站一定要备案
  • 网站建设新手看什么书网站建设合同的要素
  • 涉县移动网站建设报价南和网站建设公司太原网站建设
  • 怎样低成本做网站推广网站设计与开发的基本步骤包括哪些?
  • 用织梦做手机移动版网站镇江制作网页图片
  • 网站建设网站排名广州网站开发公司哪家好
  • 汽车网站模块网站编辑有前途吗
  • 网站怎么更改关键词国内炫酷的网站首页
  • 镇江教育云网站建设合肥网站推广公司
  • 自建网站怎么做二级页跳转wordprees可以做棋类网站吗
  • 车公庙做网站微网站生成app