ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

jmeter脚本参数化

2022-07-02 10:00:20  阅读:117  来源: 互联网

标签:脚本 __ 定义 用户 线程 参数 jmeter 属性


JMeter参数化:${变量名}

用户定义变量的优先级高于我们的取样器优先级
作用域:只对自己的子集有效

用户定义的变量:

测试计划里面的是全局变量

这是作用于线程组的局部变量

首先登录和注册用的同一个手机号,如果有的产品程序更多,那每一个都要再写一次很麻烦,而且一个变了其他也必须要变
步骤:线程组里添加--配置文件再添加--用户定义的变量

然后可以直接用${变量名}

运行

登录也一样
不要用中文(自己定义的变量名,最好不要和参数名一样)
** 当多个接口使用的参数都是相同的情况下,我们就可以使用用户定义的变量**
也可以定义IP地址(服务器地址)

用户参数:

用法与用户定义的参数用法一致,作用相同,但是区别是
用户定义的变量:在脚本启动运行时,获取一次值,在整个运行过程中,不再去取值
用户参数:在脚本运行过程中,每次使用都会动态获取一次值

调试取样器:

用户参数:

用法与用户定义的参数用法一致,作用相同,但是区别是
用户定义的变量:在脚本启动运行时,获取一次值,在整个运行过程中,不再去取值
用户参数:在脚本运行过程中,每次使用都会动态获取一次值
函数:随机函数

把用户定义的变量和用户参数里都加入随机函数

在debug sampler里面看到用户定义的变量没有发生变化,用户参数一直在变

注册的时候和登录的时候,用户参数不能登录成功,因为每一次都会变化
而用户参数是注册可以成功,登录不能成功,因为每一次都发生变化
用户定义的参数是登录可以成功,但是注册·不成功
用用户参数来注册,然后在前面添加一个调试取样器,添加一个函数setproperty设置属性

登陆的时候就用这个属性值

参数不能直接跨线程组,用户定义参数还有用户参数都不能直接跨线程组
属性函数:-setProperty
jmeter自带的特性名称就是属性
jmeter里面有静态的属性也有动态的属性。动态的属性就是你可以给它设置到这款工具上去
工具有一个属性可以更改设置值,如果想把用户定义变量的值给到属性都是可以的,就可以实现跨线程组,所以两个独立的取样器也是可以通过属性来跨
\({__setProperty(,,)} 把值传给某个属性 设置属性 \){__property(,,)} 获取属性值
\({__P(,)} 也是获取属性值(这个相当于\){__property(,,)} 的小名,外号)
\({__threadNum} 线程的编号 \){__threadGroupName} 获取线程组名称
\({__time(,)} 时间 \){__V(,)} 连接函数 引用num_1 num_2 num_3 \({__V(num_,\){num})}

取样器的执行顺序是从上往下执行,但是有优先级,用户定义变量的优先级比取样器优先级高
如果HTTP请求的协议是HTTPS那么端口默认情况下是443

参数化:CSV文档参数化:配置文件CSV Data Set Config

步骤
1.现在Excel里准备好数据
2.将Excel另存为CSV格式的文件(保存的时候有选择类型,选择类型为CSV(逗号分隔)
3.在Jmeter的线程组中添加配置文件CSV(如果添加了用户定义的变量就把这个用户定义的变量禁用掉)

在CSV里变量名是可以任意取的,但是取变量名时一定要注意见名知意,是根据CSV文档从左到右依次来的(就是CSV文档里是什么顺序,这里就是什么顺序)

调用

运行,却只有一行

是因为线程组里面的线程数需要改变,线程数代表的是虚拟用户数
改变线程数为6

结果

.当输入的数据不要求准确性的时候

函数助手中的随机函数:函数获取参数值_Random函数_RandomString函数
当输入的数据不要求准确性的时候,函数助手对话框里的的随机字符串
步骤:

如果是手机号码,那有3位是固定的,最多八位随机

复制前面自动生成的参数到该去的位置

结果:因为前面设置的线程数是6,所以会直接出现不同的六位号码

附加了解
(1)如何设置循环次数
(2)根据参数化设计测试用例以及测试点
关联

线程组与线程组之间是独立的关系,不能直接引用对方的数据

标签:脚本,__,定义,用户,线程,参数,jmeter,属性
来源: https://www.cnblogs.com/dengdengdeng1998/p/16436744.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有