Jmeter接口测试实例
此文章作为工作中用到的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}
不出意外的话,就可正常进行接口测试了...
Jmeter接口测试实例的更多相关文章
- http接口测试——Jmeter接口测试实例讲解
摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助 一.测试需求描述 1. ...
- jmeter接口测试实例7-关联
Jmeter实例7:关联(牛刀小试中登录.金币充值接口) 必须从网上下载这个插件放在lib的ext目录下才可以用,在登录接口添加此插件 Sign是变量名,其实就是下一步充值金币要取的值:路径是从哪里取 ...
- jmeter接口测试实例6-注册(参数化)
Jmeter实例6:注册(参数化) 选中http协议,添加CSV Data set Config 准备参数中要使用到的值,存放到txt中,如果一个里面有多个参数,中间用,号分隔: 选中CSV元件,fi ...
- jmeter接口测试实例5-文件上传
Jmeter实例5:文件上传 添加http协议.添加IP.路径.方法.选择files upload文件名称tab,输入绝对路径,参数名称,运行: 上传成功
- jmeter接口测试实例4-学生金币充值
Jmeter实例4:学生金币充值 添加http协议—添加IP.路径.方法,添加cookie管理器,察看结果树如下图所示 输入管理员名称:niuhanyang,输入值,域,如下图所示: 输入必填参数,运 ...
- Jmeter接口测试实例3-登录
Jmeter实例3:登录 添加http协议—添加IP.路径.方法,察看结果树,运行 登录成功
- Jmeter接口测试实例2-获取所有学生信息
Jmeter实例2:获取所有学生信息 添加http协议—添加IP.路径.方法,添加信息头管理器,察看结果树,运行 如下图所示,响应结果中获取到所有学生信息
- jmeter接口测试实例1-添加学生信息
jmeter实例1:添加学生信息 进入jmeter,添加线程组改名称为添加学生信息(为了好区分接口),添加http请求,输入IP,方法,路径,在body data中输入json串,同上面postman ...
- Jmeter接口测试实例图文示例
以getObjectByCode接口为例,用jmeter2.13来进行接口测试. 测试前准备: 测试工具及版本:jmeter 2.13 r1665067(须包含__MD5函数) 示例接口:8.1根据单 ...
随机推荐
- 正则表达式-----re库
1.正则表达式的概念 a.为什么要用正则? 用字符串匹配也是可以的: startswith() 方法用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False.如果参数 be ...
- vue中使用vue-quill-editor及上传图片到自己服务器
第一步,下载依赖 cnpm install vue-quill-editor --save 第二步,再main.js里引入组件(我这里是全局注册) // 富文本编辑器 import VueQuillE ...
- PostMessage发送WM_CLOSE消息,实现关闭任意程序
#include <Windows.h> #include <tchar.h> int WINAPI _tWinMain(HINSTANCE hInstance, HINSTA ...
- java.lang.IllegalAccessError: org.apache.commons.dbcp.DelegatingPreparedStatement.isClosed()Z
做spring和mybaits整合时出现的错误,让这个问题困扰了一早上,通过查资料终于把这个问题解决了 具体问题描述: java.lang.IllegalAccessError: org.apache ...
- 在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the python-tk package
在绘图的时候import matplotlib.pyplot as plt报错:ImportError: No module named '_tkinter', please install the ...
- 在Ubuntu16.04中python环境下实现tab键补全
1.编写tab.py的代码: 1 #!/usr/bin/env python 2 # python startup file 3 import sys 4 import readline 5 impo ...
- Keepalived配置文件详解
global_defs { router_id LVS_$prio #节点唯一标识,通常为hostname } local_address_group laddr_g1 { ${lvs_node} # ...
- [转载]Oracle日期周详解IW
1 ORACLE中周相关知识描述 1.1 日期格式化函数 TO_CHAR(X [,FORMAT]):将X按FORMAT格式转换成字符串.X是一个日期,FORMAT是一个规定了X采用 ...
- tensorflow学习笔记2:c++程序静态链接tensorflow库加载模型文件
首先需要搞定tensorflow c++库,搜了一遍没有找到现成的包,于是下载tensorflow的源码开始编译: tensorflow的contrib中有一个makefile项目,极大的简化的接下来 ...
- PostgreSql之在group by查询下拼接列字符串
首先创建group_concat聚集函数: CREATE AGGREGATE group_concat(anyelement) ( sfunc = array_append, -- 每行的操作函数,将 ...