栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

jmeter关联数据库

jmeter关联数据库

一、为什么关联数据库

        很多业务场景中,请求之间是有依赖关系的,后一个请求依赖于前一个请求的结果,因此需要在两个请求之间建立关联。

        比如:只查询第3个学院信息,只返回第三个学院的信息,只运行一次脚本。

        解决思路:1,查询所有学院信息---请求01
                          2,从第一步的结果中提取第三个学院的id。肉眼提取--->自动提取。
                          3,查询指定的第3个学院。---请求02

二、什么是关联

        1,所谓的关联,就是从请求01的“响应结果”中,自动获取某个数据,自动传递给请求02。简言之,就是第一个请求的响应数据,要传递给第二个请求使用,两个请求之间产生了相关联系,这就叫做关联。
        2,关联所起的作用,就是上一点中解决方案中的第2步。

三、怎样关联

 (一)数据库查询结果再处理

        1.创建数据库直连请求
        2.填写查询语句 
    
    
            每一行的数据,就是这个变量的一个元素,获取第n个元素的形式是:${name_n}
            数组类似于python中的列表或者元组,但是数组的元素下标从1开始
        3.创建第二个请求,使用第二步提取的数据作为参数值

        
        4.运行,查看结果

         拓展:返回多字段的响应报文,每个字段的所有数据,可以存放在不同的变量中,按列依次存放,变量名之间使用逗号分隔。

         

 (二)正则表达式提取器

        (1)相关知识

                元字符:.(点) :匹配除换行符(n、r)之外的任何单个字符

                限定符:

                *(星号):匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。

                ?(问号):匹配前面的子表达式零次或一次。例如,"does?" 可以匹配 "doe" 或 "does"

                贪婪模式:尽可能多的匹配文字(默认模式)

                非贪婪模式:后面加上一个?(问号)就可以实现非贪婪或最小匹配

                分组捕获:对匹配结果进行再处理,从匹配结果中提取想要的字符串,常用于代码或程序中获取指定字符串。

        (2)正则表达式提取器的基本设置

                

                 注意:
                    ①基于同一个请求可以添加多个正则表达式提取器
                    ②正则表达式的编写,可以有多个括号进行提取
                    ③变量名存储的,实际上是模块中的所有内容

        (3)应用步骤

                ①构建jmeter脚本,创建第一个请求,获取响应报文纯文本
                ②分析响应报文,确定提取目标的特征
                ③编写正则表达式(3步)(需要基于响应报文的纯文本格式)
                ④添加正则表达式提取器
                ⑤设置正则表达式提取器的属性
                ⑥创建第二个请求,引用关联变量
                ⑦运行脚本,实现关联

        (4)扩展

                匹配数字是非负数,变量引用形式说明:
                    变量名_g:提取范围的个数,g为group的缩写
                    变量名_g0:返回的匹配结果
                    变量名_gN:第N个提取范围的内容
                    变量名:存储的是指定匹配结果的指定提取范围内的内容-模板中的内容

                

                

                匹配数字为-1,变量引用形式说明:
                    变量名_n_gN:n---第n个匹配结果,N---第N个提取范围(第几个括号)
                    变量名_n_g:每个匹配结果中有几个提取范围
                    变量名_matchNr:一共有几个匹配结果
                    变量名:取的是默认值

                

                 

        正则表达式在线测试网站:正则表达式在线测试

(三)xpath提取器(适用于响应报文是HTML格式)

        jmeter中实现从HTML响应报文中提取需要数据的一种元件,这个元件属于后置处理器。

        作用:实现数据的提取和传递

        操作步骤:

                (1)基于要提取的请求取样器,添加后置处理器-xpath提取器

                
                                

                (2)设置xpath的属性
                    
                (3)后续请求中引用变量

                
                (4)注释说明:
                    一定要勾选Use Tidy
                    xpath可手写也可f12获取,获取网页title为: //title
                    匹配数字:0:随机;         -1:返回所有的匹配结果
                    ${变量名_n}:第n个匹配结果
                    ${变量名}:第1个匹配结果
                    缺省值:xpath找不到内容或xpath提取器有错误发生时,变量的取值就是缺省值
                                    xpath提取器可以添加多个

 四、关联易错点

        (1)数据库查询结果再处理的变量是一个数组变量,和其他关联方式综合运用,容易犯不加下标的错误

        (2)变量引用和变量定义的名称一定要一致,如果变量传递发生错误,除了检查xpath或正则表达式是否编写正确,还需要检查变量名是否引用错误

        (3)正则表达式提取器中,变量的引用形式择机使用,选择合适的引用形式

        (4)如果参数化没有思路或思路不清晰,或直觉很绕,就需要考虑将思路细化,按部就班,导出参数化的变量、数据和方式。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/335619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号