美文网首页
JMeter学习(三)参数化

JMeter学习(三)参数化

作者: zixuan100 | 来源:发表于2020-04-19 17:06 被阅读0次

    JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现。

    参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。

    一、用户参数

    设置方式:添加→前置处理器→用户参数,设置如下:

    说明:search_keywords是参数名称,用户_1/用户_2/用户_3是参数的3个值。仅对于多线程时,每个线程会取其中一个值,若线程超过3个,则会重复取这3个值中的一个。若设置为1个线程,则此参数化方法无效。

    二、 用户定义的变量

    设置方式:添加→配置元件→用户定义的变量,设置如下:

    三、 csv data set config

    设置方式:添加→配置元件→csv data set config,设置如下:

    说明:线程组中,若线程数为1,循环次数设置为3,则会相继取data.txt中的值,发送3次请求

    - 随机函数RandomString

    设置方式:选项→函数助手对话框→选择函数为:_RandomString,设置如下:

    说明:第一项为长度,设为2,则会取2个汉字;第二项为可选,建议填上,生成的随机字符串会从这一项中随机选取并组合;第三项可选,可填可不填;最后点击生成,把生成的一堆东西复制粘贴在参数的位置,如下:

    这种方式对单线程or多线程没区别

    - 数据库查询结果转为变量

    首先第一步要导入mysql驱动包

    一、设置方式:添加→配置元件→JDBC Connection Configuration

    设置链接

    Database URL: jdbc:mysql:// 数据库地址 /库名

    JDBC Driver class:com.mysql.jdbc.Driver

    Username:账号

    Password:密码

    二、设置方式:添加→Sampler→JDBC Request

    Variable Name: 数据库连接池的名字,需要与上面配置的JDBC Connection Configuration中Variable Name Bound Pool的Variable Name相同 

    Query:填写的sql语句未尾不要加“;” 

    Parameter valus:参数值 

    Parameter types:参数类型,可参考:Javadoc for java.sql.Types 

    Variable names:保存sql语句返回结果的变量名 

    Result variable name:创建一个对象变量,保存所有返回的结果 

    Query timeout:查询超时时间 

    Handle result set:定义如何处理由callable statements语句返回的结果

    variables names设置为A,,C,那么如下变量会被设置为:

    A_#=2 (总行数)

    A_1=第1列, 第1行

    A_2=第1列, 第2行

    C_#=2 (总行数)

    C_1=第3列, 第1行

    C_2=第3列, 第2行

    如果返回结果为0,那么A_#和C_#会被设置为0,其它变量不会设置值。

    如果第一次返回6行数据,第二次只返回3行数据,那么第一次那多的3行数据变量会被清除。

    可以使用${A_#}、${A_1}...来获取相应的值

    三、在http请求中加入变量

    username_id_N:N为数字,指取第几个数

    四:添加察看结果树

    再看看与loadrunner参数化不一样的:

    1、 jmeter参数文件的第一行没有列名称

    2、 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)

    3、 Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)

    相关文章

      网友评论

          本文标题:JMeter学习(三)参数化

          本文链接:https://www.haomeiwen.com/subject/imhcmhtx.html