今天,我突然又收到了勤奋好学的小学妹发来的信息,我二话不说就打开了信息开始跟学妹聊天。果然,又是帮她找错的一天。
不过,往往收到的都是完全空的,这让我不得不先修改好错误再帮小学妹看代码。
渐渐地,面对越来越长代码的参数获取已经力不从心,他想请你帮助他写一个小程序,来实现Http请求模拟和响应参数获取。
同一文集
Http请求模拟
1、新建线程组
操作:鼠标右键测试计划 -> 添加 -> Threads(Users) -> 线程组 -> 修改测试计划名称
新建线程组
2、添加取样器HTTP请求
操作:鼠标右键线程组 -> 添加 -> Sampler -> HTTP请求 -> 填写请求参数
添加取样器
请求参数
3、开始Http请求
a. 添加察看结果树监听器,方便查看请求结果
操作:**鼠标右键线程组 -> 添加 -> 监听器 -> 察看结果树
察看结果树
b. 点击**工具栏上单击启动按钮(绿色箭头)**启动测试计划
开始验证
PS:响应数据默认显示格式为Text,可切换为JSON Path Tester格式
切换格式
JSON Path Tester
响应参数获取
之所以需要获取响应参数,主要是因为常常有这样的需求,要求将上一个接口的返回值作为下一个接口的请求参数。举个栗子:获取即将上映电影中第一部电影的条目信息,这里我们需要完成两个步骤:
- 获取即将上映电影中的第一部电影的id,接口地址:https://api.douban.com/v2/movie/coming_soon?count=2
- 得到id后,请求接口获取电影条目信息,接口地址:http://api.douban.com/v2/movie/subject/${id}
接口返回值
1、添加后置处理器JSON Extractor
操作:将鼠标放置“获取即将上映电影”的HTTP请求上,并按右键 -> 添加 -> 后置处理器 -> JSON Extractor -> 填入变量名等信息
添加后置处理器
变量名等信息填写
2、添加取样器HTTP请求获取电影条目信息及参数使用
获取电影条目信息
3、启动测试计划
在“察看结果树”中可以看到,获取电影条目信息的HTTP请求中,请求参数正确。同时也得要正确的响应参数。
请求参数
响应参数
PS:如果需要多变量取值的话,可在JSON Extractor的配置中通过分号(;)将多个变量名分开。
需要注意的是,多个变量名的话,还需要填写Default Vaules,不然启动测试计划后会找不到变量,导致请求失败。
笔者这里是获取id和year两个变量,设置默认值为0和0,这个可随意设置,影响不大。
多变量取值
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的,都可以加入我们644956177。群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!