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

  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. awk sub string

    cat TFY1C.txt|awk '{print $0"\t"substr($4,1,4)}'> TFY1CRID.tx 1--从那位开始 4--多长

  2. Chrome(谷歌)浏览器永久关闭恢复页面提示框(记录)

    使用脚本调用Chrome浏览器启动指定页面,然后代码里的命令关闭,会被浏览器识别为非正常关闭. 再次执行脚本的时候会停留在空白页面,无法进入指定页面,设置为主页也无法进入. 排查可能是浏览器自动恢复页 ...

  3. kg打怪升级

    1.kaggle notebook容易断[continue部署] 2.换预训练模型[提交试试] 3.换fold次数

  4. curl解决乱码

    mb_convert_encoding($str, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');

  5. word多级标题自动编号设置

    1.选择段落 ->多级列表 ->定义新的多级列表 2.级别设置 ,这里操作比较繁琐,要多注意[输入编号的格式]要通过[包含的级别编号来自]这一项目来设定 标题1: 标题2 标题3: 标题4 ...

  6. ffmpeg gcc is unable to create an executable file C compiler test failed

    ffmpeg 编译出现 #sudo ./configure --enable-shared --prefix=/usr/local/ffmpeg gcc is unable to create an ...

  7. Pandas嵌套词典解析或取值

    # tribe列只保留name 值 df['tribe']=df['tribe'].apply(lambda x:eval(x)['name']) # tribe 列全部项目展开 df=df['con ...

  8. LaTeX in 24 Hours - 2. Fonts Selection

    文章目录 本章内容:字体 2.1 Text-Mode Fonts 2.2 Math-Mode Fonts 2.3 Emphasized Fonts 2.4 Colored Fonts 其他章节目录: ...

  9. Python库之os库和logging库的基本使用说明

    使用os库操作目录及文件 使用os.sep() 方法获取系统分隔符 print(os.sep) 使用os.name()方法获取操作系统的平台类型 print(os.name) 使用os.getcwd( ...

  10. 对于Java课上问题的探究和解答

    问题一:子类和父类的继承关系(extends) 需要强调的是,子类自动声明继承父类中的public和protected的成员 其中,public成员,外界可以自由访问: private成员,外界无法进 ...