最近有个分析反馈,自己在面试的时候,遇到一个 jmeter 题目,要我帮忙看下,题目如下:

  进入http://www.weather.com.cn/网站,用jmeter编写脚本实现如下操作(下列要求在同一个测试脚本) :
(1)编写获取北京天气紫外线、穿衣、洗车、感冒指数的压测脚本,要求将城市参数化10个(城市名字自定义),将城
市的当前实时天气>10度作为断言,并将天气数字输出打印到日志,
设置200用户并发持续运行3天(2)编写获取周边景点的脚本,并景点返回的个数作为断言,并将各景点名字输出打印到日志,
设置200用户并发持续运行10分钟

第一个题目

粗看,其实没有什么难度,但是当你去访问了这个网站,然后看到网站数据结构时,才知道并不是那么简单。

当你去访问这个网站的时候,你会发现,这个网站并没有直接提供接口。

没有提供接口,哪怎么做呢?

抓包!是个不错的选择,所以,这个题目,首先考察的是:

你是否懂得用抓包工具住包 ?

通过抓包,你会看到有一个类似这样:
http://d1.weather.com.cn/weather_index/101010100.html?=1595579781357 的地址,返回了我们第一问中的北京天气信息。看到这样一个地址,你会找出哪些信息?101010100 这个应该要想到,这个应该是城市代码,而"="这个之后的值,应该是一个时间戳。这就在考察:你对于数据的敏感度;接下来,我们看下这个接口返回的消息体,数据类似“var cityDZ ={"weatherinfo":{xxxx};xxxxxxxxx}” 乍一看,还以为是 JSON 格式,但又不像,仔细看响应头的 Content-Type,你又会发现是‘text/html' 文本类型。也就是说,题目中要求获取的天气、紫外线...... 等等信息,不能简单一次提取,需要用到正则,所以这个又在考察:你对正则提取器的使用;题目要求获取多个信息,一直用所有的都用正则可以吗?可以,但是你如果所有的信息都通过正则提取器提取,那也从侧面反映你技术不咋滴。因为那是干劳动力的活,其实是在隐式考察:你对正则提取器和 JSON 提取器以及多提取器一起灵活使用的能力。把一个文本内容,通过正则提取器提取出一段 JSON,然后再用 JSON 提取器提取正则式结果中想要数据,这才是他的真正的目的。然后题目又来一个难题,实时天气大于 10 度作为断言。是不是一下又楞了,不知道怎么搞了?提取实时天气,这个可以提取出来,难点就在“大于 10 度”这个要怎么做呢?这又在考察:你对于断言中大小断言掌握情况, 首先我们要知道应该用什么断言?响应断言,没有比较大小功能。比较断言,是两个特定的比较,也不适用。那就只有“大小断言”这一个。题目中还有,要参数化 10 个城市,别小看这个参数化,为什么不是八个,不是九个,却刚好十个?这其实也隐藏了一个点,这个又在考察:你对于循环控制和 foreach 控制器的使用,当然这个点,可以取巧,用用户自定义 10 个城市,然后再用 foreach 控制器能简单解决。题目中,还要求“将天气数字输出打印到日志”,因为 jmeter 本身没有直接写参数到日志的元件,需要用函数或 Java 代码来实现,所以这个又在考察:你对 jmeter 函数或 Java 脚本的使用能力;至于后面的“设置 200 个用户持续运行 3 天”这个就非常简单了,考察:线程组进行性能场景的设置,这个可以用普通的线程组就能实现,当然,也可以使用其他的线程组。

看似一个简单的 jmeter 题目,只要有一定的 jmeter 使用经验,这个题目思路不复杂,但是难点在具体脚本的写法。下面把脚本截图,仅供参考。

  • foreach 控制器

  • 获取气温

  • 查看接口响应数据

  • 提取所有指数

  • 提取题目所需要的指数

  • 获取城市天气

  • 获取城市温度

  • 获取温度数值

  • 断言温度数值

  • 日志显示温度

  • 用户自定义变量

第二个题目

看题干,就知道比第一个要简单,第一个题目做出来了,第二个马上就能用上上面的技能。但是,却埋下了一个难题,那就是获取景点个数,作为断言。为什么说还难点呢?仔细看过接口响应文本,就会发现,又不是简单的 JSON。数据是:var data=({key1:{xxx}},{key2:{xxx}},{key3:{xxx}})。如果不懂得 JSON 的相对提取法,这个题目就变得异常复杂

下面是解题截图,仅供参考:

  • 获取周边景点

  • 查看接口响应数据

  • 正则提取响应数据

  • 获取景点名称

  • 景点数量断言

  • foreach 循环

  • 日志显示景点名称

好了,一个看似简单的 jmeter 面试题,却隐藏了这么多考察项,你是否都掌握了呢?

