• jmeter进阶学习(关联)


    1、为啥要采用关联,关联的优点在哪?

    当一个请求的参数依赖于前一个请求得到的id时,此时就需把这两个请求关联起来;

    比如类似的业务:新建一个project,然后删除新建的project。新建的project是一个post请求,服务器会返回一个projectid,而在删除project时,就需要得到这个projectid,从而调用删除接口,发送一个post请求,把这个project删除掉;

    2、如何进行关联操作呢?

    具体方法,在需要获得数据的请求上右击添加一个后置处理器-->正则表达式提取器

    引用名称即下一个请求要引用的参数名称,如填写title,则可用${title}引用它。

    正则表达式中()括起来的部分就是要提取的。.代表任意字符,*代表出现任意次。

    模板,用$$引用起来,如果在正则表达式中有多个正则表达式(多个括号括起来的东东),则可以是$2$,$3$等等,表示解析到的第几个值给title。

    匹配数字,0代表随机,-1代表所有,其余正整数代表将在检查的内容中,第几个匹配的内容提取出来。

    别用-1 负数表示取所有值,是以数组方式存放    调用需要用数组方式调用。

    0表示随机   1表示第一个匹配的    2表示第二个匹配的   

    3、Jmeter中的关联用函数_regexFunction实现,函数字符串可以通过“函数助手对话框”生成

    (1)、正则表达式:s0.id="(.*)";如果response中有类似s0.id="_fks_JV8Uodp1O7nE9VFbRgYT5w==";这样的字符串,那么参数的值就为:_fks_JV8Uodp1O7nE9VFbRgYT5w==

    (2)、参数的组别:如果前面的正则表达式取了不止一个参数(如 s0.id="(.*)";s0.ip="(.*)";),那么这里需要制定参数的组别,如果该参数为 $1$,则表示取得第一个值(id),$2$表示取得第二个值(ip)。

    (3)、第几个参数:组别设置好以后,还有一个问题,如果response中有两个地方都能够匹配s0.id="(.*)";s0.ip="(.*)";这个字符串,那么这里可以选择取第几次匹配,选择1表示第一次匹配,依次类推。还可以选择All,表示选择所有匹配,这个不大用到,具体可以看jmeter的帮助。

    .....

    未完待续...

  • 相关阅读:
    [POJ 1463] Strategic Game
    [POI 2007] 堆积木
    [POJ 1609] Tiling Up Blocks
    warning: conflicting types for built-in function 'puts'
    u-boot.lds 链接脚本分析(hi3515)
    怎么看时序图--nand flash的读操作详解
    有关mapminmax的用法详解
    整理出来的一个windows关机、锁定、重启、注销 API调用
    C# FileStream Write追加写入文本
    C# FileStream 按大小分段读取文本内容
  • 原文地址:https://www.cnblogs.com/tyen0921/p/3924993.html
Copyright © 2020-2023  润新知