zoukankan      html  css  js  c++  java
  • 几种常见的Jmeter参数化方式

     

    本文章出自【码同学软件测试】

    码同学公众号:自动化软件测试,领取资料可加:Matongxue_8

    码同学抖音号:小码哥聊软件测试

    很多人在写jmeter脚本时,接口的参数都是固定的,比如id=1,但是这样并不能真正模拟多个用户来发起请求。因此接口参数需要使用动态的参数。

    Jmeter支持丰富的参数化函数和组件,可以使用“函数助手”来帮我们生成对应的函数,接下来介绍一些常用的参数化函数。

     

     

     




      随机数函数 

    随机数字是一种比较常见的参数化场景,比如在/pinter/com/getSku?id=1接口中,id参数可以传一个随机数,范围是从1-1000,打开函数助手,选择random函数,设置随机范围,就可以生成一个随机数函数

    在HTTP请求的URL里,将原来的id=1,替换为id=${__Random(1,1000,)} 即完成了id的参数化处理。运行脚本,在查看结果树的“请求”-“request body”里,可以看到发送到服务端的id数据是一个随机的数字






      随机字符串 

    在函数助手中,找到randomString函数

     

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:Matongxue_8

     

    免费领取码同学软件测试课程笔记+超多学习资料+完整视频+面试题,可加微信:Matongxue_8

    • Random string length:生成随机字符串的长度

    • Chars to use for random string generation:从哪些字符中生成随机字符串,这里可以写字符和数字

    函数的使用方法和上述是一样的,不再赘述。






     时间戳 

    time函数可以获取当前的时间戳

    UUID
    UUID是一个不重复的字符串,可以用在某些需要使用唯一不重复字符串的场景下。




    文件参数化

    在某些场景下,要求参数是从某个文件里读取的,Jmeter还提供了更强大的参数化组件:“CSV数据文件设置(CSV data set config)”

    使用方法
    先准备一个参数文件(文本类型文件即可,如txt、csv,注意不能是Excel),文件里可以有一列或者多列数据,以逗号分隔,如

    在线程组上右键-添加-配置元件-CSV数据文件设置

    • 文件名:参数文件的路径

    • 文件编码:默认为空,如果有中文参数,可以在下拉框里选择utf-8

    • 变量名称:文件中每列数据对应的参数名,逗号分隔,如username,password

    • 忽略首行:是否忽略第一行数据?默认是不忽略,即读取第一行数据

    • 分隔符:默认的逗号,也可以使用tab键分隔,用\t

    • 是否允许引号:文件数据里有引号吗,如果有选true,默认是false

    • 遇到文件结束再次循环:如果期望文件中的数据读取完毕后,可以继续从第一行读取,选True,否则选false

    • 遇到文件结束停止线程:文件数据读取完毕后,是否停止线程运行。一般配合上面参数使用,如果上面选True,这里就选false,上面选false,这里选true

    文件名:参数文件的路径


    文件编码:默认为空,如果有中文参数,可以在下拉框里选择utf-8


    变量名称:文件中每列数据对应的参数名,逗号分隔,如username,password


    忽略首行:是否忽略第一行数据?默认是不忽略,即读取第一行数据


    分隔符:默认的逗号,也可以使用tab键分隔,用\t


    是否允许引号:文件数据里有引号吗,如果有选true,默认是false


    遇到文件结束再次循环:如果期望文件中的数据读取完毕后,可以继续从第一行读取,选True,否则选false


    遇到文件结束停止线程:文件数据读取完毕后,是否停止线程运行。一般配合上面参数使用,如果上面选True,这里就选false,上面选false,这里选true


    线程共享模式:文件中的参数都可以让哪些线程使用,一般都选所有线程






       使用参数  

    csv参数文件设置完毕后,可以在login接口里,直接通过${参数名}的方式来使用参数

    在线程组上设置运行次数为4,然后运行脚本

    在查看结果树中可以看到,每次请求都使用了参数文件里的一行参数

    总结

    本文讲解了两种参数化类型:函数参数化和文件参数,如果大家在学习过程中有任何问题,欢迎扫码咨询

     

     

    END

    免费领取码同学软件测试课程笔记+超多学习资料+学习完整视频 可加:Matongxue_8/关注码同学公众号

    本文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

     

  • 相关阅读:
    TyporaRecord
    c# 串口 应答式顺序下发命令 循环 间隔发送指令
    WPF 如何在单独的配置文件中使用Log4net
    UWP VisualStateManager
    USB通信
    UWP RelativePanel
    JSON 序列化与反序列化
    Unity 依赖注入的三种常用模板
    IOC Unity容器的基本使用
    使用EF完成基于SQLite的CodeFirst
  • 原文地址:https://www.cnblogs.com/testfan2019/p/15532844.html
Copyright © 2011-2022 走看看