细雨学习笔记:Jmeter参数化

目前我用到两种方式:

1)某个参数,值固定的,好多地方都用到:请用“用户定义的变量”

用户组,右键--添加--配置原件--用户定义的变量,在这添加。

如何使用呢?在需要用到此参数的地方这样引用:

${参数名}

一些可变的东西,最好都参数化,比如服务器ip,如果哪天变化了,你只需要修改用户定义的变量中ip对应的值即可,不然要每个请求里都改一次,太麻烦了,还会遗漏

2)我有100人要登录,每个的用户名、密码不一样。

想法:可以把用户名、密码设参,把参数值放到一个文件里,在需要用到的地方引用这个参数。----用CSV Data Set Config

用户组,右键--添加--配置原件--CSV Data Set Config,在这添加。

如何创建csv文件?

以下是CSV Data Set Config各个参数的简要说明:

  • FileName:csv文件的目录
  • File Encoding: 默认为ANSI,我们要改成utf-8
  • Varible Names: 定义文本文件中的参数名,参数之间逗号分隔.定义后可在脚本在以Shell变量的同样的方式引用
  • Allow Quoated data: 双引号相关
  • Recycle on EOF: 设置为True后,允许循环取值(比如循环1000次,但是用户名密码只有100个,那就要循环了)
  • Stop Thread on EOF: 当Recycle on EOF=false,Stop Thread on EOF=true,那么读完csv文件中的记录后,就会停止运行
  • Sharing Mode: 设置是否线程共享。

最后,我们需知Jmeter还有如下方式可以进行参数化:

  • User Defined Varibles: 一般对不需要改变的参数进行
  • User Parameters:
  • 通过系统函数: Options->Function Helper Dialog,通过自己输入参数值,点击"Generate" 按钮产生
时间: 2024-10-09 14:08:24

细雨学习笔记:Jmeter参数化的相关文章

细雨学习笔记:JMeter 的主要测试组件总结

1. 测试计划是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 2. 线程组代表一定数量的并发用户,它可以用来模拟并发用户发送请求.实际的请求内容在Sampler中定义,它被线程组包含. 3. 监听器负责收集测试结果,同时也被告知了结果显示的方式. 4. 逻辑控制器可以自定义JMeter发送请求的行为逻辑,它与Sampler结合使用可以模拟复杂的请求序列. 5. 断言可以用来判断请求响应的结果是否如用户所期望的.它可以用来隔离问题域,即在确保功能正确的前提下执行压力

JMeter学习笔记--JMeter监听器

监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树.表格.图片加以展示,或者简单地写入某个结果文件之中. 注:不同的监听器通过不同的方式展示服务器响应信息,但它们都将同样的原始数据记录到某个输出文件中(在某个监听器中指定一个输出文件) ”Configure“ 按钮可以被用来配置哪些数据会被写入到结果文件之中,以及结果文件的格式CSV或者XML.与XML文件相比,csv文件占用的磁盘空间要小很多,当采样次数较多时,建议使用csv格式.另外测试人员可以使用简单控制器将一系列

JMeter学习笔记--JMeter执行顺序规则

JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样器按照在测试树种出现的顺序执行.其他测试元件会依据自身的作用域来执行,另外与测试元件所属的类型有关(归属于同一类型的测试元件,会按照他们在测试树中出现的顺序来执行. 测试计划实例如下: Controller post-Processor1 Sampler1 Sampler2 Timer1 Asser

JMeter学习笔记--JMeter属性和变量

JMeter属性统一定义在jmeter.properties文件中.JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值.如属性remote_hosts定义了JMeter在远程模式下运行的服务器地址.属性可以在测试计划中引用,但是不能作为特定线程的变量值 JMeter变量对于测试线程而言是局部变量,这意味着JMeter变量在不同测试线程中,既可以是完成相同的,也可以是不同的,如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值.例如,“正

JMeter学习笔记--JMeter常用测试元件

JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果,这是很有用的.这样做的后果就是这个文件会快速的增大,并且Jmeter的效率会影响. 如果不记录数据到文件,这个选项就没有不同了. 线程组:是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下.其他的测试元件(如监听器)可以被

JMeter学习笔记--JMeter前置处理器

前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来保存会话ID用于替代Cookies的Web应用系统. Session Argument Name:从前一个响应抓起参数名,修改器会从页面中找到该参数,并提取参数值. Path Extension: 一些web应用通过附加一个分好加上会话ID参数来重写URL Do not user equal in

Python学习笔记10--unittest参数化

我们在写case的时候,如果用例的操作是一样的,就是参数不同,比如说要测一个登陆的接口,要测正常登陆的.黑名单用户登陆的.账号密码错误的等等,在unittest里面就要写多个case来测试. 这样的情况只是调用接口的时候参数不一样而已,再写多个case的话就有点多余了,那怎么办呢,就得把这些参数都写到一个list里面, 然后循环去执行这个case.这样就可以省去写多个case了. 当然有个第三方模块就直接有这样的功能,不需要咱们再自己写循环了.那就是nose-parameterized,直接pi

【转】jmeter学习笔记——参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

【转】jmeter学习笔记——一种简单的数据库性能测试方法

前提条件:一个数据库:test   数据库下面有一张表:user   表中有两个字段:username.passworld . 要求:往数据库内大批量插入数据,1000/s 其实和之前的方法一样,为了简单,我还是把截图贴出来吧. 1.创建一个测试计划,将我们所使用的数据库驱动包导入. 2.添加一个线程组,并设置我们的虚拟用户数.启动时间.和循环次数 3.创建一个线程,并在线程下面,创建一个JDBC Connection Configuration ,设置相关信息. 4.创建一个JDBC Requ