Jmeter(七)参数化
初识Jmeter的时候, 除了感觉安装和配置都很轻量以外, 还有一个最大的感触就是, 翻译真硬啊, 真的够够的! 和他磨合了挺长一段时间之后, 终于开悟了, 这些硬硬的翻译, 其实还是基本靠谱的, 看翻译的名称, 还是可以大致知道是干嘛的.
Jmeter的配置元件, 不仅可以帮助进行参数化, 还可以帮助用来存储服务器的响应信息(HTTP信息头管理), 还可以做初始化配置(JDBC Connection Configuration配置和DB的连接).
1. 回到我们的参数化, 我们先用CSV Data Set Config先来实现这个小目标先.
CSV Data Set Config可以从指定的文件中一行一行地提取文本内容, 根据分隔符拆解这一行内容并把内容与变量对应上,然后这些变量就可以供取样器引用了.
先来认识一下参数的含义:
名称: 可以随意设置, 但最好有业务意义
注释: 可以随意, 也可以为空
Filename: 引用文件地址, 可以是相对路径也可以绝对路径. 相对路径的根节点是Jmeter的启动目录(%Jmeter_HOME%\bin), 上述例子中的文件就放在C:\Jmeter3.2\bin. 如果你的测试执行是分发到多台远程负载机上, 并且可能这些机器的Jmeter安装文件不在相同目录下, 这时用相对路径的好处就体现出来了, 能够保证每个负载机执行时脚本的化文件能够读取到.
另外, 还可以利用Jmeter的变量来化参数文件的路径, 比如${paraUrl}, paraURL可以在"用户自定义变量"元件中设置
File Encoding: 默认为ANSI, 建议用UTF-8格式, 省去遇见乱码的情况
Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
Delimiter(Use '\t' for tab): 用来分隔参数文件的分隔符, 默认为逗号, 也可以用tab来分隔,如果参数文件用tab分隔, 在此应该填写'\t'
Allow Quoated data: 如果选择是, 那可以拆分完成的参数里面有分隔符的出现. 如下图:
Recycle on EOF: 设置为True后,允许循环取值
Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行
Sharing Mode: 设置是否线程共享
2. Jmeter还可以用函数助手来实现参数化
比如我们在发贴的时候, 可以用一个随机字符串来代替发贴标题和内容, 可以用__RandomString这个函数.
Random string length: 生成字符串的长度
Chars to use for random string generation: 指定用哪些字符作为种子进行随机生成, 可以支持中文, 数字, 字母等等.
Name of variable in which to store the result (optional): 可选项,如果填了, 运行脚本可以在Debug Sample中看到这个变量的值.
设计好后点击"生成", 会生成一串字符.
使用变量: