一、接口测试分类

内部接口

外部接口--被测系统调用外部

    --系统对外部提供的接口

接口测试重点:接口参数传递的正确性、接口功能的正确性、输出结果正确性、各种异常容错处理、权限控制、分页、调用次数限制

二、目前接口架构设计

1.SOAP架构 xml webservice协议,wsdl结尾  比较老

2.RPC架构 基于dubbo协议 thrift协议 Springcloud微服务

3.基于RestFul架构 http协议 json规范 70-80%公司用

RestFul规则:接口地址例如http://127.0.0.1/users   get/post/put/delete   查询/新增/修改/删除

json只有两种数据类型:键值对 key:value   数组[arr1,arr2,arr3]

fiddler抓包,右键save--selected session--in text 保存到桌面

-------------------------------httip协议详解----------------------------------------

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

POST http://172.24.28.1:81/flexbase/api/w/logon/login HTTP/1.1   请求行

Host: 172.24.28.1:81 请求主机  ---- 请求头
Connection: keep-alive 保持活跃
Content-Length: 330 内容长度
Accept: application/json, text/javascript, */*; q=0.01  接收数据格式

(这里可能有异步请求X-Requested-With:XML HttpRequest)

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36  客户端类型
Content-Type: application/x-www-form-urlencoded; charset=UTF-8  内容类型
Origin: http://172.24.28.1
Referer: http://172.24.28.1/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9

(这里可能有cookie信息:客户端发给服务器的,1-N次)

username=xxzxjinling&password=75788f255736caa3bb310ea7b2c9fcc6f7e98606f2c687d293928d22b95a8de2f48769b5705628bd6b62a16091ecbb88fdfd312d075540550828325be7609366ca1d14fade354b391b9e1866f86a391031d6ca1bfa1c52d2a3106f71653946ff8dafca3cc5fcc472986a7be008db1eda8b123146d496ed9bb0494f17e044af33&captcha=&officeLogin=true&isEncryptPwd=true---请求正文
HTTP/1.1 200  响应行
Server: Tengine/2.3.3 响应头
Date: Thu, 16 Jun 2022 02:40:10 GMT
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Access-Control-Allow-Origin: http://172.24.28.1
Access-Control-Allow-Credentials: true
Set-Cookie: rememberMe=deleteMe; Path=/flexbase; Max-Age=0; Expires=Wed, 15-Jun-2022 02:40:10 GMT; SameSite=lax(服务器发给客户端的cookie,只有第一次请求)
X-Frame-Options: SANEORIGIN
Content-Encoding: gzip

433
?      昐巩跢睚? 钿ぃ(?Q?6舍&.甊$H€ )?UZ?_惪眂?⒎9)ぜ畿3g孓3o_蒈芏?附娑閨?h氎作╛翯}+鉌徯缦}秋~{d≯瑚咱kq-?J
>4cl€y?? $<#P:??L娶崦WMYG簺?|富鹥鼾绡??飾u鮰$鷮过辗峨?.?{聯FL軎5〞0    撪A篩禢? 砶傶K苗o~蔑/┃豚4(H 1焺$鎾辞0E? '!J紉釗?惻Cz$舣罅  4儯8J?<+? ?EpQcO?#Q{睪-Qエ*焀h%礑+Q翛@?k﹢媚璪釠淟?噃埭|湢{|雋顅峊?真绍f?肳O膓{hz?T袿Y?UDZ^賊华PJ<莕- =煡瀑5釨滟(W?Y_6嫧q螴3僒v颇?刓.HHfe裷邈骨knJZ?鵈e迱Zs+f? `瓾UKg?B?芛2t挆謨Iz$钁!)刑 F?做c???_葖%[+~h? W?T0?G?aG??詔環?.J〥<L$沉P謠Y?}a羿?F孟認穔&乙蓝6>n孑€妇昏;9诇?J\???徢7n鑗顶7j蛾豷?1鉦O%?簂萴t`蔙.&簲*?gr祊將趺 Zd?ik敦.Gka?签蓹躶*偙J赅湖鹍4姠痏|?y莍<%E?殉?芦0撄X漍?鵮琙Dd'譟l8?)軹3拉犍ギ?╣,<u浖佣6 Ms<睩?擧瑂%搈    G7?7⒅F⑸沐NJ鑉a???C~Zy    ij多)}暎蒪?BCo'述*o?A析英A菫m帵ZY邑鐳鍖襥爯珢c-?Y示C"A匛?Y撸Y筺尧 I&2f? ?/賿{礱}嫝鷬%?氲℃G0-+!魀?氠戁W蹺?h&E?変 j處?@U氾,貌藫:lw懻?尔j襸e?k劉6轂:s?駒P?3!?喃?揍V粙銰u?s頮?^&丗IE籛稔倧襍?  
0--响应正文

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

jmeter+ant+git+jenkins

或者postman+newman+git+jenkins

soapui,appipost,fiddler,charles 辅助工具

四、jmeter简介、安装、环境配置

基于java语言的压力测试工具,可做接口测试,可做性能测试

jdk1.8以上,环境变量

五、jmeter目录介绍

backups:脚本备份目录 jmx格式

bin目录:存放jmeter启动脚本,配置文件、模板

  jmeter.bat 启动

  jmeter.properties 核心配置文件

docs: 离线帮助文档

extras: ****** 存放第三方集成构建文件,集成ant jenkins

lib目录:存放jar包

licensce:许可证文件

六、jmeter常用组件

1.测试计划:起点 所有组件的容器

2.线程组 代表一定数量的用户

3.取样器 向服务器发送请求的最小单元

4.逻辑控制器 结合取样器实现一些复杂逻辑

5.前置处理器 在请求之前的工作

6.后置处理器 在请求之后的工作

7.断言 判断请求是否成功

8.定时器 负责请求之间延时间隔 固定定时器、高斯。、随机

9.配置元件 配置信息

10.监听器 负责收集结果

顺序*******:非常主要

测试计划--线程组--配置元件--前置处理器---定时器---取样器(请求)--后置处理器--断言--监听

作用域******* 非常主要

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

辅助组件:作用于父组件。同级组件,同级组件下的子组件

七、jmeter执行接口测试

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

2.编写接口测试用例 1个接口20-30个用例

  测试思路:

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

  反例:

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

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

    其他:黑名单,分页,

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

4.jmeter+ant+git+jenkins实现持续集成输出接口测试报告 通过电子邮件发送

配置元件:

1.加-HttpCookie管理器 基本必加

服务器只有第一次请求的时候把cookie发给客户端,之后就不发了,客户端每次都带着这个cookie发送请求

2、Http请求默认值

http:80

https:443

3.用户定义的变量

Jmeter-接口测试(一)的更多相关文章

  1. http接口测试——Jmeter接口测试实例讲解

    摘要: 最近做的项目需要测试很多接口,上网查一查,发现完整讲述接口测试的资料太少,所以最近自己做完这个项目,把测试的东西整理一下和大家分享一下,希望对看到的人有所帮助     一.测试需求描述 1. ...

  2. jmeter接口测试教程

    一.Jmeter接口测试步骤: 1.添加线程组

  3. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  4. jenkins+ANT+jmeter 接口测试环境搭建

    目的 jmeter很早就接触了,最近又在接触项目的时候整了一下.写这篇博客主要有两个目的 1,为了给自己搭建jmeter做一个总结. 2,在部署过程中遇到过一些坑,在这分享出来,也希望能给需要的人一个 ...

  5. JMeter接口测试系列:Jmeter+jenkins+ant 的自动化构建

    在JMeter接口测试不断深入的过程中,发现可以和jenkins和ant一起搭配进行自动化的构建.下面是jmeter自动化构建的整理笔记. 准备环境 需要本机上确定安装了jmeter.ant和jenk ...

  6. Jmeter接口测试-断言

    JMeter接口测试-断言  对应qq群号:616961231 一个http请求发出,怎么判断执行的是否正确呢? 通过检查服务器响应数据,是否符合预期的数据, 如果是,任务成功,  如果否, 任务失败 ...

  7. jmeter接口测试实战-创建用户

    jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...

  8. JMeter接口测试实战-动态数据验证

    JMeter接口测试实战-动态数据验证 说到验证就不得不说断言, 先来看下JMeter官方给出断言(Assertion)的定义, 用于检查测试中得到的响应数据等是否符合预期,用以保证测试过程中的数据交 ...

  9. JMeter 接口测试-if控制器

    JMeter 接口测试-if控制器 ​ 使用场景: 当业务场景是用户登录才能支付操作, 不登录点击支付, 页面会跳转到登录页面. 对于接口也是这样, 一个接口需要执行前, 需要有前提条件, 比如0状态 ...

  10. Jmeter接口测试实战-数据传递

    Jmeter接口测试实战-数据传递 接口与接口之间没有关联的测试是缺乏意义和没有灵魂的,只有数据在不同接口之间传递才能勾画出业务场景重要的链路. 我们用较为通用的http/https协议,接口普遍返回 ...

随机推荐

  1. IQuerable展示数据时出现重复【View在类定义的时候没有将多主键给标识出来】

    废话少说,直接上图! 从上面可以看到我有一些数据是重复了,是整条记录都重复了,但是我看到数据库里面的View数据是没有重复的,那就说明问题:"可能是View在类定义的时候没有将多主键给标识出 ...

  2. spark闭包检查

    spark在执行算子时,如果算子内部用到了外部(Driver)端的对象或变量,就一定会出现闭包:spark在执行算子之前会进行闭包检查,也就是对外部对象或变量进行序列化检查:

  3. JMeter创建上传文件脚本

    环境:Macbook10 ,apache-jmeter-4.0 1. 创建脚本:添加 -> Sampler -> HTTP请求 2.基本配置 3. 设置实现方式,这一步是关键的关键.... ...

  4. vue 点击元素滚动到指定位置(滑动到指定位置对应标签自动选中)

    一:各个模块不相同情况 1.内容部分<div class="anchor"> <div v-for="(item,index) in anchors&q ...

  5. Intel oneAPI 环境变量设置

    因工作需要,需要在linux系统配置多个不同环境的库,需要使用environment-modules工具管理环境变量,为保持配置方法的一致性,也使用modulefile文件加载Intel oneAPI ...

  6. SQL Server【提高】事务

    事务 事务是作为单个逻辑单元执行的一系列操作,它是一个不可分割的工作逻辑单元.它包含了一组数据库操作命令,这组命令要么全部执行,要么全部不执行. 特性 原子性Atomicity 事务是一个完整的操作, ...

  7. C# string的2个特殊方法

    1. Strings.Join 方法:用指定的连接符连接一个数组中包含的若干子字符串创建的字符串.e.g List<string> list = new List<string> ...

  8. linux-添加磁盘-MBR分区-挂载

    [root@localhost ~]# lsblk 查看当前磁盘 [root@localhost ~]# fdisk /dev/sdb 磁盘分区 所有的硬件都在/dev下面存放 欢迎使用 fdisk ...

  9. TCP连接connect函数返回错误

    如果是 TCP 套接字,那么调用 connect 函数将激发 TCP 的三次握手过程,而且仅在连接建立成功或出错时才返回.其中出错返回可能有以下几种情况: 三次握手无法建立,客户端发出的 SYN 包没 ...

  10. map()函数应用

    title: map()函数应用 author: 杨晓东 permalink: map()函数应用 date: 2021-10-02 11:27:04 categories: - 投篮 tags: - ...