热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

jmeter自定义参数_Jmeter如何参数化?常见的几种参数化方法总结!

如果想要掌握Jmeter的相关操作,那么前提是你一定要会参数化,那什么是参数化呢?参数化:简单的来理解一下,我

如果想要掌握Jmeter的相关操作,那么前提是你一定要会参数化,那什么是参数化呢?

3236b7964c8c04aea359f4df13ef160e.png

参数化:简单的来理解一下,我们录制了一个脚本,这个脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统。这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问。

说一下我的理解,就是将脚本中的某些输入值使用参数来代替,在下次使用的时候,只需要修改输入值即可。

Jmeter与loadrunner参数化的区别:

1、 jmeter参数文件的第一行没有列名称

2、 这里要注意的是参数文件的编码,可以使用记事本另存为就可以修改该编码(编码问题在使用CSV Data Set Config参数化时要求的比较严格)

3、 Jmeter的参数化设置没有LoadRunner做的出色,它是依赖于线程设置的(只有CSV Data Set Config参数化方法才有)

还是听不懂没关系,看了下面的你就会了,常见的参数化方法有如下几种:

一、CSV Data Set Config:CSV数据控件

使用场景:适合参数范围比较大的时候,可以方便用户随时修改参数数据。使用最多的就是参数化用户名和密码登录系统。

4fdb41c0b255080d05c70b3f381bd58d.png

准备txt文档参数数据

ac0616ebdfef45df4d8515173d91cc09.png

参考接口:http://api.nnzhp.cn/api/user/login

3b3075430e79ff33603015b85ff92359.png

通过Debug Sampler来查看获取的参数是否正确

5a98aa7928f9b06c9badc136bad2cea0.png

二、函数助手

使用场景:jmeter自带的函数处理,比如:随机数,可用于固定字符+随机数,修改传入参数的值,函数助手的底层都是java封装的方法。

6d98f341dcf867913e76601c4406df17.png
a9105af6f45474c0e4f2a2f96c940c68.png

三、用户自定义变量

使用场景:一般可以适用于在测试计划中不经常变化的参数设置,如host、端口号、url等;而且用户自定义变量是在配置元件中的。

bd4d6bde3cccc9aeae44633a4bd06756.png
8f29522768ab2cba8c1494eb662d99b1.png

结果如下所示:

f2bc7a8b3018b9e0b9aaa2cce50fc899.png
b21946d8853484a45abdb1e6955b4185.png

四、用户参数

使用场景:适合参数取值范围很小的时候使用 一般会将登录的用户账号和密码作为用户参数,用户参数是在前置处理器模块中的

363bc3cbf07e5f2e6ed22349d9af7f33.png
6759442c6ab13a11318fe9ca8fcb4f5b.png

请求结果如下:

fba49e5d20f22193ef193683773baa81.png

五、关联获取参数- 正则/json提取(个人角度)

常见的参数化是四种,个人理解通过正则和 json 提取也是一种提取返回结果作为

参数的一种功能,常见的使用场景有:用户登录时,获取返回结果 token,作为下一个

请求的参数,这里要注意取参数的顺序,否则可能会出现还没提取出参数的值,其他请

求却已经引用了参数的情况。

47d45732458a0f9fe0e6b5fe92b76271.png

参考接口:http://api.nnzhp.cn/api/user/login 获取用户的 COOKIE,并将 COOKIE 作为参数请求下一个连接。这样的原因是,能保证接下去的操作是在当前用户登录后操作的。

3961acce7d1061200a38817d1df4cd5a.png

通过 json 提取器获取对应的 COOKIEs 值,并添加在下一个请求的 http COOKIE 管理器中。

a16f5b156f9d4e74fa1c210b4f0c2169.png
10e5f677292f92cc3aba7b0f72899452.png

通过 debug sampler 来查看取值结果,说明我们已经取到对应的 COOKIE 值了。

3f09851be570471c4c960e543ffca3c0.png

看到这里,应该知道如何进行参数化了吧,学会了参数化,我们使用 jmeter 就会越

加方便啦!

总结:

在用到jmeter工具时,无论做接口测试还是性能测试,参数化都是一个必须掌握且非常有用的知识点。

我是谁?

我是一名从事了多年软件测试的老测试员,今年年初我花了一个月整理了一份最适合2020年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【测试】,即可免费获取。




推荐阅读
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • 软件工程课堂测试2
    要做一个简单的保存网页界面,首先用jsp写出保存界面,本次界面比较简单,首先是三个提示语,后面是三个输入框,然 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 使用 Azure Service Principal 和 Microsoft Graph API 获取 AAD 用户列表
    本文介绍了一段通用代码示例,该代码不仅能够操作 Azure Active Directory (AAD),还可以通过 Azure Service Principal 的授权访问和管理 Azure 订阅资源。Azure 的架构可以分为两个层级:AAD 和 Subscription。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 本文介绍如何使用 Angular 6 的 HttpClient 模块来获取 HTTP 响应头,包括代码示例和常见问题的解决方案。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 优化SQL Server批量数据插入存储过程的实现
    本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
author-avatar
快乐xin_yi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有