• Jmeter跨线程组传递cookie,以禅道系统为例;BeanShell的存取数据的使用


    先看下脚本结构:

    思路:将登陆请求放在setUp Thread Group中;把登陆后的cookie通过正则提取出来,然后存为全局变量,传递到下一个线程组中;

    第一步:添加setUp Thread Group线程组;线程数、Ramp-Up Period、循环次数都设置为1

    第二步:添加HTTP Cookie 管理器,不用添加任何值

    第三部:添加Sample,HTTP请求

    第四步:添加后置处理器,正则表达式;

    第五步:添加后置处理器,BeanShell PostProcessor;之前正则定义了参数TSSID,现在可以直接通过${TSSID}提取出来,并通过${__setProperty(newsTSSID,${TSSID},)};存入newsTSSID变量中,

    第六步:添加线程组

    第七部:添加配置元件,HTTP信息头管理器,将变量newsTSSID的值,通过${__property(newsTSSID)}取出,通过请求头传递cookie;

    第八部:添加登陆后的请求,由于提交bug请求用的请求头不一致,所以要添加单独的请求头,这个可以通过抓包工具获取

     

    然后查看结果树可以正常提交bug;

    图中第三个线程组可添加可不添加,本人主要是用来测试setUp Thread Group执行次数,事实证明,setUp Thread Group设置运行几次,就运行几次,

    不管是选中图中测试计划中的任意两种模式,都会在线程组运行之前,先运行完毕setUp Thread Group,才会继续运行线程组,做初始化的操作;

    而线程组之间的运行规则,如果选中独立运行每个线程组,则会先运行完setUp Thread Group,再依次运行线程组,如果选中第二个,则会先运行完setUp Thread Group,再同时运行所有线程组;两个都选,则会先运行完setUp Thread Group,再依次运行线程组;

  • 相关阅读:
    activiti 任务节点 处理人设置【转】
    activiti 中的签收与委托 操作
    [转] shiro简单配置
    Angular-ui/bootstarp modal 主控制器与模态框控制器传值
    angular之$on、$emit、$broadcast
    AngularJs动态添加元素和删除元素
    angular.element
    angularJs的工具方法
    AngularJS $watch 监听
    AngularJs 延时器、计时器
  • 原文地址:https://www.cnblogs.com/lelexiong/p/9167668.html
Copyright © 2020-2023  润新知