美文网首页
Jmeter07.Jmeter参数化

Jmeter07.Jmeter参数化

作者: 意爹闯天涯 | 来源:发表于2019-09-29 16:01 被阅读0次

    在Jmeter性能测试中,要测试的数据往往不是固定值,若要求每次迭代的数据不一样时,则需进行参数化。在实际测试中会将准备好的数据自动填充到定义好的参数里。

    用户参数

    添加方式:添加-》前置处理器-》用户参数


    添加用户参数

    用户参数设置:
    设置变量name和age,每个变量分别设置5个值。

    注意:需要勾选每次迭代更新一次,否则会固定使用第一个值。

    用户参数设置
    当准备好数据后,就需要在相关的地方用变量来代替这些值。使用变量的方式为:${变量名}。添加一个HTTP请求取样器,在请求参数中将添加如下数据:
    取样器设置

    此处调用的接口实现了这样一个简单的功能:将传入的参数以json格式输出出来。该服务器接口通过flask实现,代码如下(不需要关注):

    from flask import Flask, request
    
    app = Flask(__name__)
    
    
    @app.route('/data')
    def get_data():
        name = request.args.get('name')
        age = request.args.get('age')
        return {
            'name': name,
            'age':age
        }
    

    执行测试后,查看结果树:


    响应数据

    csv数据文件设置

    Jmeter可以通过csv数据格式的文件来进行参数化。这里使用的文件并不要求必须是以csv为后缀的文件,只要文件符合csv数据格式就能够使用。

    1. 准备csv文件data.csv
      该文件存放可供测试的数据:
    name,age
    张三,18
    李四,25
    王五,78
    
    1. 启动Jmeter,添加测试计划、线程组,并在组下线程组下添加“CSV数据文件设置”元件。


      添加“CSV数据文件设置“元件
    2. 配置“CSV数据文件设置”元件
      添加“csv数据文件设置”元件后,需要对该元件进行设置,才能够使用。


      元件设置界面

      元件配置项:

    文件名:要引用的csv格式的文件
    文件编码:csv文件的文件编码
    变量名称:csv文件的每列数据设置对应的变量名。如果不设置将默认使用第一行的数据作为变量名,读取数据时,会忽略首行。
    忽略首行:是否忽略第一行数据,设置True则会从第二行开始读取数据。
    分隔符:csv文件中多个变量之间的分隔符,默认逗号。
    遇到文件结束符再次循环:文件读完重头开始读
    遇到文件结束符停止线程:文件读完将线程停止。
    线程共享模式:指csv文件里的数据是以怎样的方式共享的。

    按照上图,添加csv文件,其它项采用默认配置。这样该文件的数据就被分配到nameage变量里。

    1. 添加HTTP请求取样器,并设置变量引用。


      HTTP请求取样器设置

      5.添加“查看结果树”元件用于查看请求。


      添加查看结果树
      6.执行测试,并查看结果树。
      响应数据

      通过上图可以看到csv文件中的数据,成功应用在HTTP请求的变量中。

    __Random函数

    通过函数助手的__Random函数也可以实现参数化。

    1. 通过函数助手,生成__Random表达式,该表达式主要用于生成随机数。


      image.png

      设置最大最小值后,点击“生成”按钮会生成一个表达式,将该表达式复制到需要用到随机数的地方。

    2. 在http请求中应用随机数


      随机数使用

      3.执行,查看结果树。


      响应信息

    相关文章

      网友评论

          本文标题:Jmeter07.Jmeter参数化

          本文链接:https://www.haomeiwen.com/subject/hysuuctx.html