目录
1、Http请求
-
模拟发送http协议的请求
-
协议
-
服务器名称(域名)/ip
-
端口号
-
请求方法
-
请求资源路径/接口
-
编码格式
-
请求参数
-
最简单的一个http的get请求
-
-
Json Path Tester
-
可以验证json格式的值
-
-
-
一个简单的post请求
-
-
通过http请求默认值进行改造
-
带了配置元件--->http请求默认值后,下面的接口就不用带服务器的域名或者ip了
-
-
-
执行效果一样
-
-
比如请求有问题,如何通过抓包来分析哪里有问题?
-
1)我们手动在请求地址后面加一个空格【肉眼看不出来】
-
2)http请求的高级里面配置抓包代理
-
3)发送请求,去抓包软件抓到请求,分析
-
-
-
-
空格经过编码后,就是%20,就找到了原因,url里面多了个空格
-
-
get/post/delete传参总结
-
get
-
传参两种方式
-
1)参数传参,直接一个一个添加就可以了
-
2)url里面通过?和&连接键值对参数即可
-
-
post
-
传参方式
-
1)也可以进行参数传参,这种方式默认的Content-Type为application/x-www-form-urlencoded,不用改
-
2)请求体传参
-
请求体传参,默认的Content-Type为text/plain
-
所以如果要传参为"username=admin&password=1" 这样的格式,Content-Type要手动改为application/x-www-form-urlencoded【JMeter里面默认都是这样的】
-
所以这种要加请求头元件咯
-
-
3)application/json
-
-
-
put
-
需要注意传参的方式:
-
1)如果传参是body,那么就是application/json方式,在消息体数据里面传参
-
-
2)如果传参方式是query,那么只能通过url里面进行拼接,即"/xxx?参数名=参数值"这样的方式来传参
-
-
-
-
-
-
delete
-
传参方式:
-
1)如果是body,就正常来,如果是json设置application/json,并在请求体中传参
-
2)如果是query,那么要注意,尽量 在url中去拼接请求参数
-
-
因为如果在下面的参数里面去添加,那么它会在url里面去拼接成功,但是,在请求体中也会出现这个参数键值对
-
-
-
-
两种传参:
-
两种重定向方式:
-
跟随重定向:
-
能够显示中间重定向的过程
-
你就可以从中间的请求过程的结果中去提取信息,用于后续的请求
-
所以,一般就用跟随重定向即可,同时这个也是默认值。
-
-
自动重定向:
-
不会显示中间过程
-
只会告诉你结果
-
所以你没有办法从中间过程去提取信息
-
-
-
使用KeepAlive:
-
http1.1版本默认是长连接的
-
http1.0版本的是短连接的
-
有时候在性能测试过程中,需要去掉这个 KeepAlive的 勾选!
-
大量的请求,如果这个KeepAlive长连接不释放(其实是端口),传输通道可能会被堵!
-
发一个连接,其实本地也会消耗一个端口
-
-
2、Junit取样器
-
JMeter提供了对Junit的支持,可以在JMeter中进行Junit单元测试
-
3、调试取样器【Debug Sampler】
-
可以用来查看做调试用
-
查看设置的各种用户变量、参数、提取的值是否正确等。
-
还可以查看系统的属性
-
还可以查看JMeter的属性
-
-
4、webservice形式的请求
-
Soap接口
-
webservice是一个web的应用程序,使用xml向外界暴露可供调用的API接口
-
webservice的接口标准
-
SOAP(Simple Object Access Protocol) = http + xml
-
版本1.1 1.2
-
UDDI(Universal Description, Discovery and Integeration)
-
WSDL(Web Service Description Language), 描述语言,基于xml
-
-
soap是基于xml的简易协议,可使应用程序在http之上进行信息交换
-
xml本身是一种用于传输和存储数据的一种文本文件
-
soap可以理解为:http + xml
-
-
其实请求差不多,注意信息头和传入的参数个数就OK了
-
-
webservice方式的接口可以参考这里去找:
-
webservice方式的调试
-
5、其他说明
-
取样器是JMeter中最核心的元件
-
你要用JMeter来做什么,必须要配置对应的取样器,否则,啥都不能干
-
千万不要一顿操作猛如虎,一看战绩0杠5