性能_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这两款工 ...
随机推荐
- SpringCloud之旅
现在大部分公司的项目架构都选择了微服务,我们公司也不例外,那么什么是微服务呢?今天就来开启SpringCloud之旅! SpringCloud是基于SpringBoot的一整套的微服务架构.他提供了微 ...
- vue input有值但还是验证不通过
验证失败原因: 因为input自动把输入的值转换为string类型,导致验证失败. 解决方案: 一. Input中的v-model改为v-model.number: 二.rules里面需要加type: ...
- 我是如何被我的c++大作业榨干的
手把手教你用git上传项目到GitHub(图文并茂,这一篇就够了),相信你一定能成功!! - 知乎 (zhihu.com) C++ 类对象数组_Slience_Perseverance的博客-CSDN ...
- 【Airtest相关】收集一些Airtest的介绍
1.项目简介 ui自动化一直是个让人头疼的事,主要是因为系统兼容性难度较大和开发维护成本比较高, 以前使用过appium,通用性比较差,并且开发有一定的基础才行,更难以忍受的是后期的维护成本:然后接触 ...
- 学习记录--C++作业3
1.类是一个模板吗? 是:类模板是一个抽象的类,代表类的一般特性,可以用类模板来创建类,所有的类都有共有的特性. 4.函数模板的实例化是什么? 模板函数,即函数 3.关于cin和cout说法正确的: ...
- rsync+inotify组合实现实时同步
首先准备两台服务器(centos7) A:192.168.75.160 B:192.168.75.161 A机器当做客户端,B机器当做服务端 rsync 安装 客户端服务器端都要安装rsync ,但是 ...
- Java - JDBC批量插入原理
一.说明 在JDBC中,executeBatch这个方法可以将多条dml语句批量执行,效率比单条执行executeUpdate高很多,这是什么原理呢?在mysql和oracle中又是如何实现批量执行的 ...
- 快速掌握Linux三剑客命令使用
前言 Linux三剑客指的是grep.sed以及awk命令的使用,这三个命令功能异常强大,大到没朋友.grep命令主打"查找",sed命令主打"编辑",awk命 ...
- K8S部署应用详解
# 前言 首先以SpringBoot应用为例介绍一下k8s的发布步骤. 1.从代码仓库下载代码,比如GitLab:2.接着是进行打包,比如使用Maven:3.编写Dockerfile文件,把步骤2产生 ...
- [WinUI 3] 如何利用D3D11在SwapChainPanel控件上绘制OpenGL(Uwp通用)
预览 技术实现 看过我上篇在 WPF 中实现 OpenGL 与 D3D 渲染的同学应该知道,我是依靠 WGL 中 WGL_NV_DX_interop 扩展与 D3D Surface 关联并在使用该 S ...