性能测试【jmeter2】—使用jmeter录制脚本和解决乱码证
录制脚本的时候记得随时保存
1、新建一个压测脚本:添加一个线程组(Thread Group)-》在线程组里面添加一个录制控制器(Recoding controller)
2. 添加一个HTTP测试脚本录制器(HTTP Test Script Recoder),并且对脚本录制器进行配置
在这里我把要录制的端口号设置为8080,并且选择目标控制器为刚才新建的录制控制器。
3、在录制的时候避免录制过多没有必要的请求,可以在Requests Filtering里面添加“include”和“exclude”进行正则匹配。
需要包含的内容——include:.*\.(baidu\.com).*(只抓取需要的url的内容)
不需要包含的内容——exclude:.*\.(js|css|PBG|jpg|ico|png|gif).*(去掉图片等静态资源,静态资源单独存放,不占用服务器运算资源,压测不考虑)
4、配置浏览器的代理服务器地址指向:http://localhost:8080/
设置方法:在浏览器里面打开设置-》搜索代理-》进入到设置页面-》打开手动设置代理,地址localhost,端口号是8080
还有另外一种方法可以使用浏览器插件 FoxyProxy
5、启动之后,会弹出一个事务管理的框
其中HTTP Sampler settings的两个选项:(1)Prefix是指在请求显示的名称前加前缀,更好的标识请求的功能(2)Transaction name是会新增一个transaction controller,把设置之后录制到的脚本都放在controller中,可达到分组的效果。
遇到问题:录制到的参数中文出现乱码的现象,原因是jmeter的证书导入的时候没有放置到正确的位置。
在点击录制运行的时候会自动生成一个证书,需要把这个证书添加到jmeter-》options-》SSL下面。
除此之外,还需要配置浏览器中信任jmeter的整数。注意选择“证书颁发机构”
解决方法参考:https://blog.csdn.net/dream_na/article/details/104938635
导入证书的时候要求输入的密码是电脑上开机密码
6、遇到问题2:这两个有什么区别
Request Filtering:录制脚本过滤器
Content Type filter:内容类型过滤,
include:
exclude:
URL Patterns to Include:符合正则表达式,只录制包含匹配的url一个或多个请求;
URL Patterns to Exclude:符合正则表达式,排除匹配的url一个或多个都不被录制;
Notify Child Listeners of filtered samplers:通知过滤取样器的子监听;
tips:代理录制服务器,默认选择跟随重定向Follow Redirects,当请求返回302等重定向问题时,自动跳转到正确页面;
包涵/排除模式正则表达式:
包涵:如路径:http://localhost:8080/project/index.html
那么表达式:.*\.html(\?.*)或者.*
注意,正则表达式匹配的字符串必须与整个主机+路径字符串相同
排除:.*\.js.*|.*\.css.*|.*\.png.*|.*\.jpeg.*|.*\.jpg.*|.*\.gif.*
回放的时候需要保证:我们压测的代码是正确的&接口响应的数据是正确的
7、回放验证:验证我们的压测代码是正确的只需要一个并发,一次循环就可以了。
新建一个观察树,运行刚才录制的接口,就可以查看刚才接口在这次运行中的相应参数和内容