JMeter相关知识

1、若请求参数为json串,则需要在HTTP信息头管理器中添加如下配置,而后在HTTP请求Content encoding字段值填写:utf-8,而后在Body Data中放入请求参数;

名称:Content-Type;

值   :application/json;

2、JMeter中Parameter和Body Data区别:

Parameters:

xx=xx&xxx=xx格式的参数为GET或者POST请求中,URL中带的参数值,如:

在如下URL中:/api/vl/courseware/list?index=0&thumb=1;

?号后面的可以写在URL中,也可以写在Parameters中。

使用parameters时,Content-Type不传默认值为:application/x-www-from-urlencoded或者直接传application/x-www-from-urlencoded,若传application/json出错;

 

Body Data:

json格式的是POST请求中的参数,POST请求参数时,看请求的格式,是否需要在请求中添加HTTP信息头管理器,将请求的Content-Type或者User-Agent等进行定义;

使用Body Data时,Content-Type可传application/x-www-from-urlencoded或者application/json,区别是数据格式不同;

 

3、输入部分参数化:

A、用JMeter中的函数获取参数值,函数如下:__Random,__threadNum,__CSVRead,__StringFromFile,具体调用方法如下:${__Random(,,)}等;

通过菜单选项-》函数助手对话框找到JMeter函数;

 

B、用户定义变量:添加配置元件-》用户定义的变量,名称中输入变量名称,以登录为例,定义两个变量username和password。值中可以直接输入值,也可以通过JMeter函数__CSVRead,__StringFromFile从csv或dat文件中读取,还可以通过前缀加随机数的方法设置参数;

 

C、从CSV文件中读取:当参数的值没有规律且量不大时,可以用这种方法:首先,创建一个CSV文件,内容为参数的值集,每个参数占一列,第一行就开始写参数值,不要写参数名;在测试计划或线程组中添加一个配置元件-》CSV Set Config;其次,在filename中填写上述步骤中CSV文件的完整路径;Virable Names中填写变量名,如果CSV文件中有多个变量,则用逗号隔开;

 

D、从数据库中读取:当参数的值没有规律且量比较大时,可以选用这种方法:

具体操作如下:

在如下网址中下载相应的JDBC文件MySQL JDBC “http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.12.zip/from/http:ftp.jaist.ac.jp/pub/mysql/”;

解压下载的zip包后,将其中的mysql-connector-java-java-5.1.12-bin.jar放到JMeter的lib目录下;

添加配置元件-》JDBC Connection Configuration,设置如下参数列:

Database URL:jdbc:mysql://host:port/db(如jdbc:mysql://localhost:3306/testlink
           JDBC Driver class:com.mysql.jdbc.Driver
           username:连接数据库的用户名(如root)
           password:连接数据库的密码

添加Sampler-》JDBC Request,在SQL Query中输入查询语句,如下:

SELECT CONCAT (“[",
                GROUP_CONCAT(
                CONCAT("{username:'",login,"'"),
                CONCAT("{password:'",password),"'}"),"]“) AS json FROM users

而后在上述JDBC请求中添加后置处理器-》正则表达式,以提取查询得到的用户名和密码,例如设置正则表达式提取器的参数:引用名称:user

正则表达式:username:'(.+?)'\{password:'(.+?)'}

模板:$1$$2$

使用时,user_g1即为用户名,user_g2即为对应用户名的密码

D、在Body Data中参数设置为:

{
           "empCode": "${num}",
           "month" : "201806"
            }

4、

猜你喜欢

转载自blog.csdn.net/xjtlzl/article/details/81480942