先看下脚本结构:
思路:将登陆请求放在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,再依次运行线程组;