• Jmeter使用(二、参数化)


    2.常用的参数化方法
    参数化定义:根据需求,动态获取数据,并进行赋值的过程
    Jmeter中参数化常用方式:
    CSV Data Set Config: CSV数据控件
    User Defined Variables: 用户定义的变量
    User Variables: 用户参数
    Jmeter中参数的定义:参数化的变量用${变量名}表示

    1)使用CSV文件进行参数化
    CSV Data Set Config是一种能够从外部读取数据的组件
    适用范围:需要大量测试数据的场景
    (1)实现步骤:
    ①新建测试计划
    ②新建线程组
    ③在测试计划中添加CSV Data Set Config
    ④在线程组中添加http请求
    ⑤添加查看结果树组件
    (2)实操:
    ①准备csv数据文件,文件要保存为csv格式

    ②将csv数据文件转为UTF-8编码
    数据文件中文会识别错误,需要转码。使用Nodepad++打开csv文件->转为UTF-8编码->保存退出。

    ③添加、配置CSV数据文件设置

    ④在HTTP请求中,使用${变量名}代替参数,进行参数化

    ⑤查看结果树中的RequestBody,检查参数化后传出的实际数据

    ⑥查看执行结果

    ⑦通过设置线程组中的线程数或循环数,可以遍历csv文件中的所有数据。数据按文件中的顺序依次获取。

    2)用户参数(User Variables)
    (1)适用范围:适用于参数取值范围很小的时候
    (2)实操:
    ①HTTP请求右击->添加->前置处理器->用户参数

    ②在用户参数中添加数据
    添加变量:添加变量名称
    添加用户:添加测试数据,一个用户就是一组测试数据

    ③在HTTP请求中,使用${变量名}代替参数,进行参数化

    ④查询结果


    ⑤要使用多个用户数据,在线程组中要设置响应的线程数。用户参数中添加了3个用户的数据,线程组中的线程数要≥3,才能使用所有数据。

    3)用户自定义的变量
    (1)适用范围:适用于常量配置。例如:数据库地址、环境地址
    (2)实操:
    ①添加用户变量
    单击测试计划->添加用户定义的变量

    如果数据量较多,也可以在配置元件中单独增加。两者用法完全相同

    ②在HTTP请求中,使用${变量名}代替参数,进行参数化。
    凡是可以输入的地方都可以使用这个变量

    ③查询结果

    4)使用mysql数据库进行参数化(利用计数器)
    (1)场景:取数据库的数据,查询黑白名单
    数据库内容:

    (2)步骤:
    ①在测试计划中导入数据库驱动jar包
    测试计划->添加mysql-connector-java-5.1.49.jar包
    下载地址:https://dev.mysql.com/downloads/connector/j/5.1.html

    ②添加:配置元件 -> JDBC Connection configuration

    数据库的格式,可以点击帮助按钮在线查看

    ③添加:取样器 -> JDBC Request


    ④读取数据库:

    ⑤添加调试取样器

    通过调试取样器可以发现,Jmeter使用Variable names给所有数据添加了名称:

    ⑥添加配置元件 -> 计数器,用于数据顺序执行

    配置计数器

    ⑦在HTTP请求中使用参数嵌套:${_V(user${num})}、${_V(telphone${num})}
    user和telphone与JDBC Request中配置的变量名保持一致

    ⑧查看结果,请求成功

    ⑨通过设置线程组中的线程数和循环次数,可以遍历数据库中的所有数据。

    ⑩小技巧:使用navicat中的命令行查看mysql版本
    select version() from dual

  • 相关阅读:
    Android--多线程之Handler
    Android--Service之基础
    Android--UI之Fragment
    Android--多线程之图文混排
    python常用模块
    python应用之socket编程
    网络编程socket理论一
    pycharm Launching unittests with arguments
    python字符串格式化
    python数据类型之三
  • 原文地址:https://www.cnblogs.com/bdzxh/p/14040508.html
Copyright © 2020-2023  润新知