接口自动化测试

这篇具有很好参考价值的文章主要介绍了接口自动化测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.基础知识

1.接口测试原理

接口测试的原理就是模拟客户端向服务器发送请求,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程。

2.接口测试点及用例设计方法

接口测试采用的方法其实与黑盒测试一致的,甚至可以把接口测试理解为没有界面的功能测试。只不过接口测试的关注点主要在请求和响应上。另外,还包括接口的安全接口的性能等。常用的用例设计有等价类,边界值法等。
一般测试用例的设计要从单接口参数的校验到整个业务功能点的验证,还可以验证一些安全性和异常情况。
接口自动化测试

3.接口测试要点

  • 检查接口返回的数据是否与预期结果一致。
  • 接口测试结果检查通常需要通过SQL语句从数据库内进行查询确认。
  • 检查接口的容错性,假如传递数据的类型错误时是否可以处理。
  • 接口参数的边界值,例如传递的参数足够大或为负数时,接口是否可以正常处理。
  • 接口的性能,http请求接口大多与后端执行的SQL语句性能,算法等比较相关。
  • 接口的安全性,外部调用的接口尤为重要,一般每个接口都要进行鉴权验证。

4.常见HTTP状态码

状态码 含义
1** 临时响应并需要请求者继续执行操作
2** 请求成功。操作被成功接收并处理
3** 重定向代码,用于已经移动的文件并且在头信息中指定新的地址信息
4** 客户端错误,请求包含语法错误或者无法完成请求
5** 服务器错误,服务器在处理请求的过程中发生错误

比如:
200 服务器成功处理请求
404 未找到资源
410 找到资源,但现在已不存在
500 内部服务器错误
503 服务器目前无法为请求提高服务
302 临时重定向
304 客户端的缓存资源时最新的,要客户端使用缓存

5.HTTP基础知识

  • DNS:Domain Name Server 域名服务器
    http:// www.baidu.com: 80/ adv_search? w=py&order=false# tag
    接口自动化测试

  • HTTP报文格式分为两种

请求报文:请求行,请求头部,回车换行,消息体
响应报文:状态行,响应头部,回车换行,消息体

HTTP由请求和响应构成,是一个标准的客户端服务器模型(B/S架构)。HTTP协议永远都是客户端发起请求,服务器回送响应。B/S架构又叫浏览器/服务器模型,严格意义上说,这个B不仅仅只是浏览器,凡是能够发生HTTP请求的对象或者工具,都可以叫做客户端。

  • HTTP请求组成部分

URL地址,请求参数(可选),请求头,请求体(仅限POST请求)
对于响应内容部分,主要关注两个点:响应状态码,响应内容

  • HTTP工作过程

    1. 浏览器输入
    2. dns域名解析:域名与IP映射(第一次访问去DNS找对应IP,不是第一次访问则本机存有IP)
    3. 建立tcp连接(三次握手)
    4. 发送http request:请求信息
    5. web服务器接收请求
    6. 应用服务器处理业务逻辑
    7. 关闭tcp连接:请求响应完成。如果浏览器在其头部信息中加入了connection:keep-alive,则tcp连接将任然保持打开状态。
    8. 浏览器:渲染响应页面
  • Get和Post
    Get:从服务器端获取资源或数据
    Post:向服务器端提交数据
    Get和Post的区别:
    1)Get请求一般用于向服务器请求获取一个资源,没有副作用,一般会在客户端做缓存。Post请求一般用于向服务器提交数据并让其去完成一件事,所以这个操作是有副作用的,不会在客户端做缓存,
    2)Get请求发送数据的时候,一般会将请求数据放在url字符串中发送给服务器端,所以从安全性角度来看相对没有Post请求安全性搞,所以get请求一般不会用于比较隐私数据的传输。而Post请求时将请求数据放在请求体body里面,所以一般用于表单数据,登录数据等数据的传输。

