Jmeter 接口测试

article/2025/8/15 12:51:10

1.Jemter元件和组件

1.1 元件和组件的概念

        元件:多个功能相似的的组件的容器,类似于一个工具箱。

        组件:实现某个特定功能的实例,类似于工具箱中的螺丝刀,十字扳手...

1.2 作用域和执行顺序

1.2.1 作用域

例子:

1.2.2 执行顺序

        

1.3 线程

线程通过测试计划右键添加,线程又分为:setUP线程组、tearDown线程组、开放模型线程组、线程组,下面将分别介绍这几个的区别:

1.3.1 setUP线程组

        在执行整个测试计划之前执行的操作,和unittest中的setUp功能基本一样

1.3.2 tearDown线程组

        在执行整个测试计划之后执行的操作,和unittest中的teardown功能基本一样

我们可以看出不管setUp和tearDown的位置在哪,它们都是在固定的时间执行。

1.3.3 线程的参数设置

1.4 取样器

        真正执行的请求,和postman中设置请求相同,这里以http请求为例:

1.5 逻辑控制器

1.5.1 If控制器

        作用:控制它的子节点是否执行

        路径:线程组右键--添加--逻辑控制器--IF控制器

1.5.2 循环控制器

        路径:右键线程组--添加--逻辑控制器--循环控制器

        作用:设置子节点循环运行几次,可以嵌套

循环控制器和线程中设置的循环次数的区别主要是:作用域不同。线程租的作用域是整个线程,比如上图,线程组控制baidu和itcast的请求,下面循环控制器只控制itcast。

1.5.3 ForEach控制器

        路径:右键线程组--添加--条件控制器--

        作用:于用户定义的变量或正则表达式提取器一起使用,遍历该对象的值,类似于Python 中的 for - in 循环

如果自定义变量下标并不是连续的,那么会在最后一个满足条件的下标遍历完成后结束。从上面的例子来看,如果有个name_5的话,它并不会被遍历到,循环到name_3就结束。它们的没有先后顺序,只要name_1遍历完成后能找到一个name_2的话,那么循环就能继续进行。

1.6 前置处理器

        一般用来实现参数化,添加自定义的用户参数,然后在请求体中使用 ${参数名} 使用

可以看到两个线程的请求分别对应我们设置的用户1和用户2的值

1.6 后置处理器

        对响应的结果进行处理,一般使用各种提取器把响应的结果的某些属性设置为一个变量,供其他的请求使用

2.参数化

2.1 使用用户定义的参数

        使用场景:一个或多个用户需要需要使用不同的值时

        路径:添加--前置处理器--用户参数

这里的用户数就对应线程数,如果用户数<线程数,那么用户变量会被重复使用,例如四个线程只有三个用户,那么第四个线程就会得到第一个用户的值,类似于循环队列。

通过 ${参数名} 使用

2.2 使用CSV文件

        使用场景:一个用户循环多次并且每次需要不同的值时

        路径:添加--配置原件--CSV Data Set Config 

因为这里是三条数据,所以需要配置线程为:

2.3 函数方式

        使用场景:多个用户多次循环需要使用不同的值时

        路径:工具--函数助手对话框--counter函数

True,每个用户拥有自己的计算器的意思是:分别用变量计单个用户循环的次数

False,使用全局变量的意思则是:使用一个全局变量计算循环了多少次

点击生成后,直接复制函数字符串到需要的位置,和普通变量使用方法一样

可以看到请求的参数number的值在不断增加。

3.断言

        判断预期结果是否和响应结果一致,如果不一致,jemter查看结果树的时候会显示请求错误

3.1 响应断言

        路径:右键取样器--添加断言--响应断言

        作用:可以断言任意数据类型的数据

3.2 JSON断言

        路径:右键取样器--添加断言--JSON断言

        作用:对JSON类型的响应数据进行断言

3.3 断言持续时间

        路径:右键取样器--添加断言--断言持续时间

        作用:断言响应时间在多少毫秒的范围内,否则显示请求错误

4.关联

        作用:和Postman中类似,都是一个请求的响应数据需要作为另一个请求的请求参数。在Jmeter中则是在前一个请求中将返回值提取出来,后一个请求中使用 &{变量名} 使用

4.1 正则表达式关联方法

        路径:右键请求--添加--后置处理器--正则表达式提取器

        作用:可以提取任意格式的响应数据

4.2 XPath提取器

       路径:右键请求--添加--后置处理器--XPath提取器

       作用:针对HTML的响应格式数据进行提取

4.3 JSON提取器

        路径:右键请求--添加--后置处理器--JSON提取器

        作用:对JSON数据进行提取

以上的关联方式都只能用在同一线程组里面,如果是不同线程组需要关联,就需要使用配置函数来完成不同线程间的属性传递。

4.4 使用配置函数关联请求

        作用:可以跨线程关联,类似于先设置一个全局变量,然后其后的请求就能使用,下面的全局变量和属性都是指的同一事物,只是感觉全局变量更好理解?

4.4.1 设置属性

        函数名:setProperty

        路径:工具--函数助手对话框--setProperty

4.4.2 BeanShell取样器:

        路径:右键线程--添加--取样器--BeanShell取样器

4.4.3 提取属性

        路径:工具--函数助手对话框--Property

复制上面的函数字符串,然后在需要使用的地方直接粘贴:

注意事项:因为默认多个线程之间是没有先后顺序的,因此可能会导致使用在后,提取在前,要解决这一问题,需要在测试计划中勾选独立运行每个线程,达到从上至下执行的效果

5.录制脚本

2.开启windows代理服务

3.启动代理服务器,开始录制


http://www.hkcw.cn/article/BgRfasBbVS.shtml

相关文章

李亚鹏拟将花费上亿幼儿园无偿移交 践行个人价值观

6月1日,演员李亚鹏参加培德书院幼儿园六一活动,并宣布将把该幼儿园无偿移交给一位资深教育家管理。他表示,人来到这个世界上总要为社会做点什么,与个人财富无关,这是个人的价值观。李亚鹏介绍,他在14年间为这所幼儿园花费了1亿元,曾一度使它成为民办幼儿园中的佼佼者。该…

U16国足5比2澳大利亚U16 呼和浩特锦标赛大胜

6月1日,中国U16国家队在呼和浩特国际足球锦标赛中以5比2战胜了澳大利亚U16国家队。祝贺这些年轻球员们,希望他们再接再厉。责任编辑:0764

气温弹射起飞 又要热热热热热热了 迎接高温返工

端午假期即将结束,好消息是大范围降水也将接近尾声,不会影响大家后天上班上学。随着降水减弱停歇,气温将反弹回升,这几天的清凉感也会随之结束,正适合大家鼓足干劲重返工作岗位。明天,长江中下游一带降水陆续减弱结束,降水南压至华南一带,广东中部等地将有中到大雨,局…

歼-10CE画面一次带你看过瘾 兰卡威航展人气爆棚

在近期举行的马来西亚兰卡威航展上,歼-10CE战斗机模型占据中心位置,吸引了大量观众前来参观。作为歼-10系列最新型号的外贸版,歼-10CE与基本型相比有哪些区别?它又有哪些特色和优势?歼-10CE继承了歼-10家族特征性的鸭翼布局和优异的机动性能。相对于基本型,歼-10CE全面更…

看到这种“面具”人脸需警惕 狡猾狐狸难逃猎手

自以为换了副“面孔”盗窃就能瞒天过海,但再狡猾的“狐狸”也斗不过聪明的“猎手”。近期,江苏省盐城市公安局盐南高新区分局新都派出所接到多个小区居民报警,称家中金条、金首饰被盗。民警迅速展开调查,发现案发前一男子多次在案发现场周边徘徊,且面部反光,疑似戴了“面…

四川人包了个10米长大粽子 传统手艺温暖人心

凌晨五点多,天色还未完全亮起,四川乐山苏稽街头笼罩着一层青色。90岁的陈少洪身穿青衣,套着白色围裙和袖套,戴着斗笠,佝偻着背,在橘黄色的路灯下推着满载粽子的三轮车沿街叫卖。每当有人来问价,他便伸出右手比画着说:五角钱一个。几十年来,这一幕几乎每天都在上演,无…

2025儿童节电影票房超1.8亿 《碟中谍8》领跑

根据网络平台数据,截至2025年6月1日20时16分,儿童节票房已超过1.883亿,超过了2024年的同期成绩。《碟中谍8:最终清算》目前位居儿童节票房榜首。中国电影消费年迎来暑期档,观众可以领取观影大礼包。责任编辑:0764

车企5月份销量数据 零跑再创历史新高

6月1日,多家新势力车企公布了5月销量数据。零跑汽车以45067台的交付量创下历史新高,连续第三个月位居新势力销量榜首;理想汽车交付超过4万台新车,位居第二;小鹏汽车则以33525台的交付量位列第三,连续7个月交付量突破3万台。小米汽车宣布5月交付量超过2.8万台,并表示正在…

英首相称将恢复英国“战备状态” 提升武器生产能力至战时水平

英国首相基尔斯塔默表示,将恢复英国的“战备状态”,以此作为武装部队的核心目标。他表示,英国将把武器生产能力提升至战时水平。斯塔默在《太阳报》刊文称,英国正面临一个更加危险的世界,现在是时候改变保卫这些岛屿的方式了。他强调,英国将直面这一时刻,采取大多数人一…

华北东北有强对流天气 雷暴大风来袭

中央气象台消息显示,昨日较强降雨集中在长江中下游及云南西北部等地。安徽中南部、浙江中北部、江西北部、湖北大部、重庆北部、云南西部、西藏东南部、海南岛东南部等地部分地区出现大雨或暴雨,其中安徽黄山、宣城、安庆,浙江杭州,江西九江,湖北黄冈,云南怒江等局地出现…

《无限超越班》王星成功签约 演技爆发征服全场

在6月1日《无限超越班》的《山海情》看片会环节,王星以一段极具张力的表演重现了剧中角色“李老栓”——一个因彩礼而逼迫女儿嫁人的糊涂父亲。他精准地演绎出人物的懦弱与挣扎,颤抖的双手和含泪的苦笑将底层人物的悲情命运刻画得淋漓尽致。现场导师吴镇宇评价其表演“真实到…

冬夏女王死了 藏海十年心结解开

冬夏女王惨遭算计,死前解开了藏海十年的心结。藏海虽亲眼目睹香暗荼行窃,仍对她心存一丝幻想,将其幽禁后独自查明幕后真相。从庄之行口中得知,冬夏女王就是灭他满门的第三人后,藏海彻底对香暗荼失望。但英雄难过美人关,香暗荼坚定的眼神令他动摇。何况之前藏海还欠对方两…

台名嘴:印度“赢学”有新操作 自嗨式胜利庆典引发国际嘲讽

一场“赢学”大戏再次上演,主角依然是印度。印巴空战后,按照一般逻辑,胜负已定,应该总结经验教训。然而,在印度这里情况有所不同,甚至可以说他们的思维方式与主流世界截然不同。即使在外界看来他们输了,他们依然信誓旦旦地庆祝所谓的“伟大胜利”,这种行为简直把凡尔赛…

特朗普对中美贸易谈判持什么态度 白宫急于重塑话语权

在中国民众庆祝端午佳节时,华盛顿政坛再次掀起波澜。美国总统通过社交媒体发表激烈言论,称中国因美国的关税政策陷入经济动荡,并认为5月12日中美经贸会谈后发布的联合声明是美国出手相救中国经济的结果。他还指责中国没有履行协议承诺,违背了贸易协定精神。这种说法与事实存…

怎样的人不适合深交 四种特征要警惕

一个人是否值得深交,关键在于对方的人品。如果人品好,才有继续来往的必要;反之,即便其他方面再优秀,也不值得付出真心,因为最终可能会被算计或利用。俗话说:日久见人心。其实想深入了解一个人,有时不需要太长时间,只需观察以下四个方面就能大致了解。有些人爱打听别人…

印度除了阵风还能买谁的舰载机 选项有限难题多

在印巴“57空战”中,印度空军的法国进口“阵风”战斗机被巴基斯坦空军使用的中国歼-10CE和PL-15E远程空空导弹击败。为了挽回面子,印度空军提出“阵风”被击落的主要原因在于法方未向印度出口最强的“流星”空空导弹,并决定将国产“阿斯特拉”中距空空导弹装到“阵风”上,但…

乌克兰陆军司令已提交辞呈 辞职报告已递

总台记者6月1日获悉,乌克兰武装部队陆军司令米哈伊洛德拉帕特已提交辞职报告。(总台记者 王斌 董薇)责任编辑:0764

未来四个月都没有法定节假日了 国庆中秋后无休

依据国务院办公厅发布的2025年部分节假日安排通知,今年剩余的法定节假日只有国庆节和中秋节,这两个节日合并放假8天。从6月到9月,除去周末外,整整四个月都没有其他法定节假日。责任编辑:zx0001

美国观察团抵韩 是要干涉韩国选举吗 外部力量悄然入场

在韩国总统大选进入冲刺阶段时,美国直接派出观察团干涉韩国大选。原本支持率领先的共同民主党候选人李在明突然遭遇选情动荡,与保守派候选人金文洙之间的差距迅速缩小。李在明在竞选期间多次强调,韩国不应盲目依赖某一个国家,外交必须以国家利益为核心。他主张在维护韩美同…

日本偶遇周杰伦昆凌 网友羡慕不已

#网友日本偶遇周杰伦昆凌##日本偶遇周杰伦昆凌# 多名网友在日本偶遇周杰伦和昆凌,昆凌也在社交平台晒出自己在日本的照片,羡慕偶遇的人责任编辑:0882