热门标签 | 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年学习的软件测试学习干货,可以送给每一位对软件测试感兴趣的小伙伴,想要获取的可以关注我的头条号并在后台私信我:【测试】,即可免费获取。




推荐阅读
  • Requests库的基本使用方法
    本文介绍了Python中Requests库的基础用法,包括如何安装、GET和POST请求的实现、如何处理Cookies和Headers,以及如何解析JSON响应。相比urllib库,Requests库提供了更为简洁高效的接口来处理HTTP请求。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 回顾两年前春节期间的一个个人项目,该项目原本计划参加竞赛,但最终作为练习项目完成。独自完成了从编码到UI设计的全部工作,尽管代码量不大,但仍有一定的参考价值。本文将详细介绍该项目的背景、功能及技术实现。 ... [详细]
  • Jupyter Notebook多语言环境搭建指南
    本文详细介绍了如何在Linux环境下为Jupyter Notebook配置Python、Python3、R及Go四种编程语言的环境,包括必要的软件安装和配置步骤。 ... [详细]
  • 本文探讨了在一个物理隔离的环境中构建数据交换平台所面临的挑战,包括但不限于数据加密、传输监控及确保文件交换的安全性和可靠性。同时,作者结合自身项目经验,分享了项目规划、实施过程中的关键决策及其背后的思考。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 深入解析WebP图片格式及其应用
    随着互联网技术的发展,无论是PC端还是移动端,图片数据流量占据了很大比重。尤其在高分辨率屏幕普及的背景下,如何在保证图片质量的同时减少文件大小,成为了亟待解决的问题。本文将详细介绍Google推出的WebP图片格式,探讨其在实际项目中的应用及优化策略。 ... [详细]
  • 小编给大家分享一下Vue3中如何提高开发效率,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获, ... [详细]
  • 深入理解Java SE 8新特性:Lambda表达式与函数式编程
    本文作为‘Java SE 8新特性概览’系列的一部分,将详细探讨Lambda表达式。通过多种示例,我们将展示Lambda表达式的不同应用场景,并解释编译器如何处理这些表达式。 ... [详细]
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社区 版权所有