玩转Jmeter之jmeter元器件参数化关联5

1.参数化:

  作用:把测试数据提取到外部文件或数据库

  好处:1.方便修改 2.多用户使用不同数据

  比如:登录
    1. 录制登录脚本
    2. 在需要替换测试数据的取样器前,创建配置元件--CSV Data Set Config
    3. 将固定数据替换成${name}

  **配合循环控制器,实现单线程数据驱动
  使用beanshell动态获取行数、完成简单数据处理(beanshell读取csv,多少行,写到变量里,根据变量值,决定循环多少次)

2.beanshell处理器,处理base64加密: 

  import sun.misc.BASE64Decoder;

  #随机生成3位字符串

  String r ="${__RandomString(3,0123456789)}";

  #把三位字符串和密码相加

  String password = r + vars.get("password");

  #password加密并赋值给new_pwd

  String new_pwd = new sun.misc.BASE64Encoder().encode(password.getBytes());

  #把new_pwd的值重新放到password中
  vars.put("password", new_pwd);

  #打印password内容

  log.info(vars.get("password"));

3.关联,jmeter关联使用的是后置处理器,即在请求之后把响应数据保存到变量里,以供后面的请求发送

  <1>. 如果接口返回的是json,可以用json提取器做关联
  <2>. 如果接口返回的是html或者xml,需要用xpath提取器做关联

4.接口测试报告:

  执行cmd命令:jmeter -n -t test.jmx -l result.jtl -e -o ./ResultReport 

  参数说明:
    ● -n: 非GUI模式执行JMeter
    ● -t: 执行测试文件所在的位置
    ● -l: 指定生成测试结果的保存文件,jtl文件格式
    ● -e: 测试结束后,生成测试报告
    ● -o: 指定测试报告的存放位置
    ● -g: 已经存在的.jtl文件的路径

      汉化版报告:https://github.com/mzky/jmeter5.x-cn-report-template
      报告优化
      使用 jmeter.results.zy.me.xsl 模板,放在jmeter的extras路径下
       jmeter-results-detail-report${style_version}.xsl

posted @ 2022-05-21 22:14  maxwell11  阅读(48)  评论(0编辑  收藏  举报