zoukankan      html  css  js  c++  java
  • jmeter之断言、数据提取器(正则表达式、jsonpath、beanshell)、聚合报告、参数化

    • ctx - ( JMeterContext ) - gives access to the context
    • vars - ( JMeterVariables ) - gives read/write access to variables: vars.get(key); vars.put(key,val); vars.putObject("OBJ1",new Object()); vars.getObject("OBJ2");
    • props - (JMeterProperties - class java.util.Properties) - e.g. props.get("START.HMS"); props.put("PROP1","1234");
    • prev - ( SampleResult ) - gives access to the previous SampleResult (if any)
    • sampler - (Sampler)- gives access to the current sampler

    ctx 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html

    vars 地址:http://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterVariables.html

    prev地址:http://jmeter.apache.org/api/org/apache/jmeter/samplers/SampleResult.html

    jmeter中jsonpath用的jar包

    本次脚本

    一、断言

    包含、匹配,如果做性能测试一般都用包含,默认是响应文本

    二、数据提取器包括:1、正则表达式提取器;2、jsonpath 提取器;3、beanshell

    正则表达式和jsonpath提取器,提取的值可以用在第二次请求用,上一个接口的数据做为下一个接口请求的数据,可以用beanshell里的responseData ,当做一个map,也可以用jsonpath 和正则表达式,jsonpath 的只针对json的格式,正则表达式可以用在不规则的情况下。

    1、正则表达式,主要用于提取返回信息中的数据,做判断用。

    Apply to:默认即可
    要检查的字段:主体等选择,一般我们选择主体,即服务器返回给我们的页面主体信息
    引用名称:即参数名称,这个自己定义,在后面时可用
    正则表达式: 正则表达式中()括起来的部分就是要提取的。.代表任意字符,+代表出现任意次,后面加?。
    模板:$1$代表只有一组数据
    匹配数字:0代表随机取值,1代表全部取值,通常情况下填0,如果在LR中,取出的值是一个数组,还得处理一下,LR11版本用一个随机的函数就可以不用写大段的代码来处理数组
    缺省值:如果参数没有取得到值,那默认给一个值让它取

    正则表达式 里的引用名 放到beanshell里使用,log.info("myname::::::"+vars.get("myname"));

    2、jsonpath

    需要添加jar包,

    3、beanshell

    在beanshell中写入 String responseData = prev.getResponseDataAsString();  引用responseData 这个名字就可以使用了

    三、聚合报告里面做性能用的比较多,响应时间主要用的是99%line,代表百分之99的请求响应时间低于多少ms;

    聚合报告页面中,在所有数据写入一个文件,文件名写上路径,就可以输出到那个路径jtl 格式的报告,然后可以转换成html格式

    四、CSV参数化

    FileName:即同目录下csv文件的名称
    File Encoding: 默认为ANSI
    Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
    Allow Quoated data: 双引号相关
    循环Recycle on EOF: 设置为True后,允许循环取值
    到最后就停止Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
    Sharing Mode: 设置是否线程共享
    设置线程循环为永远,CSV的Recycle on EOF=False,
    Stop thread on EOF=True

    原文:https://blog.csdn.net/qq_30353203/article/details/77671922

  • 相关阅读:
    build/envsetup.sh 脚本分析 lunch函数
    DEDE自动审核会员发表的最新文章的修改方法
    php学习笔记(三)――操作符与控制结构
    简单的会话类
    学习PHP几个数学计算的内部函数
    关于gotozf学习笔记(11/08/06 12:07)
    再谈中文分词php类
    原站完整打包PHP+MYSQL,可做仿53客服在线客服系统,多用户多国语言企业版
    白话经典算法系列之二 直接插入排序的三种实现
    php 代码运行时间查看类
  • 原文地址:https://www.cnblogs.com/miracle77hp/p/10148160.html
Copyright © 2011-2022 走看看