zoukankan      html  css  js  c++  java
  • JMeter脚本增强之参数化

        JMeter测试脚本录制或者编写,在Web应用和App上的操作方式可能有一点点区别(其实也差不多,哈哈),但是当脚本录制好了之后,对测试脚本的强化,包括参数化、关联、文本检查、集合点设置,甚至再往后的测试结果数据分析,可以说是完全一样的。我们可以把“脚本是怎样产生的”这个过程看成一个黑盒子,这个盒子里面是怎样的操作我们不管,反正最后的产出物就是一个脚本,这个脚本就是一些request,我们要做的就是模拟多个用户把这些request发送到服务器,然后得出测试结论。

        本篇先介绍脚本参数化的方法。

        JMeter的参数化有两种种方式:借用函数助手、使用配置元件CSV Data Set Config

        案例:打开一个系统登录页/app登录页,输入用户名和密码,点击登录

        参数保留脚本:在本地新建一个文本,录入要使用的所有参数,把文本保存为.dat格式,这里保存的位置是D: est.dat

    一 借用函数助手__CSVRead

    1、点击JMeter菜单栏的“选项”,选择“函数助手对话框”

      选择一个功能:__CSVRead

      函数参数第一个是参数化文本的路径,第二个表示要取这个文本的第几列。我们的文本就两列,0是第一列,1是第二列,如果有更多列就以此类推。

      点击“生成”按钮之后会生成一个函数字符串,这个字符串可以直接拿来用了,先copy出来。

    2、找到登录请求页发出的request,在右边的参数列表中找到用户名和密码,也就是我们要参数化的对象。第一次找到的这些请求参数是有具体值的,要把它们变成引用参数。

    把刚刚在函数助手生成的字符串复制粘贴到参数的值那一列就ok了。可以只生成一次,然后修改列号就行了。

    参数化到这里就做完了,等脚本跑起来之后就会自动调用D: est.dat这个文件。

    3、简单验证一下,因为test.dat里面有三组用户名密码,我们就把线程调成3,添加查看结果数监听,然后运行,不会报错说明参数化没问题。

     

     二 使用配置元件CSV Data Set Config

    1、选中线程组->添加->配置与案件->CSV Data Set Config,打开配置元件页面

    Filename:参数项文件
    File encoding:文件的编码,设置为UTF-8
    Vaiable Names:文件中各列所表示的参数项;各参数项之间利用逗号分隔;参数项的名称应该与HTTP Request中的参数项一致。
    Delimiter:如文件中使用的是逗号分隔,则填写逗号;如使用的是TAB,则填写 ;(如果此文本文件为CSV格式的,默认用英文逗号分隔)

    Recycle on EOF?:True=当读取文件到结尾时,再重头读取文件;False=当读取文件到结尾时,停止读取文件

    Stop thread on EOF?:当Recycle on EOF为False时,当读取文件到结尾时,停止进程,当Recycle on EOF为True时,此项无意义

    备注说明:Recycle on EOF与Stop thread on EOF之间的关联

    Recycle on EOF :到了文件尾处,是否循环读取参数,选项:true和false

    Stop thread on EOF:到了文件尾处,是否停止线程,选项:true和false

    当Recycle on EOF 选择true时,Stop thread on EOF选择true和false无任何意义,通俗的讲,在前面控制了不停的循环读取,后面再来让stop或run没有任何意义

    当Recycle on EOF 选择flase时,Stop thread on EOF选择true,线程4个,参数3个,那么只会请求3次

    当Recycle on EOF 选择flase时,Stop thread on EOF选择flase,线程4个,参数3个,那么会请求4次,但第4次没有参数可取,不让循环,所以第4次请求错误

    2、使用刚才定义好的变量${userName},${password}

    3、参数化设置完毕,然后也可以做简单的验证

    总结:个人感觉两种方式用起来都差不多,看自己喜欢。不过论坛上有人认为函数助手方法要比CSV控件方法参数化功能要弱,推荐使用CSV控件方法。

     

  • 相关阅读:
    HTML5
    PHP
    eclipse项目导入到android studio
    Jpush教材
    Android性能优化典范
    Fresco好案例
    扫二维码关注微信号,回复“送礼包”就送超值大礼!
    Android开源项目大全之工具库
    android学习“知乎”建议
    C# Json时间类型的转换
  • 原文地址:https://www.cnblogs.com/mgzc-1508873480/p/7055939.html
Copyright © 2011-2022 走看看