Jmeter+Ant+Git/SVN+Jenkins实现持续集成接口测试,一文精通(一)

前言

Jmeter,Postman一些基本大家相比都懂。那么真实在项目中去使用,又是如何使用的呢?本文将一文详解jmeter接口测试


一、接口测试分类

二、目前接口架构设计

三、市面上的接口测试工具

四、Jmeter简介,安装,环境变量的配置。

五、Jmeter目录介绍

六、Jmeter常用组件

七、Jmeter执行接口测试

八、总结


一、接口测试分类

内部接口:测试被测系统各个子模块之间的接口,或者被测系统提供给内部系统使用的接口。

外部接口:

1.被测系统调用外部的接口。

2.系统对外提供的接口。

接口测试重点:检查接口参数传递的正确性,接口功能的正确性,输出结果的正确性,以及对各种异常情况的容错处理,以及权限控制,

分页,调用次数的限制。


二、目前接口架构设计

1.基于SOAP架构。基于XML规范。基于WebSerice协议。特点:接口地址wsdl结尾。

2.基于RPC架构,基于dubbo协议,thrift协议。SpringCloud微服务。

3.基于RestFul架构,基于json规范。基于http协议。
RestFul规则:

接口地址:http://127.0.0.1/user,get(查询用户),post(新增用户),put(修改用户),delete(删除用户)

Json数据格式:只有两种数据类型。

键值对:{key:value}

数组:arry1,arry2

http协议详解结构:

请求:请求行,请求头,请求正文

请求行

POST http://xxx

请求头

Host: xxx(请求主机)

Connection: keep-alive(保存活跃)

Content-Length: 112(内容长度)

Accept: application/json, text/javascript, */*; q=0.01(数据格式)

X-Requested-With: XMLHttpRequest(异步请求)

User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124

Safari/537.36(客户端类型)

Content-Type: application/x-www-form-urlencoded; charset=UTF-8(内容类型)

Origin: http://xxx

Referer: http://xxx

Accept-Encoding: gzip, deflate

Accept-Language: zh-CN,zh;q=0.9

Cookie: csrf_token=xxx; (Cookie信息,客户端发送给服务器的Cookie,从第1-N次)

请求正文

username=xxx&password=xxx&backurl=httpxxx


响应:响应行,响应头,响应正文

响应行

HTTP/1.1 200 OK

响应头

Server: nginx

Date: Tue, 24 Aug 2021 12:23:12 GMT

Content-Type: text/html; charset=UTF-8

Transfer-Encoding: chunked

Connection: keep-alive

X-Powered-By: PHP/5.6.36

Set-Cookie: (服务器发送给客户端的Cookie,只在第一次请求的时候)

Content-Encoding: gzip

Vary: Accept-Encoding

响应正文

xxx --响应正文


三、市面上的接口测试工具

Jmeter+Ant+Git+Jenkins

Postman+Newman+Git+Jenkins

soapui,apipost,fildder,charles


四、Jmeter简介,安装,环境变量的配置。

基于Java语言压力测试工具,可以做接口测试,也可以做性能测试。

安装:JDK1.8以上,配置环境变量。


五、Jmeter目录介绍

  1. backups:脚本备份目录。格式JMX
  2. bin目录:存放Jmeter的启动脚本,配置文件。模块文件。
  3. jmeter.bat 启动Jmeter
  4. jmeter.properties 核心配置文件。
  5. docs:离线帮助文档。
  6. extras:存放与第三方的集成构建文件。集成Ant,Jenkins。
  7. lib目录:存放jar包。
  8. licensce:许可证文件。

六、Jmeter常用组件

  1. 测试计划。:起点。所有组件的容器。
  2. 线程组:代表一定数量的用户。
  3. 取样器:像服务器发送请求的最小单元。
  4. 逻辑控制器:结合取样器实现一些复杂的逻辑。
  5. 前置处理器:在请求之前的工作
  6. 后置处理器:在请求之后的工作
  7. 断言:用于判断请求是否成功。
  8. 定时器:负责在请求之间的延迟间隔。固定,高斯,随机
  9. 配置元件:配置信息
  10. 监听器:负责收集结果。

顺序:非常重要

测试计划》线程组》配置元件》前置处理器》定时器》取样器(请求)》后置处理器》断言》监听器。
作用域:非常重要

必须组件:测试计划,线程组,取样器

辅助组件:除了必须组件外
作用于父组件,同级组件,以及同级组件下的所有子组件。


七、Jmeter执行接口测试

1.拿到api接口文档(Fiddler),熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码。

2.编写接口测试用例。

测试思路:

正例:输入正常入参,查看接口成功返回。

反例:

鉴权:空,错误,鉴权过期,鉴权次数限制........

参数:空,类型错误,长度错误,错误码的覆盖。

其他:黑名单、分页。

3.使用接口测试工具执行。

4.Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。通过电子邮件发送。


八、总结

本文最终目的为Jmeter+Ant+Git+Jenkins实现持续集成输出接口测试报告。并通过电子邮件发送。

首先先了解熟悉jmeter结构以及接口测试流程,具体jmeter使用方法&持续集成见(二)(三)篇介绍

相关推荐
heimeiyingwang1 天前
【CI/CD·Actions篇】进阶实战:复合 Action 开发与 Marketplace 利用
ci/cd
童槿顏丶1 天前
Jenkins部署(Docker)
java·docker·jenkins
福如意如我心意1 天前
git清除仓库敏感文件并同步至远端的操作
git
Brilliantwxx1 天前
【Linux】 开发|Git 版本控制与 gdb/cgdb 调试
linux·笔记·git
智脑API2 天前
Claude Code sandbox.failIfUnavailable 怎么用?沙箱启动失败、拒绝降级和 CI 安全
安全·ci/cd
.Hypocritical.2 天前
Git 全套实操|配置 /.gitignore/ 分支合并 / 冲突解决 /git stash 完整教程
git
来日方长。。。。long2 天前
Hermes Agent橙皮书共读|第三篇:保姆级实战部署|本地/VPS从零搭建Hermes
ide·git·hermes
其实防守也摸鱼2 天前
VS Code Git 工作树:解锁多分支并行开发新体验
数据库·git·安全·oracle·架构·自动化
AmyLin_20012 天前
AI 如何做出数学发现【5】- AI 数学证明怎样做单元测试:从“看起来顺”到可否证工作流
人工智能·单元测试·openai·数学推理·符号计算·ai推理·反例生成