性能_2 Jmeter脚本增强

2023-06-20,,

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

    协议: 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脚本增强的相关教程结束。

《性能_2 Jmeter脚本增强.doc》

下载本文的Word格式文档,以方便收藏与打印。