2021.12.14 星期二 上午09:56 学习随记02

jmeter的简单用法

jmeter用来做什么的

1、接口测试

查看接口的返回结果,是否和接口文档一致

2、性能测试

模拟多个用户进行并发,看接口的处理能力

 

格式:协议://主机地址/路径

http超文本传输协议

https安全超文本传输协议

 

提交格式application json 与form表单

 

GET一般用于信息获取,

Post用与信息提交,更安全

GET提交的数据显示在地址栏,不安全:提交的数据量有限制:不重要的数据使用GET

POST 隐式提交数据,更安全,没有数据大小的限制:重要的数据使用POST

 

请求参数,比如说去登录一个窗口输入账号密码,就是参数

输入的参数条件

一般以字典的形式如{“id”:”1234”,”key”:”123456”}

jmeter的进阶用法

jmeter接口测试和fiddler抓包接口测试的区别

jmeter脱离app端,可以直接测

fiddler开发完之后,去测试,而且还可以看有没有异常操作,还可以去重复发送请求和篡改请求,去看重复发送请求会不会出问题

jmeter怎么去测接口

添加线程组,添加http请求,查看结果树

http请求里输入参数(具体已经实操)注意看请求

注意,结果树里面请求成功了,证明只是接通了,具体还要看响应的数据

正常情况(参数正确,账号密码正确),异常情况(参数错误,账号密码错误),特殊情况(少数据了)

Jmeter接口自动化

一般用于回归测试

单一接口的自动化

主要添加请求的响应值输入对应的响应值是不是一样的

参数化

有时候接口的请求参数值不会固定,可以通过参数化的方式,设置成一个变量

1、用户定义变量

添加→配置元件→用户定义的变量

在用户定义变量里添加数据,再在http请求里用${设置的文件名}引用

2、csv数据文件设置

添加→配置元件→csv

数据要变量进行替换

线程组里的循环次数要勾选永远

保存txt文件里,直接在里面修改

3、用户参数

添加→前置处理器→用户参数

添加用户,添加变量,多少个数就多少个线程数

4、在计数器理设置参数

添加→配置元件→计数器

填好参数之后设置引用名

在http请求里用${设置好的引用名}

5、在函数助手设置参数

直接打开函数助手

参数传递

添加→后置处理器→正向表达式提取器

响应数据的结果要做下一个结果的参数

1、先用正则表达式(.*?)提取请求的响应数据,然后设置引用名

2、然后设置对应的参数在http请求用${设置好的引用名}进行引用

 

 

性能测试

在测试环境下做过压力测试,性能测试,只在性能测试中有效,做过这个东西,明白这个原理。

不确定因素:网络带宽

性能测试步骤

1.先添加线程组,再添加http请求,最后添加聚合报告

重要的数据:响应时间,错误率,吞吐量

错误率:有没有太高,没有报错就是百分之百

吞吐量:每秒完成的请求数,每秒响应了多少个请求

响应时间:对请求做出响应所需要的时间

加50个线程组先压三分钟,看吞吐量,响应时间,错误率等等一直加线程组,直到吞吐量达到一个瓶颈,就是他的测试环境单接口的性能指标,

Fiddler

篡改请求

先打断点,然后重新发送请求,然后就可以任意修改数据了

什么是mock数据:Mock数据就是用一些其他的返回值替代掉原版的返回

断点点一次就是拦截发送的请求

断点点两次就是拦截回来的请求

第一个是看参数,第二个是看返回请求

Fidder定位问题是前端还是后端

1.通过抓包看接口是否正常,如没有调用接口或者调用的参数错误则是前端问题

2.如果接口不通,如404,502,或者接口通但是返回内容错误,比如排行榜本应该返回排行榜数据,却返回了null,则是后端问题。

3.如果接口返回信息都正确,且网络无问题,则是前端问题

 

 

  • #:这是Fiddler生成的ID(最好是按顺序排列)。

  • Result:响应的状态码。

  • Protocol:使用的协议HTTP或者HTTPS。

  • Host:服务器的主机名和端口号。

  • URL:URL的路径。

  • Body:HTTP响应中包含的字节数。

  • Caching:跟缓存相关的字段的值。

  • Content-Type:响应中Content-Type的值。

  • Process:对应本地Windows的进程。

  • Comments: 备注信息

get和post请求的区别?

1、get请求是明文传输,请求参数会跟在url后面,以问号分割url和传输数据,参数之间用&相连,post请求是把提交的数据放到请求体的body中,用户不能直接看到,相对而言安全点

2、get对传输的数据长度有限制,post没限制

3、get请求可以被浏览器自动缓存,post不能缓存

4、get请求在浏览器上前进/后退是无害的,post请求一旦回退则需要重新提交表单

5、get请求会在发送过程中产生一个tcp数据包,post在提交过程中会产生两个tcp数据包(据说有的浏览器只产生一个包)--这点在面试的时候慎用,不熟悉的东西最好不要说,免得被盯着这个深问

6、get请求可以添加到浏览器书签,post请求不能

7、对参数的数据类型,GET只接受ASCII码,而POST没有限制

上一篇:56


下一篇:python测试开发django-rest-framework-84.序列化(ModelSerializer)之日期时间格式带T问题