1.非参数化场景——直接通过链接访问
step1.新建jmx文件并命名为demo.jmx
step2.测试计划下鼠标右键添加-线程-线程组
step3.线程组下添加-取样器-http请求
step4.线程组下添加-监听器-查看结果树,用于查看请求响应情况
http://api.qingyunke.com/api.php?key=free&appid=0&msg=%E9%B9%85%E9%B9%85%E9%B9%85
需要访问的链接如上,根据链接将各信息填入http请求中。从链接可以看出:
协议:http(此为默认协议,协议框不填默认为http)
服务器名称或ip: api.qingyunke.com
端口号:(链接中无此信息,空着就行)
http请求:GET(由于我们的需求是访问此链接,对应GET请求)
路径:api.php?key=free&appid=0&msg=%E9%B9%85%E9%B9%85%E9%B9%85(服务器名称或ip/之后的内容填到这里)
内容编码:UTF-8(防止中文乱码一般填这个)
信息填写完成之后,点击工具栏运行按钮:
,然后打开察看结果树,点击我们运行的http请求,查看请求响应页面:
取样器结果可以看出,本次请求成功
请求tab页可以看出,使用GET请求访问链接
响应数据可以看出,访问此链接返回如下
如上完成了一次访问url链接的请求,使用非参数化的方式。
2.参数化场景访问链接
原路径:api.php?key=free&appid=0&msg=%E9%B9%85%E9%B9%85%E9%B9%85
直接改造非参数化的场景,其他数据都不用修改,仅需修改路径,将路径数据参数化。“?”后面的数据可以参数化,根据“=”可以看出有三个数据可以参数化,分别是key、appid、msg。
step1.修改新路径
路径:api.php?
step2.添加参数,参数tab页,直接点击添加填入对应的数据
名称:key,值:free
名称:appid,值:0
名称:msg,值:%E9%B9%85%E9%B9%85%E9%B9%85
参数化完成之后运行,然后打开察看结果树,点击我们运行的http请求,查看请求响应页面:
从请求tab页可以看出,本次参数化请求成功,请求的数据和非参数化请求body一致
3.csv参数化场景访问链接
原始机器人链接就是根据msg的内容返回对应结果。当需要返回大量结果数据时我们可以将msg的值填入excel表格,通过csv参数化的方式得到我们需要的结果。那么只需要将msg的内容参数化,这部分内容是可以自定义的,执行几个场景试试。
(1)表格如下:
A列首行为第一个参数userName,B列首行为第二个参数passWord。
step1.改造上一步msg参数的内容,将其参数化为表格中的两个参数
名称:msg,值:${userName}${passWord}
(如上${}此结构括号内填入参数,多个参数不需要使用其他符号连接)
step2.http请求鼠标右键添加-配置元件-CSV Data Set Config
step3.CSV数据文件设置
文件名:选择对应的csv文件
文件编码:UTF-8
变量名称:userName,passWord
(这和我们在http请求中填入的msg值中的变量名称是一致的,可以直接复制过来,多个参数之间英文逗号间隔)
忽略首行:True(由于我们的表格中第一行写了参数名,故需要忽略首行)
其他参数默认即可
step4.运行http请求,察看结果树中的请求中可以看出csv参数化成功:
step5.表格中我们填入的数据有3行,想要3行全部运行,线程组中的线程数设置为3即可
step6.察看结果树
以上csv参数化场景实现了,接下来尝试其他参数设置。
(2)作业:把csv参数化按照agreement,ip,port,url,key,encode字段进行参数化,沿用机器人那个接口实现
step1.改造http请求中msg参数值
名称:msg,值:${agreement}${ip}${port}${url}${key}${encode}
step2.新建data1.csv文件
step3.改造csv数据文件设置中的值
变量名称:agreement,ip,port,url,key,encode
step4.线程组线程数设置为表格中需要运行数据的行数查看表格中的数据是否都能参数化
step5.察看结果树
取样器结果:
请求:
响应数据: