接口测试工具jmeter正则提取小技巧

#职场##接口测试##补昨天打卡描述不清楚的内容#

补充昨天摸索的jmeter巧用方法:

1、通过${__threadNum}这个函数完成:把提取到的参数值,按被调用的线程组编号的变化进行传值。

参数写法:

这样写的方便是就正常加一个正则的提取,就可以解决在大并发压测时,全部参数调用一致而无法做到参数有效覆盖的情况。且比加java请求要少一个请求显示。


2、通过Java请求完成把提取到的参数,按被调用的线程组传递的值给后续变量传送。

参数写法:

1、添加一个正则表达式,写好正则表达式、写好模板、匹配数字字段写0.让其随机匹配。

2、添加一个java请求,把请求名称改成正则里编写的变量名称。(按变量引用格式来写。)

调用。这个被调用接口每次循环时传出的调用参数值都会发生变化。

但是请注意:如果是一个接口被调用一次正则提取到了参数。之后这个提取的参数被许多接口都进行复用。此时被复用的参数值是不会发生改变的。要是想做到每次复用时的参数都会发生变化。可能还是需要设计一下接口的流程比如写个if控制器或者while控制器来完成了。(这个就是下一次的故事了。这次还没探索到这。)


jmeter工具的察看结果树有一个小坑:

在把返回的数据切换成Json path tester模式的时候。你看到的数据显示顺序不一定和真实text下展示的字段显示顺序一致。容易出现前一个参数和后一个参数中间插了一个离的很远的参数进去。所以按照这个模式下写的正则前后边界范围经常出现提取不到值的问题。建议检查数据的时候不要改模式就一直是text模式。要么就用RegExp Tester模式编写正则表达的左右边界值。


补充正则提取多个参数的一个写法:

当需要提取的参数有很多,直接粘贴要提取的全字段。把需要字段的部分修改成正则的格式。然后模式里尼正则替换了几个值模式的$x$$x+1$......就写几个。匹配值写-1全匹配。最后写一个总的参数值后加调试后置处理程序。就可以再结果树里查看总参数里被传入的值。把你需要值的名字直接ctrl+c,然后ctrl+v就完事了。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
Crazy
作者分享
APP上线了~先打个卡占位祝贺一下~
2
# 机器学习打卡第5天, 代码走查,查看自己机器学习的脚本执行失败报错的问题 补充了解高阶函数调用。所谓高阶函数调用,就是def 函数A: 执行一个公式或者功能后,函数A的参数或者返回值再经过多个函数迭代调用的过程。 主要痛苦的点在于代码走查,刚开始的时候存在多个实例调用并且逻辑混乱的时候真的看着挺头大的。 今日代码排查出来的问题:我写了self.embedding(x)调用进行层级数据转化,但是报错。毫无头绪。 (明天继续······)
1
# 机器学习打卡第3、第4天 昨天偷懒忘记来鱼皮这记录打卡了,这两天是数据一起补上 主线目标:了解文本分类任务 机器学习里,常用参数无论是运算还是干嘛基本输入的都是一堆数。 因为机器学习的模型接收参数是数学里的矩阵模型,计算机里叫张量。这个矩阵模型他只有数字。 那如果我希望正常的文本比如中文英文还是其他各种语言或者文字进行机器学习。就需要把原始的文字转换成一堆不知道什么以意的数值来进行计算。计算的场景很多样。 举一个常见的例子,我有一个售后平台,每天接收一堆客户的问题。 (我想对我客户的问题进行内容分类,简单分类就是有,骂人的和正常问题投诉的,我想标识出我客户的垃圾话) 测试样本收集:客户描述的问题就是我机器学习输入进来的原始数据。 代码模型设计: 1.有个接收样本的参数 2.样本输入后,进入机器学习层。 3.初始化样本,把文本数据初始化成张量数据 4.对应展示成张量的数据根据传入池化层,向外甩个口子可调用传入文本的长度。 5.走线性层开进行机器学习类的模块。 5.1.补充一个预测值模块,如果没有真实值传入的时候你预测的值是根据什么玩意算的。 6.类里定义词表,词表里的参数和传入参数进行比对然后打标签。我搞得很简单,标签就0,1那种。(有垃圾话的1,没有的0) 7.带标签的数出来之后,直接把这堆语言参数的数值范围控制一下。 8.把这些计算过的值给loss函数,loss函数拿预测值和你真实算出来的值比较一下,返回一个引导你变得梯度的方向数据。 9.根据loss值的大小,机器根据优化器的函数公式自发去调整方向。 (这个地方有点抽象,我现在大概理解的是比如我输入的是“爱情事业双丰收”之类的,机器根据情事俩字认为h然后给标注了脏话之类的,通过优化器优化过几次之后他能根据语境判断出我这句话不是脏话的一个抽象概念) 大概这两天就了解了点这个,说实话别看写逻辑好像没啥问题,python代码一写就死。刚意识到自己根本不熟悉高阶函数调用。明天在继续补课吧。 改了整一天了,还在改。上面的描述内容要是逻辑写的有问题的话,也欢迎指正。 (未完待续·······)
2
#机器学习打卡 2 Day 1.今天按照自己找的python课程补充了相关函数调用部分的知识。复习了函数调用打印数据时候的一些知识。 比如:当函数def Funna(max1,max2,max3)存在多个参数的时候。且当前函数存在return返回值。我想要在函数外部打印这个函数内部参数时,需要设置一个自变量a,构造a=Funna,print(a)a可以接收到Funna函数赋值过来的参数。且a是元组类型输出的对应数据。当你的函数忘记写return时,默认返回到函数体调用的点返回的值是None。 2.找资料去了解反向传播是在做什么,梯度是在算什么。 今天理解的点: 2.1.反向传播类似一个递归查询的过程,左边存在一个输入的参数,右边存在一个输出参数。 从左往右的过程里一直有一个未知值无法得到解释需要一直存入一个未知参数保存得到答案后才能一层一层的返回上层保存的未知数的值。这个迭代过程从左向右求解占用内存的比例过大,而且考虑如果迭代的层级更多消耗的损失就难以估计。 但是反向求解的时候直接从输出的目标往回进行回溯带入,可以最大程度减小计算量。所以采用反向计算的模式。 2.2.这个计算模式就是反向传播。反向传播的计算值是两个方向的偏微分(另x为一个方向的固定值时,算出除了y变得动外的的偏导向量公式,另y为一个方向的固定值时,算出除x变动外的偏导向量公式。然后x方向的偏导向量公式和y方向的偏导向量公式,通过向量加法法则或者矩阵加法法则得到的公式值就代表了梯度公式),也就是反向传播算的是梯度这个事。 (未完待续·········)
2
今天开始记录学习打卡1 Day 短期目标:完成AI机器学习算法的第三周课程(预期用时2天半,包括完成作业的时间) 最重要的目标:了解反向传播原理和实际运用的模式是什么样的。 需要补充的知识点:应用数学基础和python函数调用基础。(需要找机器学习的资料看,未进行) 当前主线目标:反向传播的原理 当前反向传播的原理的知识完成度29%:知道反向传播是一种传播机制,用来更新梯度的,更新梯度是为了损失能越来越小。 (明天继续 ········)
2
下载 APP