Jmeter脚本包含要素及书写习惯

发表于:2019-7-12 21:26

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:紫陌花间客    来源:博客园

#
Jmeter
分享:
  Jmeter有丰富的组件,逻辑控制器、配置原件、Sampler、定时器、前置处理器、后置处理器、断言、监听器;而编写脚本一定要养成个人习惯,让人看到Jmeter的脚本目录结构树能够一目了然;因此,首先需要了解的是协议、以及Jmeter的元件执行顺序来作为参考,养成自己的书写习惯。
  嗯。。关于协议部分,在协议分类随笔中进行记录,本篇就书写习惯以及一个完整的Jmeter脚本应该包含什么做以记录。
  Jmeter组件执行顺序:(摘自《全栈Jmeter》)
  1、配置原件(如果存在)
  2、前置处理器(如果存在)
  3、定时器(如果存在)
  4、取样器(如果存在)
  5、后置处理器(如果存在且取样器的结果不为空)
  6、断言(如果存在且取样器的结果不为空)
  7、监听器(如果存在且取样器的结果不为空)
  而一个完整的Jmeter(此处以HTTP协议为例)脚本应该包含哪些组件呢?
  众所周知,HTTP协议结构(request)中包含请求头、请求行、请求数据,那么在Jmeter中实现HTTP请求也必然需要进行模拟一个完整的请求才能得到响应。而在编写Jmeter脚本的时候便需要养成良好的习惯,结构树一目了然,不论是工作,还是需要其他人来解决问题,相信都能快速的定位。因此,需要将Jmeter的组件执行顺序以及协议结构相结合,组成一个完整的脚本。
  OK,一个简单的访问百度页面的例子就OK了,当然直接访问百度首页不需要任何参数,因此下方请求数据不需要填写;值得一提的是此处的协议和端口号,如果在协议处填写https,那么端口号是可以不填的,因为它会自己默认为443(https的默认端口号);当然,直接填写http,后边的端口号也会默认为80的。
  当然,此处例子中在“HTTP信息头管理器”中是什么都没有填写。可以在下方的监听器看得出来:
  至于在什么情况下会加入信息头信息,信息头中涉及到哪些信息,见下文;
  可以从上图看得出来,一个完整的Jmeter脚本至少要包含一个线程组、一个请求,监听器;线程组可进行设置循环、线程数;Sampler中配置请求地址、协议、参数等;监听器来进行监听请求以及响应内容;
  可以切换查看的响应方式,呐、这个就是百度的原始页面了;可以看到的是并没有HTML、CSS等页面渲染元素;
  So,这便是一个完整的HTTP请求的Jmeter脚本。
  可以看得出来,(除去线程组)是将配置原件放在了第一位,接着是请求,监听器;并没有像录制的脚本一样,将信息头一类的配置元件放入Sampler下一级,调试都不容易,试着找个问题都眼花缭乱。
  因此,自行编写时一定要养成良好的习惯,最起码是要有调试方便,层次分明的优点。

       上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号