Jmeter中有较多需要参数化测试的地方:

1.从一个用户登录的接口获取登录后的token值,取值后用于后续接口调用

2.获取用户浏览后的cookies信息,需要用到HTTP Cookie 管理器来为同一线程组提供通用的cookies信息

Jmeter中通过${}形式来取参数值

当取值为变量,${变量名}

当取值为函数,${_函数名(参数1,参数2,参数3)}

json中和parameter中的取值方法相同

在获取接口信息的时候,注意查看传输的头信息中的Content-Type

Content-Type:application/json,使用Body Data上传json格式的参数

Content-Type:application/x-www-form-urlencoded,使用Parameter上传参数

参数化的几种方法

(一)CSV Data Set Config的设置(从csv文件导入参数)

1.创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名,“测试用户.csv”的首列内容为email,第二列为password

2.在http://zkread.com/login测试计划右键添加一个配置元件“config element”->“CSV Data Set Config”

3.Filename处填写csv文件的完整路径

(本机服务器操作,填写csv完整路径;远程服务器操作,将csv文件放在jmeter的bin目录下,直接填写文件名)

4.Virable Names中填写变量名,如果csv文件中有多个变量,则用逗号隔开

在http://zkread.com/login测试计划中设置CSV data set config,引用csv中的数据时

name中填写接口的参数名

value值填写${username}

(二)从数据库获取

下面是从不同数据库连接JDBC 的方法

mysql数据库:在jmeter的lib/ext目录下添加mysql-connection-java-5.1.26-bin.jar包

sql server 数据库:下载sqljdbc4.jar 放到 jmeter根目录的lib目录下

oracle数据库:将oracle数据的安装目录下面的\product\10.2.0\db_1\jdbc\lib\ojdbc14.jar 放到jmeter根目录下的lib目录下

在线程组添加配置元件JDBC Connection Configuration

设置内容如下

默认配置都不需要更改,Variable Name为连接名称,在后面的JDBC request中对应

在Database Connection Configuration中设置Database URL

Username和Password为数据库登录用户名和密码

不同数据库具体的填写方式,可以参考下面的表格(没有DB name可以不填):

Datebase

Driver class

Database URL

MySQL

com.mysql.jdbc.Driver

jdbc:mysql://host:port/{dbname}

Oracle

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:user/pass@//host:port/service

在线程组添加配置元件JDBC Request

Variable Name和上面的对应

query中填写查询语句

Variable Names填写要获取的参数名,用逗号隔开

在线程组添加配置元件Debug Sampler可以查看数据库的取值结果

(三)用户定义的变量

可以添加在测试计划,也可以添加在线程组中,也可以添加在请求中,使用的域不同。

使用HTTP cookies 管理器也相当与定义了一个cookies,jsessionid,sessionid的值。

(四)从函数获取变量

jmeter选项中的函数助手对话框,可以添加和查看函数。

参考资料:

cookies 管理器的使用:

http://blog.csdn.net/g695144224/article/details/51802862

token使用中的正则表达式:

https://www.cnblogs.com/wuyepiaoxue/p/5661194.html

JDBC Request使用:

http://blog.csdn.net/hwhua1986/article/details/64442943

最新文章

  1. JS学习-创建对象
  2. linux set ff命令
  3. TCP/IP和HTTP的举例理解
  4. linux中重定向的用法
  5. 如何让eclipse在程序修改后,点击运行可以自动保存。
  6. android代码混淆笔记
  7. GO 基础
  8. Android BLE dfu升级
  9. angular中的ng-options 用法
  10. Python之路(第十六篇)xml模块、datetime模块
  11. hadoop学习之hdfs文件系统
  12. DHCP介绍
  13. 1089: [SCOI2003]严格n元树
  14. C++中的public、private、protected成员继承问题
  15. DOS批处理高级教程
  16. pidgin-lwqq
  17. vector类型介绍
  18. [转]Web Api系列教程第2季(OData篇)(二)——使用Web Api创建只读的OData服务
  19. Scrum立会报告+燃尽图(十月十日总第一次):选题
  20. jar 解压war包到指定目录

热门文章

  1. bootstrap table教程--使用入门基本用法
  2. graphql-binding openapi 集成demo
  3. Hadoop NameNode 高可用 (High Availability) 实现解析[转]
  4. solr5.5.0在CenOS上的安装与配置
  5. 用Keras 和 DDPG play TORCS(1)
  6. System.IO.Path类
  7. 东芝笔记本Satellite M40-A
  8. 【python】 Windows下pip安装包报错:Microsoft Visual C++ 9.0 is required Unable to find vcvarsall.bat
  9. LCD RGB 控制技术讲解 — 时钟篇(上)
  10. APR介绍