高频面试题解析:jmeter 面试题剖析实战相关推荐

  1. Nginx负载均衡策略有哪些?知识点总结+面试题解析

    前言 看日期,今天都是4月了,这春招也差不多进入尾声了. 近期任有不少朋友都在找工作,很多人开始抱怨,工作可真难找啊!身边不少朋友问我咋搞呀,秋招都要结束了,工作还没着落呢-额-这个-今年是有点难啊. ...

  2. 专栏丨MySQL 高频面试题解析

    推荐墨天轮专栏<MySQL 高频面试题解析>,共8篇文章,前4篇由墨天轮用户 无为 完成,后4篇由墨天轮用户 马听 完成,文稿互相审核.总结了两位作者在这些年自己或者朋友遇到过的高频面试题 ...

  3. Java高频面试题解析,直戳面试官痛点,多家互联网大厂Offer等你拿

    前言 回顾多灾多难的2021年,新冠疫情持续肆虐全球,疫情确诊曲线起伏跌宕,由此引发一系列事件:经济萎缩. 财政刺激.疫苗研发.经济复苏等等.无不牵动着市场的神经."后疫情时代"将 ...

  4. 闭关30天,献上【Java一线大厂高岗面试题解析合集】,冲刺金九银十!

    概述 时间不等人,2022年转眼就要过去大半了,春招在疫情中度过,不知有多少人还在惋惜... 马上又是秋招的高峰"金九银十",估计现在就已经有不少的程序猿(媛)朋友早就踏上提前批之 ...

  5. 闭关28天,奉上[Java一线大厂高岗面试题解析合集],备战金九银十

    前言 时间不等人,2022年转眼就要过去大半了,春招在疫情中度过,不知有多少人还在惋惜... 马上又是秋招的高峰"金九银十",估计现在就已经有不少的程序猿(媛)朋友早就踏上提前批之 ...

  6. 万字长文,冲刺备战金九银十,奉上[Java一线大厂高岗面试题解析合集]

    时间不等人,2022年转眼就要过去大半了,春招在疫情中度过,不知有多少人还在惋惜... 马上又是秋招的高峰"金九银十",估计现在就已经有不少的程序猿(媛)朋友早就踏上提前批之路了吧 ...

  7. 这34道接口测试 Jmeter面试题,你会吗?

    接口测试 & Jmeter面试题 一.接口测试 1.接口测试流程 1.首先是从开发那里拿到API接口文档,了解接口业务.包括接口地址.请求方式,入参.出参,token鉴权,返回格式等信息. 2 ...

  8. 2020年电工(高级)证考试题库及电工(高级)试题解析

    题库来源:安全生产模拟考试一点通公众号小程序 2020年电工(高级)证考试题库及电工(高级)试题解析是由公众号安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员 ...

  9. 深度解析Objective-C笔试题

    2011-08-11 17:39 佚名 互联网 字号:T | T 本文介绍的是Objective-C笔试题,先来问一个,为什么很多内置类如UITableViewController的delegate属 ...

  10. 网络工程师历年试题解析(PDF文字版)2004-2009

    网络工程师历年试题解析(PDF文字 版)2004-2009 转载于:https://www.cnblogs.com/gavinhughhu/archive/2010/04/08/1706929.htm ...

最新文章

  1. Linux内核探讨-- 第一章
  2. opengl android 线宽
  3. codeforces 721E Road to Home
  4. 经典C语言程序100例之六八
  5. 历史上唯独倒闭的两家银行,看看他们是如何破产的
  6. c语言成绩转换绩点,如何将平时成绩转化为GPA成绩?
  7. 从“跳一跳”来看微信小程序的未来
  8. 聪明贝塔(Smart Beta)
  9. cmd快捷键和常用命令
  10. 数学建模 matlab MATLAB机器学习 分类方法 支持向量机分类 乳腺癌的诊断
  11. 总体参数的假设检验 R
  12. 喝咖啡的好处和坏处及注意事项
  13. 世界银行提供10亿美元贷款助印度发展太阳能
  14. 解读国内外激光雷达技术差异
  15. 怎么把苹果手机通讯录导入华为手机_怎么恢复手机通讯录?最完整手机通讯录恢复方法大公开...
  16. 强化学习(Reinforcement Learning)入门学习--01
  17. 锂电池充放电曲线、设置充电电流、检测TP4054的3种充电状态
  18. React.js 学习
  19. 韦丹塔和富士康投资200亿美元兴建半导体工厂;精密陶瓷3D打印中日合资企业微瓷公司在景德镇成立 | 美通企业日报...
  20. 学习笔记0521----mysql管理

热门文章

  1. 软件测试 vs 软件实施,哪个工作好?
  2. 解决方案:awesomium web-browser frameworkThis View has crashed!
  3. android抓socket数据包,sokit-1.3 CommMonitor 串行端口监视精灵 友善串口调试助手
  4. bodymovin导出没有html5,AE导出Web动画插件Bodymovin 5.7.6+使用教程 For CC 2014 – CC 2020...
  5. 专访数据挖掘领头人韩家炜教授:不要迷信权威,做学问要秉承「三个真实」...
  6. 伴随 XP 系统消逝的,还有那张蓝天白云草原的经典壁纸
  7. Python植物大战僵尸源码分享
  8. 实现财务自由 之 不可不知的常用财务网站或应用软件
  9. 增选54位院士,京东副总裁梅涛等18位华人入选!
  10. kuangbin棋盘问题