纪念第一次发博客,哈哈哈哈
本人测试小白,第一次学习jmeter接口测试。以下是自己最近的学习成果。操作步骤为主,概念、知识点为辅。
欢迎各路大神提出指导性建议。
下面说get请求相关配置:
下面是post请求相关配置:
分页查询的相关请求值填写格式:(具体见接口文档)
{
“paramScreeningItem”: {
“page”: “ p a g e " , " p a g e S i z e " : " {page}", "pageSize": " page","pageSize":"{pageSize}”},
“queryVO”:{
“isDataUpdate”:" i s D a t a U p d a t e " , " i s I n t e r n a l D a t a " : " {isDataUpdate}", "isInternalData":" isDataUpdate","isInternalData":"{isInternalData}",
“createDateStart”:" c r e a t e D a t e S t a r t " , " c r e a t e D a t e E n d " : " {createDateStart}", "createDateEnd":" createDateStart","createDateEnd":"{createDateEnd}",
“status”:" s t a t u s " , " a u d i t D a t e S t a r t " : " {status}", "auditDateStart":" status","auditDateStart":"{auditDateStart}",
“auditDateEnd”:"${auditDateEnd}"
}
使用场景:如果后一模块想要用到前面模块执行后的响应数据,则需要用到正则来进行提取。
提取数据:
该部分正则提取数据,直接描述怎么用。具体正则的详细规则自行学习。
(1)引用名称:下一个请求要引用的参数名称,如填写title,则可用${title}引用它。
(2)正则表达式:
():括起来的部分就是要提取的。
.:匹配任何字符串。
+:一次或多次。
?:不要太贪婪,在找到第一个匹配项后停止。
(3)模板:用KaTeX parse error: Can't use function '$' in math mode at position 28: …式中有多个正则表达式,则可以是$̲23$等等,表示解析到的第几个值给title。
如: − 1 -1 −1:表示取所有值
0 0 0:表示随机取值
1 1 1:表示取第1个
2 2 2:表示取第二个
以此类推: n n n:表示取第n个
(4)匹配数字:0代表随机取值,1代表全部取值,通常情况下填0
(5)缺省值:如果参数没有取得到值,那默认给一个值让它取。
Filename: 文件的完整路径,包括文件名和类型
File encoding:文件编码,好像不写也可以,开始写了utf-8报错了
Variable Names(comma-delimited):储存参数的变量名,如果在.csv文件中有写变量名就不需要写了,在这里写的话需要将每个变量名用“,”隔开
Delimiter(use ‘\t’ for tab): 分隔多个参数的分隔符
Allow quoted data?:是否有引用数据,ps:如果参数中有逗号或双引号,要选为“true”
Recycle on EOF ?:文件读取完后是否继续读取
四、jmeter中的文件下载相关配置
文件下载代码:
import java.io.*;
byte[] result = prev.getResponseData();
String file_name = “D://下载.xls”;
File file = new File(file_name);
FileOutputStream out = new FileOutputStream(file);
out.write(result);
out.close();
下载生成文件:
五、jmeter中上传相关配置
批量上传:
文件准备:
六、聚合报告相关内容
Label : 请求的名称,就是我们在进行测试的httprequest sampler的名称
Samples : 总共发给服务器的请求数量,如果模拟10个用户,每个用户迭代10次,那么总的请求数为:10*10 =100次;
Averag : 默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,以Transaction 为单位显示平均响应时间 ,单位是毫秒
Median : 50%用户的请求的响应时间,中位数
90%Line : 90%的请求的响应时间
95%Line : 95%的请求的响应时间
99%Line : 99%的请求的响应时间
Min : 最小的响应时间
Max : 最大的响应时间
Error% : 错误率=错误的请求的数量/请求的总数
Throughput : 吞吐量。默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似 LoadRunner 的 Transaction per Second 数
Received KB/sec : 数据传输(接收)
Sent KB/sec : 每秒从服务器端接收到的数据量。数据传输量(发送)