python自动化测试-D2-学习笔记之一

一、Jmeter 压力测试

判断服务器压力测试的指标
     Tps: 服务端每秒钟处理事务数
     响应时间:每个请求的处理时间

聚合报告:查看压测结果的
在监听器里-添加聚合报告

一般我们在做压力测试的时候,分单场景和混合场景,单场景也就是咱们压测单个接口的时候,多场景也就是有业务流程的情况下,比如说一个购物流程,那么这样的场景就是混合场景,就是有多个接口一起来做操作。

1、单场景,一个请求就可以了
2、混合场景,多个请求
3、压测时间,一般场景都是运行10-15分钟,如果是做疲劳测试的话,可以压一天或者一周,根据具体的情况来定

测试案例:

1、在线程组中先添加聚合报告,如下图:

 

2、设置脚本:利用上节课的脚本(学生金币充值)进行压测

3、设置线程组后点击启动:

4、查看聚合报告

 

 

 二、Linux下运行jmeter压力测试

我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上把脚本做好,然后在linux下运行即可,linux下运行jmeter是在jmeter的bin目录下的jmeter.sh这个shell脚本。
sh jmeter.sh -n –t a.jmx -l res.jtl
-n代表以没有图形化界面启动,-t代表后面是测试脚本,a.jmx也就是我们做好的jmeter脚本,-l代表测试结果 res.jtl就是测试结果文件,查看结果的话,在查看结果树视图中导入这个res.jtl就可以查看到测试结果了

1、把jmeter安装包上传至linux服务器上
2、把需要压测的脚本上传至服务器中
3、运行脚本
加执行权限
./jmeter.sh -n -t +脚本路径 -l +结果文件(***.jtl ***是自己命名结果文件名称)
eg:sh jmeter.sh -n –t a.jmx -l res.jtl
4、把结果文件下载到本地,在jmeter中导入结果文件

三、Jmeter  文件下载

1、找到要下载的文件的url

http://imgsrc.baidu.com/imgad/pic/item/18d8bc3eb13533fa61c56433a2d3fd1f41345bb8.jpg

2、设置脚本

添加http请求,因为是获取数据,所以是get请求

3、添加Bean Shell Sampler

 代码如下:

import java.io.*;

byte[] result = prev.getResponseData(); //这个是获取到请求返回的数据,prev是获取上个请求的返回

String file_name = "E:\\12.17\\tiger.jpg"; //代表存放文件的位置和文件名

File file = new File(file_name);

FileOutputStream out = new FileOutputStream(file);

out.write(result);

out.close();

4、启动,察看结果树

 

 

四、多台机器压测设置

Jmeter添加负载机


我们在压测的时候,可能并发比较大, 一台机子已经启动不了那么多并发了,这个时候我们就要使用多台机子一起来发压力,就要添加压力机,添加压力机怎么添加呢,首先要在做压力机的机子上启动jmeter的代理,然后做为控制机的机子上添加上压力机的ip即可。
Jmeter的bin目录下有一个jmeter-server,启动它即可,windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server。
然后在作为控制机的jmeter配置文件里添加压力机ip即可,jmeter的配置文件在bin目录下jmeter.properties,添加压力机的时候,在配置文件里面找到remote_hosts添加ip,然后重启jmeter就可以看到远程压力机了

1、修改jmeter配置文件

搜索remote_hosts

2、调试好脚本后,远程启动

 

五、补充:jmeter利用json path 抽取变量碰到数组情况

例如:获取所有学生信息中,数据返回的json串是一个数组形式

 

 

 2、这时候在利用json path 抽取变量第一列数组里的name的时候,需要写成:

$.stu_info[0].name

posted on 2017-12-19 10:46  爱睡觉的加菲猫  阅读(293)  评论(0编辑  收藏  举报

导航