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(防止中文乱码一般填这个)

Jmeter练习1:csv参数化练习_参数化

信息填写完成之后,点击工具栏运行按钮:

Jmeter练习1:csv参数化练习_线程组_02

,然后打开察看结果树,点击我们运行的http请求,查看请求响应页面:

取样器结果可以看出,本次请求成功

Jmeter练习1:csv参数化练习_参数化_03


请求tab页可以看出,使用GET请求访问链接

Jmeter练习1:csv参数化练习_线程组_04

响应数据可以看出,访问此链接返回如下

Jmeter练习1:csv参数化练习_线程组_05

如上完成了一次访问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

Jmeter练习1:csv参数化练习_线程组_06

参数化完成之后运行,然后打开察看结果树,点击我们运行的http请求,查看请求响应页面:

从请求tab页可以看出,本次参数化请求成功,请求的数据和非参数化请求body一致

Jmeter练习1:csv参数化练习_参数化_07

3.csv参数化场景访问链接

原始机器人链接就是根据msg的内容返回对应结果。当需要返回大量结果数据时我们可以将msg的值填入excel表格,通过csv参数化的方式得到我们需要的结果。那么只需要将msg的内容参数化,这部分内容是可以自定义的,执行几个场景试试。

(1)表格如下:

Jmeter练习1:csv参数化练习_参数化_08

A列首行为第一个参数userName,B列首行为第二个参数passWord。

step1.改造上一步msg参数的内容,将其参数化为表格中的两个参数

名称:msg,值:${userName}${passWord}

(如上${}此结构括号内填入参数,多个参数不需要使用其他符号连接)

Jmeter练习1:csv参数化练习_线程组_09

step2.http请求鼠标右键添加-配置元件-CSV Data Set Config

step3.CSV数据文件设置

文件名:选择对应的csv文件

文件编码:UTF-8

变量名称:userName,passWord

(这和我们在http请求中填入的msg值中的变量名称是一致的,可以直接复制过来,多个参数之间英文逗号间隔)

忽略首行:True(由于我们的表格中第一行写了参数名,故需要忽略首行)

其他参数默认即可

Jmeter练习1:csv参数化练习_线程组_10

step4.运行http请求,察看结果树中的请求中可以看出csv参数化成功:

Jmeter练习1:csv参数化练习_线程组_11

step5.表格中我们填入的数据有3行,想要3行全部运行,线程组中的线程数设置为3即可

Jmeter练习1:csv参数化练习_线程组_12

step6.察看结果树

Jmeter练习1:csv参数化练习_线程组_13

Jmeter练习1:csv参数化练习_线程组_14

Jmeter练习1:csv参数化练习_线程组_15


Jmeter练习1:csv参数化练习_线程组_16

Jmeter练习1:csv参数化练习_线程组_17

以上csv参数化场景实现了,接下来尝试其他参数设置。

(2)作业:把csv参数化按照agreement,ip,port,url,key,encode字段进行参数化,沿用机器人那个接口实现

step1.改造http请求中msg参数值

名称:msg,值:${agreement}${ip}${port}${url}${key}${encode}

step2.新建data1.csv文件

Jmeter练习1:csv参数化练习_参数化_18

step3.改造csv数据文件设置中的值

变量名称:agreement,ip,port,url,key,encode

Jmeter练习1:csv参数化练习_线程组_19

step4.线程组线程数设置为表格中需要运行数据的行数查看表格中的数据是否都能参数化

Jmeter练习1:csv参数化练习_线程组_20

step5.察看结果树

取样器结果:

Jmeter练习1:csv参数化练习_线程组_21

请求:

Jmeter练习1:csv参数化练习_参数化_22

Jmeter练习1:csv参数化练习_参数化_23

Jmeter练习1:csv参数化练习_线程组_24

Jmeter练习1:csv参数化练习_线程组_25

Jmeter练习1:csv参数化练习_参数化_26

响应数据:

Jmeter练习1:csv参数化练习_参数化_27

Jmeter练习1:csv参数化练习_参数化_28