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

    转自:https://www.cnblogs.com/tudou-22/

    在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点。参数化的使用场景,例如:

    1)多个请求都是同一个ip地址,若服务器地址更换了,则脚本需要更改每个请求的ip

    2)注册账号,不允许账号重复;想批量注册用户时

    3)模拟多个用户登录,需要用到不同用户信息登录时

    4)上一个请求的输出结果用于下一个请求的参数传入,例如登录获取到的token信息,用于提交账单请求的参数调用

     

    在jmeter中,通过${变量名}来获取参数值。

     

    1、用户定义的变量

    1)线程组右键添加-->配置元件-->用户定义的变量,出现如下设置页面后

    输入名称、值;注意:名称可以自定义设置

    2)然后将设置后的变量名称,在注册、登录、充值请求中进行参数化引用${ip}、${phone}

     注意:引用的参数名跟用户定义变量设置的名称必须保持一致

    3)点击运行,查看结果树,显示成功

    2、函数助手获取参数值

    1)选择菜单栏 选项-->函数助手对话框,弹出函数助手框,功能下面有多个函数可供选择,我们主要看下__RandomString,其他可以自行了解下哟

    2)要进行多个账号注册(比如10个用户),注册信息要求手机号mobilephone不能重复;所以可以这么来思考,手机号前3位号段固定,那就对手机号后8位进行随机,页面设置如下:

    3)拷贝生成的函数字符串,粘贴进行参数引用

     

    4)设置线程组线程数为10,模拟10个虚拟用户的注册

    5)点击运行,查看结果树,显示成功

     

    3、CSV Data Set Config获取参数值

    1)若需要注册的手机号不能随机,必须是用户真实提供的手机号进行注册的话,就采用以下这种方式,提前收集用户真实手机号及昵称,存放在本地txt或者CSV文件(CSV文件默认逗号隔开)

     

    2)线程组右键添加-->配置元件-->CSV Data Set Config

     

    • Filename:需要传入文件的完整路径。我的文件位于D盘目录下,文件名为users.txt。
    • File encoding:参数文件的编码格式。可以不填。
    • Variable Names:对应参数文件中每列的变量名,也是你要引用到请求中的参数变量名。这里第一列是手机号、第二列是昵称。变量名可以自定义。
    • igonre first line(only used if Variable Names is not empty):当 CSV 文件中首行设置了变量名时,该项设为 true,此时每次请求读取文件时会自动忽略首行,直接读取第二行的数据。若首行未设置,则选择False
    • Delimiter:文件中的分隔符,默认英文的逗号分隔。所以注意txt文档中每行多个参数用英文逗号分隔。
    • Recycle on EOF: 设置为True后,允许重头循环取值;为False,当读取文件到结尾时,停止读取文件
    • Stop Thread EOF: 当Recycle on EOF为false并且Stop Thread EOF 为true,则读完csv文件中的记录后,停止运行,线程数及执行次数无效。
    • Sharing Mode:共享模式。All threads:所有线程,所有线程循环取值,线程1取第一行,线程2取下一行;Current thread group:当前线程组,各个线程组分别循环取值;Current thread:当前线程,该测试计划内的所有线程都取第一行。

    3)使用CSV Data Set Config中定义好

    a、直接参数化引用

    b、通过函数助手进行参数化引用

     

    4)设置线程组中线程数为5,执行后,输出如下结果:成功

      

    从数据库读取数据,关联的时候也会用到参数化方式,后续再抽时间整理~~

    ~~对该篇文章有任何想说的欢迎留言,也欢迎加右上角群号一起讨论~~

    =====请大家尊重原创,如要转载,请注明出处:转载自:https://www.cnblogs.com/tudou-22/,谢谢!!=====
    • =====有任何疑问,欢迎加入测试交流群637734654(加群时请备注:博客园-豆姐姐)=====
  • 相关阅读:
    UVA
    UVA
    模板——扩展欧几里得算法(求ax+by=gcd的解)
    UVA
    模板——2.2 素数筛选和合数分解
    模板——素数筛选
    Educational Codeforces Round 46 (Rated for Div. 2)
    Educational Codeforces Round 46 (Rated for Div. 2) E. We Need More Bosses
    Educational Codeforces Round 46 (Rated for Div. 2) D. Yet Another Problem On a Subsequence
    Educational Codeforces Round 46 (Rated for Div. 2) C. Covered Points Count
  • 原文地址:https://www.cnblogs.com/wangyanyan/p/11844139.html
Copyright © 2011-2022 走看看