性能_2 Jmeter脚本增强
一、写脚本注意事项(回顾):
协议: http,https必须写
域名或ip: 不能有/
请求方法: 看清楚接口文档
路径: 不要把 域名和ip再次
路径中,前后空格要看清楚 %20 空格的urlencoded编码
内容编码: utf8
请求体编码控制:
内容编码
消息头
参数,勾选编码 urlencoded
响应乱码:
乱码原因: GUI的编码
修改配置文件
请求体:
参数: form-data application/x-www-form-urlencoded
消息体数据: json xml,要特别注意:一定要添加请求头,Content-Type:application/json

二、脚本知识点延展:
没有接口文档?
可以通过抓包: F12 、fiddler、wireshark、Charles
第三接口:api接口
swagger: 获取接口信息
2. 录制脚本:
badboy: 曾经很流行,现在已经不维护,已经被遗弃
代理录制: 用于脚本参数比较多,或者用手动编写脚本,一时半会写不出来。代理服务器: 自己启动一个代理服务器,本地,要使用代理服务器的ip和端口,使用自己启动的代理服务器
代理录制脚本:
添加线程组
测试计划 > 非测试元件 > http代理服务器
ip就是你自己电脑的ip,port是可以修改,默认8888
目标控制器,一定要修改 修改为 测试计划>线程组
添加过滤器
3. 启动代理服务器时,会出现一个证书的弹窗,如果要抓取https信息时,就必须使用证书
4. 本地浏览器使用 代理服务器上网
三、脚本功能增强
关联: 前面接口的响应信息,有动态值,作为后续接口的参数
变量: 用户定义变量,用户参数
用户定义变量: 配置元件、测试计划,全局变量**
作用域:作用于整个‘测试计划’
在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变。
用户参数:前置处理器,局部变量
作用域: 作用于当前线程组或当前的取样器
在启动运行时,获取一次值,在运行过程中,还会动态获取值。
如:定义用户变量
var_user: 1888888888
引用变量: ${var_user}
jmeter的函数: 方法
1888888${__Random(1000,9999,)}: 字符串的连接
使用用户定义变量,设置5循环 register + login: 1次register-success 5次login-success
使用用户参数,设置5循环 register + login: 5次register-success 0次login-success
迭代: 一个线程组下所有的接口,全部执行完1次,才算1个迭代,可以勾选每一次迭代循环一次就会出现5,5
函数:方法,双下划线开头,函数名称,严格区分大小写,tools>函数助手
重要的函数
${__counter(,)} 计数器
${__dateTimeConvert(,,,)} 时间格式转换
${__digest(,,,,)} 加密 简单加密
${__intSum(,,)} 整数相加函数
${__P(,)} 获取属性函数
${__property(,,)} 获取属性函数
${__setProperty(,,)} 设置属性函数
${__Random(,,)} 设置随机数
${__RandomString(,,)} 设置随机字符串
${__threadNum} 获取线程号函数
${__time(,)} 获取当前时间戳函数
${__timeShift(,,,,)} 数据格式化
${__V(,)} 拼接函数
性能_2 Jmeter脚本增强的更多相关文章
- JMeter脚本增强之参数化
JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化.关联.文本检查.集合点设置,甚至再往后的 ...
- JMeter脚本增强之集合点
集合点的概念:用于实现所谓并发操作,如果集合点设定是10个人,那么所有的用户就会在同一条起跑线上等着后面的人,等10个人到齐了就哗地一下全部跑出去执行同一个动作.如果设置了超时,那么过了超时时间,有可 ...
- Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...
- LR性能测试脚本增强与调试
脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...
- 性能测试培训:Ajax接口级性能测试之jmeter版
性能测试培训:Ajax接口级性能测试之jmeter版 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具 ...
- 性能测试培训:批量执行Jmeter脚本之ant调用
性能测试培训:批量执行Jmeter脚本之ant调用 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的load ...
- 【转】JMeter脚本的参数化
JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...
- 性能测试之JMeter远程模式
性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...
- fiddler4自动生成jmeter脚本
接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...
- 录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)
近日翻看了下招聘信息,很多都要求loadrunner和jmeter这两款工具,毕竟是性能测试的主流客户端并发工具. 录制的问题 做性能脚本是性能测试的基本功,loadrunner和jmeter这两款工 ...
随机推荐
- NX二次开发 批量导出X_T(包括部件里的装配体)
VS2019 NX1946 UF_initialize(); string filepath = strDir + "\\";//拼接路径 //获取图层过滤 PropertyLis ...
- Unity递归查找子物体
- 表单笔记-Antd(Form)
antd表单使用笔记 import React, { useState, useEffect, useRef } from "react"; import { Form, Inpu ...
- 爬快手,graphql查询语言
graphql查询语言:https://blog.csdn.net/qq_41882147/article/details/82966783 即:前端调用同一个接口传入不同的操作,得到不同的返回值 一 ...
- 不同时间格式转换问题_python2
def unix_to_cst(data): """2019-03-17 11:00:00 --> Sun, 17 Mar 2019 11:00:00 GMT+08 ...
- 关于再次报错500--Servlet报出异常
我是根据这样的方法解决的: 本来在前几篇里面,我是将get或者post的没有用到的方法里面自带的super方法直接删除了的,然后今天运行发现,功能实现不了,还报出500的异常错误: 心态直接裂开,然后 ...
- Vue前端框架的基础学习,为之后打个基础
Vue 首先,在使用vue之前,我们需要先下载好一个vue.js文件,才能继续进行vue的学习,下载教程如下: 1.进入官网:https://v2.vuejs.org/ 2.选择页面中的Learn,再 ...
- 某大厂面试题:说一说Java、Spring、Dubbo三者SPI机制的原理和区别
大家好,我是三友~~ 今天来跟大家聊一聊Java.Spring.Dubbo三者SPI机制的原理和区别. 其实我之前写过一篇类似的文章,但是这篇文章主要是剖析dubbo的SPI机制的源码,中间只是简单地 ...
- 【开源免费】使用Spring Boot和Html实现ChatGPT,1:亿还原,将就看
highlight: a11y-dark 简介 前段时间写了一个Chatgpt的Java版SDK开源地址:chatgpt-java欢迎使用.但由于原来OpenAI 并没有支持官网的chatgpt模型, ...
- 如何基于 React Native 快速实现一个视频通话应用
今天,我们将会一起开发一个包含 RTE (实时互动)场景的 Flutter 应用. 项目介绍 靠自研开发包含实时互动功能的应用非常繁琐,你要解决维护服务器.负载均衡等难题,同时还要保证稳定的低延迟. ...