介绍录制功能开始前,大家有没有想过为什么要录制?原因无非是以下几种:
1.不会写代码
2.场景过于庞大
3.节约时间
其实大家能想到的,Apache都帮大家想到了。对于Jmeter而言,提供给大家非常多的可视化图形组件,帮助大家轻而易举地编辑脚本,并且最关键的是能够简单地把操作录制下来,同时录制功能非常的智能。这个我们在后面会慢慢介绍。
开始介绍录制之前聊一下我的体会,因为大家百度会发现不少关于jmeter录制功能的文章。而这些文章大部分还停留在原始社会即使用badboy进行录制。badboy是澳洲人开发的一款自动化录制工具,其之所以能被很多人知晓是就是因为可以保存成jmx脚本,但是该软件是只对比较旧的jmeter版本支持。
再加上jmeter自身出了录制功能,badboy的功能研发就停止维护了,而且他提供的录制功能是基于内置浏览器(IE内核),所以经常会出现JS报错导致请求无法正常发送等疑难杂症。所以建议大家不要再看网上的badboy录制jmeter脚本的文章来录制jmx脚本了。
其次jmeter的更新虽然不是很频繁,但是见过不少人还在使用2.6左右的jmeter版本录制,包括不少测试前辈的博客也都是基于之前版本讲解录制功能的,所以我建议大家也不要那么落伍了,直接去官网上下载个最新版,后面我所有的文章也都是基于2.13版本,所以大家可以去官网上下载个最新版本,会省去大家不少学习的成本。
1.打开jmeter,windows的同学直接打开jmeter.bat,mac同学直接运行jmeter.sh,就像官网上介绍的jmeter是100%java编写的程序,因此只要有jre的地方就可以运行它
2.打开模板菜单,这个功能可谓是2.9以上版本的最大的福利之一了,通过模板template功能可以一步就把录制的脚本生成完,这个功能的icon本身长的也像一个礼物
3.简单讲解下jmeter的录制功能,其实任何工具的录制就是抓取请求然后记录成软件自身可以识别的脚本。而jmeter的话主要是作为一个本地代理服务器,类似于fiddle的功能,然后通过修改Internet连接代理到本地的代理服务器,这样请求都会经过代理服务器后再发送到Internet。
脚本我们可以分成2个部分,一部分是workbench(录制功能),其余的就是testplan(测试用例)
workbench录制主要是一个HTTP代理服务器的东东(简称Recorder),而Recorder下面的查看结果数,其实是非常重要的,所以大家一定不要删掉它。用过LR的同学都知道有个很重要的操作步骤叫做关联(手动、自动),主要是通过recording log,而在jmeter中你要想关联就需要依赖Recorder下面的查看结果树。
TestPlan则就是脚本区域,凡是录制的脚本都会存放在Recording Controller下面。而模板中的User Defined Variables和HTTP Cookie Manager,我个人认为都是非常有用的组件,所以希望大家都保留,而HTTP Request Defaults的作用一般是用来替代一些请求中的domain之类的,方便RequestSampler编写,而录制下来大家会发现这个组件没啥用,因为一般访问一个页面,通常会有很多不同domain下的请求产生。