Jmeter实现参数化方式

本文探讨了参数化技术在账号登录验证、数据驱动测试中的关键作用,如JMeter中CSV、函数式和编程式参数化方法。还提供了解决常见问题的策略,如空TOKEN处理、字符编码调整和重复手机号检测。

1. 什么时候需要参数化技术

同一个账号不能同时登录,后一个会抵掉前一个(单点登录)
唯一识别的字段为电话号码

2. 参数化技术是什么

参数化是自动化测试脚本的一种常用技巧

2.1. 参数化流程

	  找出需要做的参数化的数据
	  准备提供 给参数化需要的数据源
	  把脚本里的常量--变量(使用前面的数据源数据)

简单来说,参数化的一般用法就是将脚本中的某些输入使用参数来替代,在脚本运行时指定参数的取值范围和规则

3. Jmeter实现参数化方式

在这里插入图片描述

3.1 CSV–需要配置的元件

配置内容格式
在这里插入图片描述
上传文件格式
在这里插入图片描述

读取CSV里面每一行参数,比如:多个账号登录
在这里插入图片描述

3.2. 函数式(通过自动生成函数实现)

  随机数
  Time 时间戳${__time(,)} 默认是ms   13位数据
  Counter计数器

3.3. 变量

定义自定义变量,公用的参数直接调用定义的变量名即可
在这里插入图片描述
在这里插入图片描述

3.4. 编程式(比较深)

引入外部的jar、java、class
使用beanshell编程

4. 问题解决

1、“msg”:“TOKEN”值为空,
解决方案:在请求头增加一个token,可以通过后置处理器提取token,然后在请求头进行关联。
2、“message”:“客户姓名必须为中文??”
解决方案:请求编码设置--utf-8
3、“message”:“该客户手机号码已存在”
解决方案:必须做参数化--手机号码
4、 生成的随机数在参数里面应用:例如手机号后8为---135${__Random(11111111,99999999,)}即可

在这里插入图片描述
在这里插入图片描述

### JMeter 参数化方法教程 #### 一、通过外部属性文件配置参数 为了使JMeter加载额外的自定义属性,可以在`jmeter.properties`文件中指定一个用户属性文件。这允许测试人员在不修改核心配置的情况下调整特定于项目的设置。 ```properties # Should JMeter automatically load additional JMeter properties? # File name to look for (comment to disable) user.properties=test.properties ``` 这种方式适合那些希望保持项目间一致性的团队,在不同环境中运行相同的测试计划时尤为有用[^1]。 #### 二、利用CSV数据文件实现动态输入 CSV数据文件是一种非常灵活的方法来进行参数化处理。这种方法涉及创建一个包含多列待测项及其对应值的CSV文件,并将其链接到测试方案内的组件上。每当线程启动新循环时,都会自动从该文件读取下一行作为当前请求的一部分发送出去。 此法适用于模拟大量并发用户的场景,因为可以轻松扩展至成千上万个不同的条目而无需手动编辑脚本本身[^3]。 #### 三、采用内置元件——用户定义变量 另一种简单易行的选择是在测试树结构顶部添加“用户定义的变量”节点。在此处录入必要的键值对之后,就能在整个测试过程中随时调用这些预设好的占位符了;只需按照`${variableName}`这样的语法格式即可完成替换操作。 对于小型规模或是仅需少量几个固定不变参数的情况来说,这是一种既快速又直观的做法[^4]。 #### 四、借助函数助手增强灵活性 除了上述几种途径之外,JMeter还提供了丰富的内建功能库供开发者选用。比如随机数生成器(`__Random`)、时间戳标记(__time)等都可以用来构建更加复杂且贴近实际业务逻辑变化模式的数据流模型。 这类高级特性往往能帮助解决一些特殊需求下的挑战性问题,如验证服务器端响应的一致性和时效性等方面的表现情况[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值