一、swagger在线接口规范
1. 简介
swagger是一个java第三方jar,集成到项后,可以通过注解,对接口代码进行描述,启动项目后会自动根据代码和注解生成在线实时接口规范,同事还有测试功能。
2. swagger地址
http://qa.guoyasoft.com:8080/swagger-ui.html
3.swagger内容
序号 | 内容 | 描述 |
---|---|---|
1 | 接口地址 | swagger的访问地址就是接口地址 |
2 | 分组列表 | 口很多的时候分组展现 |
3 | controller列表 | 接口发布类,一个类可以有多个接口测试 |
4 | 接口列表 | 个controller发布的接口列表 |
5 | 接口规范 | 每个接口的响应报文,请求报文,接口描述等 |
6 | 测试功能 | swagger本身具备接口的能力 |
7 | 测试结构 | 提示请求信息,响应信息等,类似jmeter查看结果树 |
4. 测试接口
- fiddler抓包
- 填键值对的参数
- 填json的参数
- 发送请求
- 查看结果
5. 参数类型 parameter type
类型 | 描述 |
---|---|
path | 资源路径带参数 |
query | get请求的键值对参数 |
body | post请求正文 |
body类型
细项 | 用途 |
---|---|
model | 描述字段 |
model Schems | 提供报文模板,点击自动填写 |
5.1 path类型
image.png
5.2 query类型
image.png
5.3 body 类型
image.png
二、使用jmeter进行进口测试
1. 业务
注册
登录
修改密码
冻结
解冻
image.png
2. 接口规范
- 规范类型(seagger)
-
接口规范内容
协议
image.png
请求方法
路径
image.png 请求:请求头 格式(utf-8) image.png
,请求正文格式(键值对,json,xml)
image.png
-
响应
响应报文,接口业务响应码(9999 失败)
image.png
(0000 成功)
image.png
- http响应状态码
200 | 302 | 400 | 401 | 403 | 404 | 500 |
---|
3. 数据
- 数据库
dev开发库
qa测试库:测试使用,数据配置信息
ip | 账号 | 密码 | 端口号 | 数据实例名 |
---|
pro生产库
image.png
- 表
用于表 | 客户详情 | 客户资金表 |
---|---|---|
t_user_user | t_cst_customer | t_cst_account |
4. 测试工具
- jmeter
Test Plan (测试计划):
用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的
Threads (Users)线程 用户
setup thread group
一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
)
teardown thread group.
一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。
thread group(线程组).
这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
截图:
image.png
取样器(sample)
取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler ,如 HTTP Request Sampler 、 FTP Request Sample 、TCP Request Sample 、JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。(在jmeter 的所有sampler 中
逻辑控制器(Logic Controller)
逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的,如 事务控制器、吞吐量控制器。
配置元件(Config Element)
配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池(Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改Sampler的默认数据。(例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的cookie 进行管理)
定时器(Timer)
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
前置处理器(Per Processors)
用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。
后置处理器(Post Processors)
用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。
断言(Assertions)
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
监听器(Listener)
这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 图行结果、查看结果树、聚合报告。都是我们经常用到的元件。
函数助手
Random 随机数字
Randomdate 随机日期
Randomdate 随机字符串
Urlencode url字节码转换
Urldecode url字节码转换
Testplanname 脚本名称
Log 打印日志至控制台
- 测试思路
编写接口测试用例
1.搭环境
2.搭框架(目录结构)
功能测试(简单共安置器,注册,正常流/异常流)
流程测试
运维工具
测试性能
5. 测试用例
编号 | url | 请求方式 | 路径 | 备注 | 参数 | 接口返还码 |
---|
网友评论