zoukankan      html  css  js  c++  java
  • Jmeter使用总结2

    1、BeanShell取样器的使用:

    ① 添加方法:线程组下右键-->Add-->Sampler-->BeanShell Sampler
    ② 作用:我们可以直接在里面写java代码,然后再其它地方再获取自己写得代码返回得结果,但是有一个前提、如果我们写得java代码需要依赖某些类或工程,那么我们可以把这些依赖得东西打包成一个jar包,然后把这个jar包放到jmeter安装目录下的lib文件夹下即可,然后我们再BeanShell Sampler 里面写脚本的时候就先导入这个包即可
    ③ 例子:(需求)我想把我获取到的时间戳以及固定值组成的字符串再使用MD5进行加密,加密后的值作为一个实参供其它请求使用;
         步骤,首先我们使用的是jmeter自带的commons包(没有可以自行去maven仓库下载),
         脚本写法如下:
      import org.apache.commons.codec.digest.DigestUtils;  //导包
      String nTime="${__time(,)}";  //函数助手获取时间戳
      String signature_md5 = DigestUtils.md5Hex("123456"+nTime);//加密
      vars.put("signature_md5", signature_md5); //加密后的值放入到变量中
      vars.put("nowTime",nTime);  //设实参,供其它地方使用,保证获取到的时间戳是相同的

    2、BeanShell PostProcessor的使用:

    ① 添加方法:线程组右键-->Add->Post Processor->Bean Shell Processor (后置处理器)

    ② 作用:可以在里面写自己想要的代码,它的实现一般是在请求结束后执行

    ③ 使用:(需求)http请求结束后,返回的结果中文部分地方的文字变成了乱码,我想把它转回正常的;那么我直接在里面写上代码(把返回的结果编码设置成utf-8的)如添加:

      prev.setDataEncoding("utf-8")

    3、HTTP Header Manager的使用:

    ① 添加方法:右键->Add->Config Element(配置元件)->http header manager

    ② 作用:这里面写的东西相当于请求头里面的参数、比如我们可以在里面设置 Content-Type、X-Access-Token等属性,如果放的是全局的,那么对线程组下所有的请求都会生效;但是如果有请求的某个属性不一样、我们也可以单独为这个请求添加一个请求头设置,在里面加上对应的属性、发送请求的时候它会遵循就近原则的使用

    4、函数助手中时间函数的使用:

    点击函数助手->选择time函数->点击Rest Variables按钮->然后可以复制生成的表达式、然后把这个表达式放到需要这个实参的地方即可

    5、函数助手中md5函数的使用:

    点击函数助手->选择MD5函数,第一个参数是指要加密的字符串、第二个参数是等下要引用的变量名,第一个值也可以结合另外的函数一起如,要加密的字符串为:${__time(,)}+“12654”

     

    6、http请求间的关系:

     

    请求之间的执行顺序是从上到下的,所以写http request的时候要注意一下。例如登录接口需要用到访问首页接口中返回的cookie,那么这时候要注意把访问首页接口要先执行、所以要放登录接口之前。

     

  • 相关阅读:
    [算法]位运算问题之二
    [算法]位运算问题之一
    [算法]海量数据问题之二
    [算法]海量数据问题之一
    [算法]旋转词问题
    [算法]去掉字符串中连续出现的k个0子串
    [算法]字符串中数字子串的求和
    [算法]字符串之变形词问题
    Linux常用命令
    数据库中的事物
  • 原文地址:https://www.cnblogs.com/yanghr/p/14604964.html
Copyright © 2011-2022 走看看