jmeter性能测试脚本

1. JMeter的安装

1.1 下载JMeter : http://jmeter.apache.org/download_jmeter.cgi

       选择一个版本比如2.13

1.2  解压 apache-jmeter-2.13.zip 到一个目录中,比如 /home/jyf/jmeter

1.3  将 /home/jyf/jmeter/bin 加入到环境变量中

1.4  环境变量生效后,在命令窗口中输入jmeter,jmeter的界面将被打开, 界面如下:

      

 
 2. 入门 - 创建简单的脚本测试脚本测试hello world

前提: 已经有一个Restful API,

            url: http://localhost:8080/api/private/hello?name={name}

            request method: Get

            response: hello {name}

2.1 右键点击Test Plan -> Add -> Threads (Users) -> Thread Group, 在右侧面板中找到name, 并修改name为test hello group, 然后保存.

2.2 在左侧面板中,右键点击test hello group-> Add -> Sample -> HTTP Request, 在右侧面板中找到name并修改为test hello request, 然后保存.

2.3 在Server Name or IP中输入localhost,在Port Number中输入8080,在method中选择Get, 在Path中输入:/api/private/hello, 然后在Parameters 区域下方点击add,在name一栏输入name,在value一栏输入world,完成后保存。



 

 

 

2.4 为了观察测试返回的结果,需要创建一个view results tree。右键点击test hello group-> Add -> Listener -> View Results Tree。

2.5 点击工具栏中的绿色运行按钮来运行测试脚本。

2.6 运行完成后,点击左侧的View Results Tree, 每次的运行结果都会被列出来,选择其中的一次运行, 并选择其右侧的tab:Response data。返回结果hello world将显示出来。




 
 


3. 入门 - 创建接受JSON数据格式的API性能测试脚本

前提: 已经有一个Restful API,

            url: http://localhost:8080/api/private/helloCompany

            request method: Post

            response: hello {company name}

3.1 右键点击Test Plan -> Add -> Threads (Users) -> Thread Group, 在右侧面板中找到name, 并修改name为test hello company group, 然后保存.

3.2 在左侧面板中,右键点击test hello company group-> Add -> Sample -> HTTP Request, 在右侧面板中找到name并修改为test hello company request, 然后保存.

3.3 在Server Name or IP中输入localhost,在Port Number中输入8080,在method中选择post, 在Path中输入:/api/private/helloCompany, 然后在Body data 区域下方的文本区域输入如下内容:

{
    "name": "good Company",
    "address": "jk Road",
    "phone": "6668888"
}




 
 

 3.4 (这步不能忘记)在左侧面板中,右键点击test hello company group-> Add -> Config Element -> HTTP Header Manager。点击Add按钮,输入name:content-type,输入value:application/JSON;charset=UTF-8。

再次点击Add按钮,输入name:accept,输入value:*/*

3.5 按照2.4和2.5的步骤运行脚本,结果如下:




 
 

4.进阶一:使用properties文件来存放配置参数。

目的:当我们有很多的脚本时,当测试的api url需要改变,那我们需要一个个的脚本修改,这样很麻烦。

JMeter提供了一种方式,就是把这些参数放到properties文件中。具体的步骤如下(以3中的脚本例子):

4.1 右键点击test hello company group-> Add -> Config Element -> User Defined Variables. 点击Add按钮,输入name:url,输入value:${__P(target.host)}. 点击Add按钮,输入name:port,输入value:${__P(target.port)}.



 
 

4.2 在左侧面板选择test hello company Request, 把右侧Server Name or IP的值改成${url}, 把Port Number改成${port}




 
 

4.3 创建一个properties文件,并在文件中输入如下内容

target.url=localhost
target.port=8080

4.4 退出JMeter,用命令jmeter -p  /*path*/**/**.properties 重新运行JMeter.

4.5 选择3中的脚本,重新运行。检查结果和3的结果一样。

5. 从CSV文件读取测试数据

5.1. 创建一个csv文件, 放在文件夹/User/xyz下,并且命名为company_info.csv

keji1,jinke1,123
keji2,jinke2,456
keji3,jinke3,789

5.2. 在4中创建的properties文件中加入一下内容:

company.info.csv=/User/xyz/company_info.csv

5.3 用命令jmeter -p  /*path*/**/**.properties 重新运行JMeter.

5.4 右键点击test hello company group-> Add -> Config Element -> CSV Data Set Config.

在Filename中输入${__P(company.info.csv)}. 在Variable Names中输入companyName, address, telephone.

在Delimeter中输入",". 其他不变。



 


 5.5 在左侧面板选择test hello company Request,把右侧Body Data中内容改成:

{"name": "${companyName}",
"address": "${address}",
"phone": "${telephone}"
}

5.6 在左侧面板选择test hello company group,把右侧Number of Threads中内容改成3.

5.7 运行脚本,在View results tree中看到的结果如下:



 

  

猜你喜欢

转载自jyfhsszq.iteye.com/blog/2271766