测试员的那点事百人计划

JMeter(二):配置元件

2018-02-12  本文已影响52人  倔强的潇洒小姐

上一篇中对JMeter做了初步的介绍,接下来认识下配置元件

1、添加HTTP请求默认值

路径:添加--配置元件--HTTP Requests Defaults
可以设定一些缺省值,假设有10个请求,访问域名和端口都是一样的,那HTTP请求中就不再需要单独配置了,比较方便(增加脚本的移植性)

HTTP请求默认值.png

2、HTTP信息头管理器

内容为空,有需要的时候进行添加,否则无需处理
一般的请求格式:
1、类似form表单
2、参数json格式,添加Content-Type:application/json,utf-8
3、参数是XML,添加text/xml

HTTP信息头管理器设置.png

注:HTTP请求下的【HTTP信息头管理器】,有些值是发送请求必须的头信息,比如Referer、X-Requested-With、Content-Type(目前发现这几个可能会影响请求是否成功)

3、添加HTTP Cookie管理器

储存在用户本地终端上的数据,主要用于默认cookie管理

通常情况下,当用户结束浏览器会话时,系统将终止所有的cookie,当web服务器创建了Cookie后,只要在其有效期内,当用户访问同一个Web服务器时,浏览器首先要检查本地的cookies,并将其原样发送给web服务器

HTTP Cookie管理器.png

作用:
1)发送请求,经常要校验cookies信息
2 )录制时使用的cookie管理器,只能在指定的域下面使用,如果服务器地址切换,发现发送请求时,就会出现no cookies

最典型的应用:
(1)判断注册用户是否已经登录网站,用户可能会收到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续
(2)购物车之类的处理,用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入cookies,以便在最后付款时提取信息

如图,禁用了cookie,登录成功,但访问其它页面时仍跳转到了登录页面

缺少cookie页面不能访问.png

如何设置:
1、自动管理cookies,jmeter配置文件中设置(bin目录)CookieManage.save.cookies=true,去掉前面的#,然后重启jmeter

2、手动添加cookies,可以利用Firefox中导出cookies之后,再导入Jmeter中轻松完成(浏览器需安装Firebug)

image.png

4、添加HTTP请求

路径:线程组右击—>添加—>Sampler—>HTTP请求

百度搜索python.png

如上图路径中?号后面的可以写在url中,也可以写在Parameters中

传参.png

PS:如果是POST请求,数据以Json的格式传的,那么可以把参数写在Body Data里面,格式:{"XXX":"XXX"},若不是Json格式的话就直接写xx=xx,多个参数中间用&

image.png

以通过公司OA系统加班管理来演示下:
通过Fiddler工具抓包分析得到这个页面有5个参数,图中用申请编号进行搜索,有2个参数值是空值,因此我以为是没什么用,请求脚本中就没有填写申请日期和状态的值,只维护了3个参数,运行后发现数据是0,但页面是有一条数据的,心想难不成没有值的2个参数也是必填的吗,加上去一试,果不其然,运行成功了

加班申请.png 加班申请运行失败脚本.png 加班申请运行成功脚本.png

5、HTTP授权管理器(用的较少)

可以理解为用户名和密码的验证过程,也是一种验证机制,比如说客户端或浏览器与服务端发生交互、发生请求时,需要提供凭证(URL、用户名、密码),提交后服务端通过后才会继续后续的请求或者交互

HTTP授权管理器.png

6、用户定义的变量

具体用法在变量参数化章节有提到

7、计数器:数字记录

计数器.png

PS:如果遍历一次后已经达到最大值了,但还达到线程的循环数,此时又会重头开始遍历

为了看起来更直观一点,把线程数改成15,重新运行,结果如下:

image.png
上一篇下一篇

猜你喜欢

热点阅读