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

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

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

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

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

一 借用函数助手__CSVRead

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

选择一个功能:__CSVRead

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

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

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

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

参数化到这里就做完了,等脚本跑起来之后就会自动调用D:\test.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,则填写\t;(如果此文本文件为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控件方法。

JMeter脚本增强之参数化的更多相关文章

  1. jmeter的脚本增强之参数化

    jmeter作为一款开源的测试工具,功能广泛,深受测试同胞们的喜爱,这次来讲讲关于如何参数化及其方式.那为什么要进行一个参数化呢,如做压测时,要有大量的数据来模拟用户的真实场景,像登录页面操作,系统是 ...

  2. JMeter脚本增强之集合点

    集合点的概念:用于实现所谓并发操作,如果集合点设定是10个人,那么所有的用户就会在同一条起跑线上等着后面的人,等10个人到齐了就哗地一下全部跑出去执行同一个动作.如果设置了超时,那么过了超时时间,有可 ...

  3. 【转】JMeter脚本的参数化

    JMeter脚本的参数化 当你利用Badboy将你的测试脚本录制完毕后,接下来就是脚本的调试工作了.在我看来,调试应该包括有以下几个方面:1.根据测试场景对脚本进行必要的修改:2.脚本参数化:3.添加 ...

  4. jmeter(十)参数化

    jmeter可以用来做接口.性能测试,原理是模拟客户端向服务器发送请求,请求里面包含两种不同情况的参数,一种是包含在URL中,一种是请求中需要发送的参数. 包含在URL中的参数,例如:http://b ...

  5. LR性能测试脚本增强与调试

    脚本增强与调试 一般来说,使用LR的Vugen录制的脚本并不能直接用于测试,需要对脚本进行各方面的增强,主要包括添加注释.关联.检查点.事务.参数化.日志输出等.下面结合刚完成的一个web项目性能测试 ...

  6. Loadrunner VuGen实战---基本组成、录制流程、协议、脚本优化、参数化(三)

    一.3大基本组件:VuGen.Controller.Analysis 1.VuGen:录制.编写脚本. 2.Controller:性能测试场景设计以及监控的地方. 3.Analysis:生成图表报告的 ...

  7. JMeter脚本录制

    1.1. 使用第三方录制方式或代理录制方式(建议)  第三方采用:http://www.badboy.com.au/ 通过badboy来录制,录制后另存为jmx格式即可. 操作步骤: a.打开badb ...

  8. Jmeter+Ant+Jenkins接口自动化测试(二)_测试方案设计及jmeter脚本开发

    前言 根据之前部署好的测试环境,进行接口自动化测试的方案设计及Jmeter脚本开发.测试方案设计过程中采用了数据分离和对象分离等思路,因此直接通过特定的测试用例文档来驱动整个自动化接口测试的执行,相关 ...

  9. JMeter 脚本开发(五)

    一.JMeter 元件运行顺序 执行顺序逻辑如下: 1.配置元件(如果存在) 2.前置处理器(如果存在) 3.定时器(如果存在) 4.取样器(如果存在) 5.后置处理器(如果存在且取样器的结果不为空) ...

随机推荐

  1. 关于Oracle分区表的理解

    Oracle分区表首要目的是用于管理数据文件,对数据文件进行划分和管理.但常常会听到通过分区表来提高性能的说法,实际上,分区表结合索引,加上有效的SQL语句,确实可以提高性能.什么是有效的SQL呢,就 ...

  2. 20155212 实验一《Java开发环境的熟悉》实验报告

    20155212 实验一<Java开发环境的熟悉>实验报告 命令行下Java程序开发 命令创建实验目录 输入mkdir 2051212创建以自己学号命名的文件夹,通过cd 20155212 ...

  3. #333. 【NOIP2017】宝藏

    #333. [NOIP2017]宝藏 http://uoj.ac/problem/333 1.错误的$n^42^n$做法: dp[s]表示当前的点集为s,然后从这些点中选一个做起点i,然后枚举边,然后 ...

  4. (三)SpringBoot2.0基础篇- 持久层,jdbcTemplate和JpaRespository

    一.介绍 SpringBoot框架为使用SQL数据库提供了广泛的支持,从使用JdbcTemplate的直接JDBC访问到完整的“对象关系映射”技术(如Hibernate).Spring-data-jp ...

  5. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    查看Oracle数据库表空间大小(空闲.已使用),是否要增加表空间的数据文件 1.查看表空间已经使用的百分比 Sql代码 select a.tablespace_name,a.bytes/1024/1 ...

  6. Zigbee系列(end device)

    End device设备分为睡眠和非睡眠两种(RxOnWhenIdle标记不同). 入网时的association请求,会使用这个标记. 共同特性 子节点多次发送数据失败(无回应),发送孤点扫描(re ...

  7. shell 判断日期间隔及润年

    #!/bin/bash test.sh until echo "----------------------------------" echo "请输入您的选择:&qu ...

  8. Unity3D之AR开发(二)

    上一篇给大家介绍了高通AR的使用,接下来给大家分享一下EasyAR EasyAR引擎简介 EasyAR是做好用的且免费的增强现实(Augmented Reality)引擎,EasyAR为Unity开发 ...

  9. 利用Pillow给图片添加重点框(适用UI自动化测试)

    效果图 一个简单的例子 安装Pillow 在cmd窗口/终端输入: pip install pillow 如果被墙,下载巨慢的话,可以临时替换豆瓣源 pip install pillow -i htt ...

  10. 如何选择 .NET Framework目标版本

    如何选择 .NET Framework目标版本 简介 .NET Framework是所有 .NET程序赖以运行的基础. 版本 到目前位置 .NET Framework共出了: .NET Framewo ...