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

  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. hhtp协议和html标签分类css

    HTTP协议四大特性: 1基于请求响应 2 基于tcp/ip协议之上的应用层协议 3 无状态 不能保存用户信息 4 无链接,短链接 二 get和post的区别? 1 get 不安全,get请求没有请求 ...

  2. web自动化--窗口切换

    窗口切换 handles = driver.window_handles ------获取所有窗口句柄,返回的数据是一个列表类型 driver.switch_to.window(handles[-1] ...

  3. C/C++ 数据结构使用数组实现队列的基本操作

    //使用数组实现队列 #include <iostream> #include <Windows.h> using namespace std; #define MAXSIZE ...

  4. 生产环境实现Docker部署宝塔面板

    生产环境中,为了避免极小概率的数据丢失,我们将容器内的宝塔文件映射到宿主机的目录中(您之后安装的 Nginx.MySQL 等服务均会挂载到宿主机目录).该方法是 Docker 部署宝塔面板的最优方案, ...

  5. margin:auto实现盒子水平垂直居中

    margin:auto为什么不垂直居中 margin:auto是具有强烈计算意味的关键字,用来计算元素对应方向上应该获得的剩余空间大小. 行内元素margin:auto; 不能水平居中在一行的中央位置 ...

  6. 帝国CMS安全方案

    一.帝国CMS介绍 帝国CMS是一款主流的网站内容管理系统,因其系统结构科学合理,功能强大,操作简单,拥有海量用户.和其他CMS一样,安全漏洞也是其无法避免的问题.虽然官方不断发布补丁.升级版本,但安 ...

  7. github相关操作

    github里面有很多大神写的代码,但是有不少小伙伴对使用它比较的生疏,下面我就把它的简单和常规的操作说一下,希望对你查看github有一定的帮助. watch :会持续收到该项目的动态 fork : ...

  8. Cisco Packet Tracer(思科模拟器)安装,注册用户

    下载 下载地址见湖南科技大学老师:http://mooc1.xueyinonline.com/nodedetailcontroller/visitnodedetail?courseId=2226402 ...

  9. 一文快速回顾 Java 操作数据库的方式-JDBC

    前言 数据库的重要性不言而喻,不管是什么系统,什么应用软件,也不管它们是 Windows 上的应用程序,还是 Web 应用程序,存储(持久化)和查询(检索)数据都是核心的功能. 大家学习数据库时,比如 ...

  10. MySQL学习(十三)InnoDB

    参考博客: https://my.oschina.net/wangzemin/blog/5346534 InnoDB之BufferPool https://juejin.cn/post/7007421 ...