一、写脚本注意事项(回顾):

  1. 协议: http,https必须写

  2. 域名或ip: 不能有/

  3. 请求方法: 看清楚接口文档

  4. 路径: 不要把 域名和ip再次

    路径中,前后空格要看清楚 %20 空格的urlencoded编码

  5. 内容编码: utf8

  6. 请求体编码控制:

    1. 内容编码

    2. 消息头

    3. 参数,勾选编码 urlencoded

  7. 响应乱码:

    1. 乱码原因: GUI的编码

    2. 修改配置文件

  8. 请求体:

    参数: form-data application/x-www-form-urlencoded

  9. 消息体数据: json xml,要特别注意:一定要添加请求头,Content-Type:application/json

二、脚本知识点延展:

  1. 没有接口文档?

    1. 可以通过抓包: F12 、fiddler、wireshark、Charles

    2. 第三接口:api接口

    3. swagger: 获取接口信息

  2. 录制脚本:

    badboy: 曾经很流行,现在已经不维护,已经被遗弃

    代理录制: 用于脚本参数比较多,或者用手动编写脚本,一时半会写不出来。代理服务器: 自己启动一个代理服务器,本地,要使用代理服务器的ip和端口,使用自己启动的代理服务器

    代理录制脚本:

      1. 添加线程组

      2. 测试计划 > 非测试元件 > http代理服务器

      3. ip就是你自己电脑的ip,port是可以修改,默认8888

    目标控制器,一定要修改 修改为 测试计划>线程组

    添加过滤器

  3. 启动代理服务器时,会出现一个证书的弹窗,如果要抓取https信息时,就必须使用证书

  4. 本地浏览器使用 代理服务器上网

三、脚本功能增强

  1. 关联: 前面接口的响应信息,有动态值,作为后续接口的参数

  2. 变量: 用户定义变量,用户参数

  3. 用户定义变量: 配置元件、测试计划,全局变量**

    作用域:作用于整个‘测试计划’

    在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行过程中,值一直都不变。

  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

  5. 迭代: 一个线程组下所有的接口,全部执行完1次,才算1个迭代,可以勾选每一次迭代循环一次就会出现5,5

  6. 函数:方法,双下划线开头,函数名称,严格区分大小写,tools>函数助手

  7. 重要的函数

    ${__counter(,)} 计数器

    ${__dateTimeConvert(,,,)} 时间格式转换

    ${__digest(,,,,)} 加密 简单加密

    ${__intSum(,,)} 整数相加函数

    ${__P(,)} 获取属性函数

    ${__property(,,)} 获取属性函数

    ${__setProperty(,,)} 设置属性函数

    ${__Random(,,)} 设置随机数

    ${__RandomString(,,)} 设置随机字符串

    ${__threadNum} 获取线程号函数

    ${__time(,)} 获取当前时间戳函数

    ${__timeShift(,,,,)} 数据格式化

    ${__V(,)} 拼接函数

