性能_1 Jmeter脚本编写
一、万能法
- 先把项目启动 
- 打开项目接口文档,接口文档: 一般是开发 
- 特别注意事项:当你的接口请求参数为json格式时,一定要写请求头,请求头中一定要有 Content-Type: application/json(响应体的格式) - 如果没有这个信息,100%报错,不局限于jmeter 
- http请求包括哪些部分 - 请求行:请求方法,请求地址URI - 请求头:Content-Type、cookie、User-Agent - 空一行 - 请求体:参数: 表单 和消息体数据: json 、xml 
- json格式:{"key":"value","key1":1} 键值对 
- 开发人员接口中定义的返回码code,和http response_code不一样 - http response_code: - 2xx: 网络请求超过 200 - 3xx: 重定向相关 301 - 4xx: 请求URL地址有问题 400 404 - 5xx: 服务器内部异常 500、502 bad gatway - 而开发人员在接口中定义的code为响应代码,如0、1、2、3,会有码表来查询 
- 写脚本 
- 测试计划上右键, 添加 线程组 
- 线程组上右键,添加 取样器> http请求 (http协议簇) 
- 线程组上右键,添加 监听器 > 查看结果树 
一个最简单的jmeter脚本,包括,线程组、取样器、监听器
线程组: 性能测试中用于场景设计的,写脚本阶段不用改动。
取样器: 根据不同的协议,编写不同的脚本(填空)。
监听器: 调试脚本时使用,性能测试执行时,禁用。原因是不管哪种监听器,都是对结果数据进行不同维度的展示,这些展示,是需要消耗本地资源的。
HTTP信息头管理器:添加 Content-Type:application/json
8. tomcat的默认端口:8080
http协议的默认端口:80
https协议默认端口: 443
内容编码:utf-8
脚本需要保存之后再运行:jmeter的默认保存路径,jmeter的bin文件夹,可以更改名字
二、请注意:
- 当请求体为json, 一定要有请求头 Content-Type:application/json。 
- json格式有问题,请求会通过,返回值有错误。 
- 协议: 当协议为http时,可以不写,如果是https,那就必须写。 
- 服务器名称或IP:不能带有/,会报错。 
- post方法不可以丢到浏览器访问,get可以。 
- 路径:不要带域名或ip,和端口,路径开头用/ - 不要带有空格,带有空格请求URL会出现%20这类的urlencoded编码。 - URI是资源地址,URL是带有域名的domain。 
- 内容编码:utf-8 - 请求内容出现乱码处理方法: 
- 内容编码: utf-8 
- 请求头加上,;charset=utf-8 
- 请求体为参数类型:勾选参数“编码” 编码:urlencoded编码,在参数值为非字符(汉字、特殊符号) 我都需要勾选编码,给大家的建议:参数值,不管什么类型,都建议勾选编码,密码加密时base64也要勾选。 - 响应内容出现乱码处理方法:需求修改jmeter.properties中sampler.result.encoding - 不是简单的设置为utf8、 gbk、gb2312、big5,同一个接口,用postmen请求,响应是正常,用jmeter请求响应中文乱码?原因是: jmeter的编码是根据操作系统编码。在国内,中文windows系统的字符集编码是gbk 936, mac系统中文编码utf-8。 
- 所有非必填的都要传进参数,以确保资源消耗最大,更能反应性能(最大值)。 
- 参数、消息体数量的选择 - 当我们的请求接口文档中说,请求体为json格式,那么我们就选择用消息体数据,来写json, soap=http+xml - 参数: 我们的请求体为form-data,Content-Type: application/x-www-form-urlencoded 或者不指明请求体类型,get 
- 自动重定向:不会显示中间重定向过程,无法从过程中,提取信息 - 跟随重定向:会自动显示重定向过程,能从过程中,提取想要信息,用于后面接口请求 - 使用keepAlive:保持连接, 长连接,因为现在用http协议版本为1.1就是长连接,所以默认勾选keepAlive,但是在性能测试中,我们会根据需要,去掉这个勾。 - 愿意:因为性能访问量太大还一直保持连接,会影响数据。 
性能_1 Jmeter脚本编写的更多相关文章
- Jmeter Web 性能测试入门 (四):一个小实例带你学会 Jmeter 脚本编写
		测试场景: 模拟并发100个user,在TesterHome 站内搜索VV00CC 添加线程组 添加HTTP信息头管理器 添加HTTP Sampler 填写HTTP Sampler中的信息 添加监听器 ... 
- jmeter脚本编写
		jmeter脚本编写 一.http协议接口编写注意事项 1.请求体为json格式:一定要写请求头Content-Type:application/json 2.json格式文本 2.1 key-val ... 