6.接口自动化测试工具

  • Jmeter
    见我另外一篇博文jmeter学习
  • Apifox
    接口自动化测试比较好用的工具。见下文第5大点
  • postman
    见我另外一篇博文接口自动化实战-postman

7.token

  • cookie
    存在于客户端,由服务器端通过set.cookie方法来进行设置。

  • session
    存在于服务器端的内存中,主要用于和cookie一起来验证客户端的登录状态。

  • token
    token是服务器端生成的一串字符串,用作于客户端进行请求的一个令牌。
    token运行的原理:
    (1)客户端第一次登录成功时,由服务器端生成,并保存于服务器端的数据库中,服务器端再将token值返回给客户端。
    (2)客户端拿到token值之后,会进行保存(保存位置由服务器端指定)。
    (3)后面客户端发送请求时,会将token值附带在请求参数中发送给服务器进行验证。
    (4)服务器端收到客户端的请求之后,会取出token值与保存在本地数据库中的token值进行比较。
    (5)如果两个token是一致的,说明用户已登录成功,当前用户处于登录状态。
    (6)如果没有这个token值,说明用户没有登录过。
    (7)如果token值已经发生改变,说明原登录信息已经失效,需要重新登录。

2.抓包工具

1.chrom抓包

右键-》检查-》找到网络
接口自动化测试
需要关注的字段
接口自动化测试
接口自动化测试
响应内容
接口自动化测试

2.Fiddler抓包(PC端,手机端)

1.原理

Fiddler是通过改写HTTP代理,让数据从它那通过,来监控并且截取到数据。在打开它的那一瞬间,它就已经设置好了浏览器的代理了。当你关闭的时候,它又帮你把代理还原了。接口自动化测试

2.下载安装

官网下载:https://www.telerik.com/fiddler
按照指示填写,下载,然后傻瓜式安装,一直点击是就可以安装成功。

3.抓取数据信息说明

接口自动化测试

名称 含义
# 抓取HTTP Request的顺序,图标表示请求状态和响应状态
Result HTTP状态码 (重点关注)
Protocol 请求使用的协议,常用HTTP,HTTPS
Host 请求地址的主机名
URL 请求资源的位置
Body 请求的大小
Caching 请求的缓存过期时间或者缓存控制值
Content-Type 请求响应的类型
Process 发送此请求的进程:进程ID
Comments 允许用户为此回话添加备注
Custom 允许用户设置自定义值

要访问HTTPS协议需要设置一下:Tools –> Fiddler Options ,选择HTTPS,勾选Decrypt HTTPS TrafficDecrypt,然后后面弹出的窗口都点击yes/是,点击Actions,最后点击OK

4.数据详细字段说明

接口自动化测试

名称 含义
Statistics 请求的性能数据分析
Inspectors 查看数据内容(常用)
AutoResponder 允许拦截指定规则的请求
Composer 自定义请求发送服务器
Filters 请求过滤规则(常用)
Timeline 请求响应时间

5.过滤

过滤最常用,过滤掉不需要的抓包数据,只显示自己需要的,这样看起来会方便很多。

  • Filddler过滤
    接口自动化测试
    2)命令过滤
    ?+字符串
    接口自动化测试
    @+host
    接口自动化测试

=+状态码
文章来源地址https://www.toymoban.com/news/detail-444181.html