性能_2 Jmeter脚本增强的更多相关文章

  1. JMeter脚本增强之参数化

    JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化.关联.文本检查.集合点设置,甚至再往后的 ...

  2. JMeter脚本增强之集合点

    集合点的概念:用于实现所谓并发操作,如果集合点设定是10个人,那么所有的用户就会在同一条起跑线上等着后面的人,等10个人到齐了就哗地一下全部跑出去执行同一个动作.如果设置了超时,那么过了超时时间,有可 ...

  3. Beanshell vs JSR223 vs Java JMeter脚本:性能关闭你一直在等待!

    有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能.查看最流行的扩展机制,比较性能并分析哪一个是最好的. 这是乐队之战,JMeter风格. Beanshell V. JSR223 V ...

  4. LR性能测试脚本增强与调试

    脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...

  5. 性能测试培训:Ajax接口级性能测试之jmeter版

    性能测试培训:Ajax接口级性能测试之jmeter版   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest认为工具 ...

  6. 性能测试培训:批量执行Jmeter脚本之ant调用

    性能测试培训:批量执行Jmeter脚本之ant调用   poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在poptest的load ...

  7. 【转】JMeter脚本的参数化

    JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...

  8. 性能测试之JMeter远程模式

    性能测试之JMeter远程模式 事实上,你的JMeter客户端机器是不能表现出完美的压力请求,来模拟足够多的用户或由于网络限制去向服务施加压力,一种解决方法是通过一个JMeter去控制多个/远程JMe ...

  9. fiddler4自动生成jmeter脚本

    接口.性能测试任务当遇到从浏览器或移动app自己抓包的情况出现时就变得巨苦逼了,苦在哪里?苦在需要通过抓包工具抓报文,需要通过抓包报文梳理业务逻辑.需要将梳理的逻辑编写成脚本.最最苦的情况是,自己抓包 ...

  10. 录毛线脚本,直接手写接口最简洁的LoadRunner性能测试脚本(含jmeter脚本)

    近日翻看了下招聘信息,很多都要求loadrunner和jmeter这两款工具,毕竟是性能测试的主流客户端并发工具. 录制的问题 做性能脚本是性能测试的基本功,loadrunner和jmeter这两款工 ...

随机推荐

  1. LP两阶段法(一阶段)

    \begin{equation}\begin{aligned}\min \quad & z=\mathbf{c}^{T} \mathbf{x} \\\text { s.t. } & \ ...

  2. zookeeper异常

    1. KeeperErrorCode = Unimplemented for /service 在使用curator时,对zk有版本匹配关系. Curator 2.**    <--->  ...

  3. 单机Linux下搭建MongoDB副本集-三节点

    前言说明 Linux下安装MongoDB副本集我基本上是一次搭建,几百年不再碰,也记不住具体的命令,偶尔需要搭建都是直接网上找的教程. 有些教程很精简,有些又版本不一样,所以索性我整合下别人的教程,把 ...

  4. Android日常--今日的APP进度+1

    学了这么久的APP,是时候拿出来实践一下啦! 今天洗的内容都比较基础,基本上不涉及到后台代码的编写,看到本阶段的目标需要连接数据库,也是有被震住哈哈哈哈哈: 我发现,第一阶段主要分为两个界面,第一个注 ...

  5. Firefox、Edge下无法使用jQuery的css("margin")、css("padding”)和css("border")获取值

    今天遇到了浏览器的迷惑行为,在Edge上使用jQuery的css("margin")获取值,发现获取的是空值,换了Firefox也是如此.看了jquery官方原话,发现如下一段话R ...

  6. salesforce零基础学习(一百一十六)workflow -> flow浅谈

    本篇参考: https://help.salesforce.com/s/articleView?id=sf.migrate_to_flow_tool_considerations_workflow.h ...

  7. 修改Win+E映射

    !!!!!!此过程需要修改注册表,请谨慎操作 作用 修改后可以实现Win+E快捷打开任意程序 从原始资源管理器到其它应用 注册表路径: HKEY_CLASSES_ROOT\Folder\shell\o ...

  8. 钛度守望者旗舰版TSG550鼠标(原相3335芯片)拆解

    鼠标整体外观 鼠标按键支柱,采用的十字形的按键柱,没有采用现在市面上多数鼠标的平面贴片形的按键柱设计,但是耐用性比一字型的按键柱会好很多. 可换微动设计,原装的是凯华GM8.0黑曼巴8000万次微动, ...

  9. Teamcenter_SOA开发:使用SOA登录Teamcenter

    本文Teamcenter SOA使用C++参考SOA的例子进行编写,以下代码为登录Teamcenter,代码工程在Teamcenter四层环境下运行. SOA的库文件.样例文件.帮助文件在Teamce ...

  10. 最强绘图AI:一文搞定Midjourney(附送咒语)

    最强绘图AI:一文搞定Midjourney(附送咒语) Midjourney官网:https://www.midjourney.com 简介 Midjourney是目前效果最棒的AI绘图工具.访问Mi ...