- 提升jmeter脚本编写效率的方法:Fiddler导出jmx文件
		有效提升编写JMeter脚本效率的方法 jmeter的脚本来源有以下几种:badboy录制.jmeter自带的录制功能.手动编写脚本(使用fiddler/wireshark来抓包,然后构造协议写脚本) ... 
- jmeter脚本编写之五类常见请求编写
		1.普通post请求 2.普通json请求 3.带query參数的json请求 4.xml请求 5.上传请求 starting (Windows系统 点击 F12 调出开发人员工具,选择Network ... 
- 针对主机CPU idle性能情况需求脚本编写
		[环境介绍] 系统环境:Linux + osw + python 2.7.10 [背景描述] 需求:当系统服务器出现性能告警的时候,需要定位具体的时间点来进行有针对性的去查询产生的问题.OSW提供了很 ... 
- Jenkins+Jmeter持续集成笔记(二:ANT执行Jmeter脚本)
		Jmeter接口测试脚本运行后生成的是jtl(xml)格式的文件,这些文件不具备可读性,所以我们要把他转化为可以阅读的html格式报告. Ant是一个功能强大的打包编译工具.我们使用他的目的是将xml ... 
- Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!
		有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ... 
- Jmeter脚本录制方法(二)——手工编写脚本(jmeter与fiddler结合使用)
		jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ... 
- Jmeter脚本录制方法(二)手工编写脚本(jmeter与fiddler结合使用)
		jmeter脚本录制方法可以分三种,前几天写的一篇文章中,已介绍了前两种,今天来说下第三种,手工编写脚本,建议使用这一种方法,虽然写的过程有点繁琐,但调试脚本比前两者方式都要便捷. 首先来看下三种方式 ... 
- 如何编写测试团队通用的Jmeter脚本
		平时学习.工作过程中,编写的一些jmeter脚本,相信大多数都遇到过这个问题.那就是:如果换一台电脑运行,文件路径不一样,会导致运行失败. 前不久,自己就真真切切遇到过一回,A同学写了个脚本用于压测, ... 
随机推荐
- 自定义配置Springboot内嵌的tomcat
			两种方法都可以:例子:在tomcat里添加MIME类型,application/wasm 1. import org.springframework.boot.web.embedded.tomcat. ... 
- python学习记录(一)-基础
			交换变量值 a,b = 10,20 print(a,b) #10 20 a,b = b,a print(a,b) #20 10 大字符串 str = '''最近在看的动漫: 黑之契约者.咒术回战... ... 
- 实验4_开源控制器实践——OpenDaylight
			基础要求 需要提交两张图, 一是Mininet拓扑生成并连接控制器的结果 二是Mininet中ping测试截图,并体现个人信息 进阶要求 1.获取拓扑的交换机 2.获取流表状态数量 3.获取指定交换机 ... 
- DOC命令学习(一)
			DOC命令学习(一) 命令 切换目录命令(cd) cd /d E: 查看目录命令(dir) dir #查看# 回显命令(echo) @echo offset d = %date:~0,10%set ... 
- 【问题解决】Nacos服务端NVDB-CNVDB-2023674205漏洞
			缘起 最近(2023.03.13)客户现场要求自检有无使用Nacos,原因是Nacos存在认证绕过高危漏洞,其漏洞代码NVDB-CNVDB-2023674205,本文就简单说一下这个事儿,以及如何解决 ... 
- Java面试——写一个生产者与消费者
			更多内容,前往个人博客 一.通过synchronize 中的 wait 和 notify 实现 [1]我们可以将生产者和消费者需要的方法写在公共类中 1 package com.yintong.con ... 
- JVM 问题排查工具
			更多内容,前往 IT-BLOG Java 开发人员肯定都知道 JDK的 bin 目录中有 "java.exe"."javac.exe" 这两个命令行工具.下面主 ... 
- 如何提取 x64 程序那些易失的方法参数
			一:背景 1. 讲故事 最近经常遇到有朋友反馈,在 x64 环境下如何提取线程栈中的方法参数,熟悉 x64 调用协定的朋友应该知道,这种协定范围下,方法的前四个参数都是用寄存器传递的,比如rcx,rd ... 
- odoo 开发入门教程系列-一些用户界面
			一些用户界面 数据文件 (XML) 参考: 该主题关联文档可以查看Data Files. 上一章,我们通过CSV文件添加了数据.当需要添加数据格式简单时,用CSV格式还是很方便的,当数据格式更复杂时( ... 
- 为什么HashMap查找比List快很多?
			做两数之和这道题目时,引发了一个思考: 为什么两者运行时间相差如此之大???好残忍,我List比你HashMap到底差在哪**** 于是我一顿查资料.... 战犯哈希算法登场 哈希算法会根据你要存入的 ... 
