zoukankan      html  css  js  c++  java
  • Jmeter参数化实际应用

    要使测试用例达到灵活可复用,参数化是非常重要的。因为如果我们把所有的用例都写死,那么每次执行时,要修改的地方就太多了,所以,我们把通用的参数抽离出来。

    下面总结一下实际应用中用到的几种参数化方式。

    1、直接定义参数

    比如:

    请求中有个appid字段,很多个请求中都包含这个字段,如果我们写死了,那么如果换一个appid时,就得去每个请求里改一次。

    此时,我们把这个字段的值参数化,在统一的地方定义,如果修改,直接修改定义的地方就可以了,只需修改一次。在请求中引用这个参数时,就可以通过${appid}来引用。

    没定义参数前(写死的请求):

    1)定义全局参数:

    2)也可以定义局部参数,作用域为当前线程组:

    添加变量,和添加全局变量的方式相同:

    3)在请求中引用的时候,直接写${appid}就可以了:

    2、有时我们需要使用上个请求响应中的内容,作为参数,传给下面的请求。

    比如:我们的第一个请求返回一个时间序列,第二个请求要查看序列中两个时间点之间的值,这时,我们需要获取第一个请求中的第一个时间点和第二个时间点,来作为第二个请求的参数,查看某个时间段的详情。

    那么我们在第一个请求里添加后置处理器,按照json路径抽取出需要的值。

     

     在下一个请求中使用,${start_time},${finish_time},如下:

     3、从外部文件导入参数

    这里利用CSV Data Set Config元件,导入外部CSV文件中的数据。

    CSV配置界面:

    CSV文件内容举例,比如对于ba变量,线程执行第一次,会获取到“业务1”,ts会获取到1516244400000,以此类推。

     4、就是利用脚本处理,生成参数,Jmeter的前置处理器和后置处理器中,都有可以编辑脚本的元件,通过BeanShell脚本规则编写,这种脚本语言类似于java。

    我们通过vars.put(“参数名”,“参数值”),把生成的参数传到参数池,后续的用例可使用,通过vars.get("参数名")。往参数池增加参数时,如果名称已存在,会覆盖原有值;原来不存在时,会新建。

     编写脚本的窗口:

    以上,常用的几种生成参数的方式都提到了,没有好坏之分,只是按照实际需要,选择适当的方式。

  • 相关阅读:
    JavaScript table, grid, tree view or Gantt chart | TreeGrid
    Sign in
    DHtmlx Gantt
    Gantt Chart in JavaScript (HTML5) | FusionCharts
    无插件ExtJs4简单甘特图 / 蓝讯
    jsGantt(甘特图控件)
    FREE javascript gantt
    Python-Gantt
    JavaScript UI Library, Ajax Components & HTML5 Framework
    我的SPE甘特图
  • 原文地址:https://www.cnblogs.com/brigth-9V/p/8629371.html
Copyright © 2011-2022 走看看