Jmeter综合运用 之 接口测试
Jmeter用的最多的就是做接口和性能测试了,着实比较好用,今天给大家分享下如何利用Jmeter做接口测试。
在做接口测试之前,我们起码需要了解:
1、接口涉及的业务
2、接口的基本信息:访问地址、传值方式(Post 或 Get)、协议类型、域名或IP、端口、参数
3、接口参数是否加密或者有其他处理加工
很多时候,可能因为各种原因,测试人员是得到不到全面完整的接口文档的,那么这个时候,我需要主动的与开发人员索要或者自己获取(可以采用Fiddler 来抓包)。
下面以一个简单的项目为列:
业务介绍:验证客户登录后获取到相应订单数据。
涉及接口:登录接口、获取订单数据接口(其中参数采用了MD5加密)
直接贴上我的列子,一一给大家介绍:

一、HTTP信息头管理器
这是请求的一些规则,有些接口是必须加这些规则才能通过的。那么我么如何知道这些规则,可以问开发,或者浏览器F12或者抓包工具都可以查看到


二、公共配置和环境判断
这个可以忽略,主要是为了方便切换环境的,因为一般我们在测试环境验证后,还会去UAT或生产环境验证,其域名或IP是不一样的。


三、线程组
线程组里包括 :
CSV Data Set Config :用来存放多个不同的客户登录信息
计数器 :主要是用来方便查看执行了多少个客户(可以忽略),
事务控制器:因为登录和获取订单 对客户操作来说是一个步骤,因此放到事务控制器中,其下包括 登录、获取订单 两个样例
两个样例:登录、获取订单,且登录成功后,才执行获取订单 样例
结果观察树:观察结果
1、CSV Data Set Config


2、计数器

3、事务控制器


4、事务控制器下的样例
样例下面包括:前置处理器、后置处理器、断言

4.1、前置处理器
这里的前置处理器主要处理参数MD5加密、获取时间戳

4.2、后置处理器
这里主要是获取token,当然也可以用正则表达式 都可以

4.3、断言
如果没有找到匹配,则结果树中是红色

4.4、判断是否正确
登录成功了,才能获取订单数据

4.5、获取用户订单数据
同登录样例
5、查看结果树

到这里,脚本就完了,csv文件中可以配置很多客户,在线程组的设置中,设置循环次数,就会循环读取CSV文件中的信息,每次读一行。
大家可以根据自身的需求来做,但是基本的接口验证就是这样的。MD5加密也可以使用java的jar包。
Jmeter综合运用 之 接口测试的更多相关文章
- 用Jmeter+Badboy+Fiddler做接口测试
用Jmeter+Badboy+Fiddler做接口测试 2016-12-05 目录: 1 简介2 Badboy录制3 Jmeter打开Badboy脚本4 用Fiddler抓请求,补充完善脚本5 测试中 ...
- jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)
jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...
- 【NO.9】jmeter - 一个完整的接口测试的脚本
使用Jmeter对一个接口地址或者一个页面地址执行N次请求,下面来说说怎么建立一个测试脚本(也称为”测试计划”). 1. 运行Jmeter.bat 双击"Jmeter.bat"文件,稍等片刻后J ...
- jmeter+maven+jenkins自动化接口测试(下)
maven+jmeter已经写好了,可以通过maven来执行jmeter的接口测试脚本,怎样实现定时执行测试并发送报告邮件就需要通过jenkins了(jmeter或者testng也可以结合不同的邮件j ...
- jmeter+maven+jenkins自动化接口测试(上)
代码已上传git(包括调试的jmx,jmeter相关文件等):https://gitlab.com/yinzhenzhi/jmeterandmaven 目的:现在很多人都在做自动化接口的平台,我也正在 ...
- Jmeter压力测试和接口测试
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
- Jmeter实现webservice的接口测试
前提条件 测试的URL:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx 测试接口:getSupportCityString 获取城市的编码:htt ...
- 使用fiddler和jmeter进行简单的接口测试。
初学接口测试,以下内容是记录首次使用fiddler和jmeter进行接口测试的步骤,可能步骤有点繁琐,如果有不对的地方,欢迎大家指正. 准备活动: 1.打开fiddler,打开fiddler以后会自动 ...
- Jmeter微信小程序接口测试
最近公司新项目组开发一款微信小程序电商平台,为了更好保证产品质量,因此提出了需要进行接口测试. 从接口本身来讲,对其测试与其他项目应该是一样的.所以不难理解,我们要对小程序的接口测试需要准备的 材料有 ...
随机推荐
- python_并发编程——进程池
1.进程池 from multiprocessing import Pool def func(n): for i in range(10): print(n+1) if __name__ == '_ ...
- rm -rf修改为mv命令的脚本
使用mv命令代替 rm命令,将文件移动到一个垃圾箱文件夹中,并记录删除日志. PARA_CNT=$# TRASH_DIR="/main/.rm_trash/files" for i ...
- asp.net mvc(模式)和三层架构(BLL、DAL、Model)的联系与区别 转载自:http://blog.csdn.net/luoyeyu1989/article/details/8275866
首先,MVC和三层架构,是不一样的. 三层架构中,DAL(数据访问层).BLL(业务逻辑层).WEB层各司其职,意在职责分离. MVC是 Model-View-Controller,严格说这三个加起来 ...
- 使用math中的hypot实现向量
from math import hypot class Vector: def __init__(self,x=0,y=0): self.x = x self.y = y def __repr__( ...
- 通过德鲁伊druid给系统增加监控
系统在线上运行了一段时间后,比如一年半载的,我们发现系统可能存在某些问题,比如执行系统变慢了,比如某些spring的bean无法监控各种调用情况. 触发到db的各种执行情况,这个时候,我们就需要一个工 ...
- 12、Spring Boot 2.x 集成 MongoDB
1.12 Spring Boot 2.x 集成 MongoDB 完整源码: Spring-Boot-Demos
- vs 2017 无法安装任何 nuget package,提示“库没有注册。。。”
vs 2017 无法安装任何 nuget package,提示“库没有注册(异常来自 HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED))” 各种百度谷歌都没有 ...
- php MySQL 查询数据
以下为在MySQL数据库中查询数据通用的 SELECT 语法: SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT ...
- SQL Server遇到的错误和有用的tools
1.The target principal name is incorrect. Cannot generate SSPI context. 检查IIS的profile,可能是密码错误 2.The ...
- idea快捷方式1
Ctrl+Alt+O 优化导入的类和包 Alt+Insert 生成代码(如get,set方法,构造函数等) 或者右键(Generate) fori/sout/psvm + Tab Ctrl+Alt ...