zoukankan      html  css  js  c++  java
  • Jmeter 将正则表达式提取的参数传给全局(跨线程组使用变量)

    一、使用正则表达式提取sessionId

    1、在测试计划(跨线程组使用变量)--> 线程组(登录)--> 添加HTTP请求(登录接口)

    (1)创建测试计划:

    勾选独立运行每个线程组(例如在一个组运行结束后启动下一个)

     

    (2)添加线程组,命名登录

     

    (3)添加HTTP请求(登录接口)

     

    2、在登录接口添加--后置处理器(正则表达式提取器)

    因为我们是要提取的是这个请求接口返回的响应值,因此添加的是后置处理器正则表达式提取器;

     

    (1)设置正则表达式提取器:

     

    () 填写正则表达式的时候,一个小括号代表一个分组;多个() 则代表多个分组;

    (2)需要查看提取器提取出来的值,因此需要添加一个debug Sampler(调试取样器);

     

    通过察看结果树可以看到sid提取成功

     

    红框内的是提取出来的值,结尾g代表着分组,1代表着第一个分组;

     

    3、在登录接口添加--后置处理器(BeanShell 后置处理程序)

    (1)设置BeanShell 后置处理程序

     

    (2)这里填入的函数,可以通过函数助手获取:

     

    选择__setProperty 函数:

    输入引用名称以及获取的参数

    然后点击生成按钮

     

    将生成的函数 拷贝 到 BeanShell 后置处理程序的Script 上

     

    二、如何把提取的sid 放入全局变量里面呢?

    1、在测试计划下面添加一个HTTP Cookie 管理器,并添加参数

    名称:sessionId

    值    :${__P(newtoken)}   # 这里的newtoken是从 BeanShell 后置处理程序编辑函数时定义的

     

    到这里全局变量已经设置完成了。

     

    三、创建另一个线程组(HomePageOne),并添加需要的接口

     

    添加察看结果树,运行接口

     

    这是引用全局变量成功了

    如果没有引用成功的话,如下图:

     

    这里需要注意的是:在测试计划中,必须要勾选独立运行每个线程组(例如在一个组运行结束后启动下一个)

  • 相关阅读:
    设置全屏的方法
    The connection to adb is down,and a server error has occured.解决办法---------------------亲测有效
    android 案例二 登录界面
    javaweb项目编译错误
    Ubuntu 14.04 tomcat配置
    Ubuntu 14.03 安装jdk
    Ubuntu 14.03 安装mysql
    Git 版本管理使用说明。
    getColor问题
    WebView 调试
  • 原文地址:https://www.cnblogs.com/yfacesclub/p/11980928.html
Copyright © 2011-2022 走看看