此文章作为工作中用到的jmeter接口测试相关内容简述,方便日后查阅参考,如有理解描述有误之处,欢迎指出。
首先Jmeter环境准备网上有很多教程,在此不多做赘述;
1.接口简述
接口可理解为从客户端到服务器的通道,客户端发送请求到服务器是通过接口实现的;
2.抓包
在无接口文档或文档描述清晰度不够,验证请求入参及相应信息时,web端可直接在浏览器使用F12查看network信息;需勾选Presever log选项;抓取页面所有的HTTP、HTTPS的请求;pc客户端或app可借助Charles、fiddle等相关抓包工具获取相应信息;
3.接口测试实例
以登录为例,输入用户名、密码,完成登录,跳转首页
测试过程中有些数据经常发生变化,如登录后需要验证状态sessionID或token,测试时就需通过关联(第二个请求需要的参数需要从第一个请求返回数据中获取)继续后续测试,不同用户或不同时间相应值也不同,也涉及
1⃣️jmeter测试计划中(以汉化版讲解)创建线程组 PS:线程组中可以创建多个请求
2⃣️线程组右键->添加->Sampler->HTTP请求(登录页) 。配置相应登录页面信息,域名或IP、端口号、协议(HTTP、HTTPS)、方法(get、post等)、路径,添加参数名及相应值(账号、密码)
PS:配置密码参数时,需按照实际项目需要,数值配置明文或秘文 如MD5加密或加盐形式,咨询相应研发人员即可
3⃣️线程组右键->添加->监听器->查看结果树(常用)
4⃣️再从线程组右键->添加->Sampler->HTTP请求(首页)。配置相应页面信息。添加参数名及相应值(sessionID或token)
此时jmeter运行就可正常验证相应接口情况
sessionID或token发生变化,或参数化执行接口自动化时,使用关联方法
5⃣️正则表达式:登录(http请求)右键->添加->后置处理器->正则表达式提取器 PS:引用名称填写SID或简明可理解的(自定义),正则表达式方式:sid=(.+?);path,模版:$1$,$2$(根据实际情况取几个),匹配数字一般填写1 PS:“要检查的相应字段”默认为主题,需改选信息头
6⃣️首页引用正则表达式:参数值 ${sid}
7⃣️添加断言,验证是否正确跳转首页。首页右键->添加->断言响应断言 可直接验证相应字符信息,如跳转页面相应的汉字“我的”等
测试多条数据登录请求或并发压测时,用参数化
8⃣️再从线程组右键->添加->配置元件->CSV Data(常用) PS:从文件自动提取登录信息,电脑创建TXT或CSV格式文件,导入或编写相应测试信息
Filename:本地文件路径
File encoding(编码):UTF-8
Variable(变量):变量名 如name,pwd
9⃣️登录(http请求)参数值引用变量${name,pwd}
不出意外的话,就可正常进行接口测试了...