到了这里,关于接口自动化测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 接口自动化测试:pytest基础讲解

    只靠前端测试很难确保很⾼的覆盖率。接⼝测试,可以模拟出各种类型的⼊参,包括⼀些在前端模拟不出来的⼊参,还能根据接⼝⽂档的定义,设计出相对完善的⼊参值,在接⼝层保证质量,剩余的绝⼤多数问题就是应⽤程序⾃⾝的交互和数据展⽰问题。 接⼝测试相对于交互

    2024年02月07日
    浏览(39)
  • 5分钟掌握接口自动化测试,4个知识点简单易学!

    接口测试是一种软件测试方法,用于验证不同软件组件之间的通信接口是否按预期工作。在接口测试中,测试人员会发送请求并检查接收到的响应,以确保接口在不同场景下都能正常工作。 就工具而言,常见的测试工具有Jmeter、Postman等。但这类工具往往更是做接口调试,对

    2024年02月05日
    浏览(43)
  • 90天玩转Python—11—基础知识篇:Python自动化操作Excel:读写、增删改查、分组统计全攻略

    90天玩转Python—01—基础知识篇:C站最全Python标准库总结 90天玩转Python--02--基础知识篇:初识Python与PyCharm 90天玩转Python—03—基础知识篇:Python和PyCharm(语言特点、学习方法、工具安装) 90天玩转Python—04—基础知识篇:Python编程基础:标识符、保留字、注释、多行语句、p

    2024年04月11日
    浏览(30)
  • python接口自动化测试 requests库的基础使用

    目录 简单介绍 Get请求 Post请求 其他类型请求 自定义headers和cookies SSL 证书验证 响应内容 获取header 获取cookies requests库简单易用的HTTP库   格式:  requests.get(url)  注意: 若需要传请求参数,可直接在 url 最后的 ? 后面,也可以调用 get() 时多加一个参数 params ,传入请求

    2023年04月26日
    浏览(41)
  • java基础 - 实现一个简单的Http接口功能自动化测试框架(HttpClient + TestNG)

    已知现在已经用Spring boot框架搭建了一个简单的web服务,并且有现成的Controller来处理http请求,以之前搭建的图书管理服务为例,BookController的源码如下: 在搭建一个Http接口功能自动化测试框架之前,我们需要思考几个问题: 1、http请求的发送,使用什么实现? 2、接口返回的

    2024年02月05日
    浏览(40)
  • 接口自动化测试实践指导(下):接口自动化测试断言设置思路

    作者 : 石臻臻 , CSDN博客之星Top5 、 Kafka Contributor 、 nacos Contributor 、 华为云 MVP , 腾讯云TVP , 滴滴Kafka技术专家 、 KnowStreaming 。 KnowStreaming 是滴滴开源的Kafka运维管控平台, 有兴趣一起参与参与开发的同学,但是怕自己能力不够的同学,可以联系我,当你导师带你参与开源! 。 在

    2024年01月18日
    浏览(61)
  • 【接口自动化测试入门】从0到1落地接口自动化测试

    前段时间写了一系列自动化测试相关的文章,当然更多的是方法和解决问题的思路角度去阐述我的一些观点。这篇文章来聊聊新手如何从零到一落地实践接口自动化测试。 早些时候,软件研发交付流程大多遵循V型或W型的瀑布模式,这种模式下只有开发编码完成才会提测进入

    2024年02月04日
    浏览(38)
  • 自动化测试(三):接口自动化pytest测试框架

    API:Application Programming Interface 接口自动化按照自动化的工具可分为 基于 接口测试工具 的接口自动化 eg1:Postman+Newman+git/Svn+Jenkins(基于Javascript语言)接口自动化 Postman :创建和发送 API 请求,并对响应进行断言和验证。 Newman : Postman 的命令行工具,它允许测试人员在没有界

    2024年02月10日
    浏览(42)
  • 接口自动化测试系列-接口测试

    利用postman完成接口测试:官网。 接口一般包含: url:请求地址,如:https://www.baidu.com/ method:请求方式,get,post,update,delete等 headers:请求头 body/params:请求体,post一般存在body中。get请求放在params中 get请求 post请求 辅助抓包工具操作指引 postman常规操作 1、怎样设置变量 如url、heade

    2024年02月10日
    浏览(45)
  • 基于 python 的接口自动化测试,让你轻松掌握接口自动化

    目录 目录 一、简介                ​编辑二、引言 三、环境准备 四、测试接口准备 接口信息 五、编写接口测试 六、优化 封装接口调用   本文从一个简单的登录接口测试入手,一步步调整优化接口调用姿势; 然后简单讨论了一下接口测试框架的要点; 最后介绍了一下

    2023年04月19日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包