
接口自动化测试
文章平均质量分 78
hogwarts_beibei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
技术分享 | 接口自动化测试如何做 json 响应断言?
在之前的的章节已经简单介绍了如何断言接口的响应值,在实际工作过程中,json 的响应内容往往十分复杂,面对复杂的 json 响应体,主要通过 JSONPath 解决。JSONPath 提供了强大的 JSON 解析功能,使用它自带的类似 XPath 的语法,可以更便捷灵活的用来获取对应的 JSON 内容。...原创 2022-08-03 10:17:23 · 233 阅读 · 0 评论 -
技术分享 | 接口测试之HTTP、HTTPS 抓包分析
使用普通的抓包工具比如tcpdump无法抓取到加密过的HTTPS协议的数据包。但是Charles经过配置,可以抓取并分析HTTPS协议的数据包,下面的内容将会具体讲述Charles如何配置以及如何抓取HTTP、HTTPS数据包。...原创 2022-07-18 11:21:50 · 1060 阅读 · 0 评论 -
技术分享 | 使用 cURL 发送请求
cURL是一个通过URL传输数据的,功能强大的命令行工具。cURL可以与ChromeDevtool工具配合使用,把浏览器发送的真实请求还原出来,附带认证信息,脱离浏览器执行,方便开发者重放请求、修改参数调试,编写脚本。也可以单独使用,根据自己的需求构造请求调整参数,构造多种接口测试场景。...原创 2022-07-15 10:17:01 · 438 阅读 · 0 评论 -
技术分享 | 使用postman发送请求
作为测试,要有对接口进行测试的能力。在接口测试中,常用的工具是 postman。postman 是一个强大的接口测试平台,具有体验友好的可视化界面,在工作中常常作为研发的接口调试工具,以及测试的手动接口测试工具。可以进入 postman 官方网站自行选择系统下载安装:下面使用 postman 发送一次 get 请求。...原创 2022-07-14 18:09:51 · 198 阅读 · 0 评论 -
技术分享 | 抓包分析 TCP 协议
TCP 协议是在传输层中,一种面向连接的、可靠的、基于字节流的传输层通信协议。对接口测试工具进行分类,可以如下几类:tcpdump 是一款将网络中传送的数据包的“头”完全截获下来提供分析的工具。...原创 2022-07-14 18:08:51 · 229 阅读 · 0 评论 -
技术分享 | 常见接口协议解析
服务与服务之间传递数据包,往往会因为不同的应用场景,使用不同的通讯协议进行传递。比如网站的访问,常常会使用 HTTP 协议进行传递,文件传输使用 FTP,邮件传递使用 SMTP。上述的三种类型的协议都处于网络模型中的应用层。除了应用层的常用协议之外,对于传输层的 TCP、UDP 协议,以及 Restful 架构风格、RPC 协议等等基础网络知识要有一定的了解和认知。...原创 2022-07-14 18:07:51 · 403 阅读 · 0 评论 -
技术分享 | 接口测试价值与体系
如果把测试简单分为两类,那么就是客户端测试和服务端测试。移动端的测试包括 UI 测试,兼容性测试等,服务端测试包括接口测试。接口测试检查数据的交换、传递和控制管理过程。它绕过了客户端,直接对服务端进行测试。tmp1080×460 71 KB服务端非常复杂,就像下图的阿里核心链路图,包含大约 150 个组件,组件与组件之间进行交互,形成了密集的后端网络。UI 测试无法覆盖这么复杂的组件交互网络,所以要绕过客户端,直接使用接口测试对服务端进行测试。image1080×664 104 KB对行业的各种测试进行分层原创 2022-07-05 11:11:49 · 128 阅读 · 0 评论 -
技术分享 | 常见接口协议解析
服务与服务之间传递数据包,往往会因为不同的应用场景,使用不同的通讯协议进行传递。比如网站的访问,常常会使用 HTTP 协议进行传递,文件传输使用 FTP,邮件传递使用 SMTP。上述的三种类型的协议都处于网络模型中的应用层。除了应用层的常用协议之外,对于传输层的 TCP、UDP 协议,以及 Restful 架构风格、RPC 协议等等基础网络知识要有一定的了解和认知。在了解具体的协议之前,需要先了解 OSI 七层模型、TCP/IP 四层模型、五层体系结构这三种不同的网络模型。网络协议模型对比图:TCP 协议是原创 2022-07-05 11:10:52 · 489 阅读 · 0 评论 -
接口管理工具YApi怎么用?颜值高、易管理、超好用
众多接口管理工具如雨后春笋搬冒出。让人欣慰的是,有许多优秀作品来自国内,包含YApi和rap。看着中文的官网,熟悉的汉语,不禁让人暗爽。当然这也就带来另一个弊端,因为使用基数少,所以参考资料少。我们想学习使用方法,只能依赖官方文档,也算是福祸相倚了。本文将带您走进Yapi的世界,让您体验一回小清新的接口管理工具。根据统计,市面上互联网项目超过10亿,保守统计涉及的API数量有100亿。但是很多API的质量堪忧。因为与API相关的文档、调试、测试和数据Mock在工作中效率非常低。我们急需一款产品,它需要原创 2022-06-10 17:21:44 · 225 阅读 · 0 评论 -
实战演练基于加密接口测试测试用例设计
image1080×594 76.4 KB如果接口测试仅仅只是掌握一些requests或者其他一些功能强大的库的用法,是远远不够的,还需要具有根据公司的业务以及需求去定制化一个接口自动化测试框架能力。所以在这个部分,会主要介绍接口测试用例分析以及通用的流程封装是如何完成的。接口测试用例分析首先在做用例分析之前,可以通过追查公司一年来所有的故障原因,定位问题起因,或者通过与CTO、产品经理、研发、运维、测试调查,得到质量痛点,还可以分析业务架构、流程调用,以及监控系统了解到业务的使用数据,..原创 2022-05-07 12:31:53 · 271 阅读 · 0 评论 -
Dubbo 接口测试原理及多种方法实践总结
1、什么是 Dubbo?Dubbo 最开始是应用于淘宝网,由阿里巴巴开源的一款优秀的高性能服务框架,由 Java 开发,后来贡献给了 Apache 开源基金会组织。下面以官网的一个说明来了解一下架构的演变过程,从而了解 Dubbo 的诞生原因:单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,提升效率的方法之一是将应用原创 2022-05-07 10:58:58 · 516 阅读 · 0 评论 -
基于 JMeter 完成 Dubbo 接口的测试
JMeter 默认是不支持 Dubbo 接口测试的,但是我们可以通过拓展的插件或 jar 包实现此功能。JMeter 插件拓展1.1 插件下载测试 Dubbo,我们需要下载 Dubbo 的插件,在 Apache 的 Dubbo 插件 GitHub 中可以找到:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo1点击进入,这里我们选择当前的最新版本 2.7.8 进行下载。1.2 插件安装.原创 2022-05-07 10:45:28 · 328 阅读 · 0 评论 -
接口测试实战 | Android 高版本无法抓取 HTTPS,怎么办?
在接口测试中,相信很多人都遇到过 Android 高版本(Android7.0 以上)系统无法抓包的问题。由于在测试过程中对分析定位问题很不方便,所以就想找开发的同学帮忙,结果开发也说搞不定,那只能自己解决了。问题分析问题原因分析如下: 问题:Android6.0 及以下系统可以抓包,而 Android7.0 及以上系统不能抓包; 原因:Android7.0+ 的版本新增了证书验证,所以 App 内不再像原来一样默认信任用户的证书; 参考网上资料得到如下解决方案:方案原创 2022-05-05 11:48:11 · 298 阅读 · 0 评论 -
Junit5 架构、新特性及基本使用(常用注解与套件执行)
什么是 Junit5,在 Junit5 的官方介绍文档中这写到:Junit5 由JUnit Platform + JUnit Jupiter + JUnit Vintage3部分构成,借用 IBM Developer 的一张图来说明 JUnit 5 的架构:JUnit Platform:JUnit Jupiter:JUnit Vintage: 嵌套单元测试 Lambda支持 参数化测试 重复测试 动态测试 JUnit 4 与 JUnit 5 中的注..原创 2022-04-27 11:10:17 · 379 阅读 · 0 评论 -
MockServer 服务框架设计
大部分现有的 mock 工具只能满足 HTTP 协议下简单业务场景的使用。但是面对一些复杂的业务场景就显得捉襟见肘,比如对 socket 协议的应用进行 mock,或者对于支付接口的失败重试的定制化 mock 场景。为解决上述问题,霍格沃兹测试学院设计并研发了 CSRMockServer 在下面的文章中简称 mock server。mock server 相较于这些 mock 工具,具有规则更灵活、定制化更强、支持拓展多协议的特点。在本章节将会从架构设计介绍如何实现以上的特点,而在实战章节,会针对具原创 2022-04-27 11:09:32 · 204 阅读 · 0 评论 -
Pb协议的接口测试
Protocol Buffers 是谷歌开源的序列化与反序列化框架。它与语言无关、平台无关、具有可扩展的机制。用于序列化结构化数据,此工具对标 XML ,支持自动编码,解码。比 XML 性能好,且数据易于解析。更多有关工具的介绍可参考官网。Protocol Buffers官网:https://developers.google.com/protocol-buffersProtocol Buffers 为跨平台设计,以 Python 为例,使用者配置 .proto 文件,利用 Protocol Buf原创 2022-04-27 10:45:16 · 261 阅读 · 0 评论 -
Python 自动化测试(四):数据驱动
1080×339 95.9 KB在实际的测试工作中,通常需要对多组不同的输入数据,进行同样的测试操作步骤,以验证我们的软件质量。这种测试,在功能测试中非常耗费人力物力,但是在自动化中,却比较好实现,只要实现了测试操作步骤,然后将多组测试数据以数据驱动的形式注入,就可以实现了。前面文章学习了参数化,当数据量非常大的时候,我们可以将数据存放到外部文件中,使用的时候将文件中的数据读取出来,方便测试数据的管理。数据与测试用例分别管理,可以利用外部数据源 YAML、JSON、Excel、CSV 管理测试数..原创 2022-04-26 15:23:35 · 230 阅读 · 0 评论 -
RPC接口测试技术-websocket 自动化测试实践
WebSocket 是一种在单个 TCP 连接上进行全双工通信(Full Duplex 是通讯传输的一个术语。通信允许数据在两个方向上同时传输,它在能力上相当于两个单工通信方式的结合。全双工指可以同时(瞬时)进行信号的双向传输( A→B 且 B→A )。指 A→B 的同时 B→A,是瞬时同步的)的协议。WebSocket 通信协议于 2011 年被 IETF 定为标准 RFC 6455,并由 RFC7936 补充规范。WebSocket API (WebSocket API 是一个使用WebSocket原创 2022-04-26 15:20:49 · 485 阅读 · 0 评论 -
UI 自动化测试实战(二)| 测试数据的数据驱动
1080×662 83 KB数据驱动就是通过数据的改变驱动自动化测试的执行,最终引起测试结果的改变。简单来说,就是参数化在自动化测试中的应用。测试过程中使用数据驱动的优势主要体现在以下几点:1.提高代码复用率,相同的测试逻辑只需编写一条测试用例,就可以被多条测试数据复用,提高了测试代码的复用率,同时提高了测试代码的编写效率。2.异常排查效率高,测试框架依据测试数据,每条数据生成一条测试用例,用例执行过程相互隔离。如果其中一条失败,不会影响其他的测试用例。3.代码可维护性高,清晰的测试框架利..原创 2022-04-26 15:19:27 · 189 阅读 · 0 评论 -
利器 | Java 接口自动化测试首选方案:REST Assured 实践 (一)
在 REST Assured 的官方 GitHub 上有这样一句简短的描述: Java DSL for easy testing of REST services 简约的 REST 服务测试 Java DSLREST Assured 官方的 README 第一句话对进行了一个优点的概述,总的意思表达的就是简单好用。那么 REST Assured 有哪些优点,又该如何使用呢?用 Java 做接口自动化测试首选 REST Assured,具体原因如下:开源 简约的接口测试 DSL 支持 xm..原创 2022-04-24 14:11:51 · 173 阅读 · 0 评论 -
利器 | REST Assured 实践(二):断言实现
在上一篇文章中,我们初步探讨了 REST Assured 的应用实践,还有很多丰富的用法需要慢慢探索研究。而 REST Assured 提供的完整断言手段,是测试工程师最常用最重要的功能之一。断言该如何使用呢?这里以 rest-assured 官方给的一个示例做演示学习{"lotto":{ "lottoId":5, "winning-numbers":[2,45,34,23,7,5,3], "winners":[{ "winnerId":23, "numbers":[2,...原创 2022-04-24 14:10:41 · 150 阅读 · 0 评论 -
利器 | TestNG 与 Junit 对比,测试框架如何选择?
TestNG 和 Junit 作为两大流行的测试框架,有哪些区别?各有哪些优缺点?该如何选择呢?这里简要总结下:执行时通过运行xml文件 最基本的套件管理规则:suite->test->classes->class 同一个test下的测试类看做是一个整体,其中的注解对整个test整体都是生效的 1080×509 50.7 KB1080×161 31.4 KB1080×218 24.7 KBmethods: 所有用例都可.原创 2022-04-24 14:09:38 · 354 阅读 · 0 评论 -
利器 | 接口自动化测试框架 RESTAssured 实践(三):对 Response 结果导出
1080×720 114 KB上一篇文章中介绍了rest-assured对返回结果的断言,最后说明了对于Response结果导出的需求。可查看往期文章进行查看。HTTP/1.1 200 OKServer: nginx/1.12.2Date: Mon, 13 Jan 2020 02:15:11 GMTContent-Type: application/json;charset=UTF-8Transfer-Encoding: chunkedExpires: 0Cache-Contr..原创 2022-04-24 14:08:35 · 211 阅读 · 0 评论 -
同样是断言,为何 Hamcrest 如此优秀?
根据项目对象模型(POM)的概念,Maven 可以管理一个项目的依赖关系、构建、报表以及信息中心的部分文档。hamcrest 断言 maven依赖:1080×160 26.3 KBhamcrest支持多种语言,这里以 Java 为例:进入到 hamcrest 断言的 Matchers 类中可以看到其中包含了相当丰富的断言匹配器,能更大程度上实现各种复杂断言场景:官网也对断言进行了分类和说明:先来看hamcrest断言和原生断言的写法区别,在官方文档中给出了的第一个实例如下...原创 2022-04-24 14:00:08 · 144 阅读 · 0 评论 -
Chrome 浏览器+Postman还能这样做接口测试 ?
1080×462 749 KB如果把测试简单分为两类,那么就是客户端测试和服务端测试。客户端的测试包括UI测试,兼容性测试等,服务端测试包括接口测试。接口测试检查数据的交换,传递和控制管理过程,它绕过了客户端,直接对服务端进行测试。客户端测试与服务端测试的关系图:服务端非常复杂,就像下图的阿里核心链路图,包含大约150个组件,组件与组件之间进行交互,形成了密集的后端网络。UI测试无法覆盖这么复杂的组件交互网络,所以要绕过客户端,直接使用接口测试对服务端进行测试。阿里核心链路图..原创 2022-04-20 15:44:08 · 264 阅读 · 0 评论 -
REST-assured 获取日志到文件并结合 Allure 报告进行展示
使用 Rest-assured 集合 Allure 运行完用例之后,在生成的报告中只有断言信息,没有请求的日志信息。而当我们的用例失败时,特别是接口失败时,请求日志是分析原因的第一手资源。那如何将 Rest-assured 产生的日志存入 Allure 里,并且能和用例一一对应起来呢?在使用 Rest-assured 集合 Allure 运行完用例之后,查看生成的报告信息如下:我们可以看到在生成的报告中只有断言信息,而没有请求的日志信息,而当我们的用例失败时,特别是接口失败时,请求日志是分析原...原创 2022-04-20 15:40:03 · 325 阅读 · 0 评论 -
原来升职加薪的测试工程师都擅长做接口测试
互联网行业已进入小步快跑快速迭代的趋势。一个新版本的上线,不仅需要移动端测试,更需要进行服务端的测试。服务端的测试可能比移动端的测试更重要。服务端比移动端更复杂交互更多也更考验技术了。接下来给大家看一张在2012年淘宝核心链路的应用拓扑图,给大家看一下真实的后端服务是什么样子的。如此复杂的后端服务,光靠前端的手工测试和UI测试是远远不够的。看到上面的拓扑图,也不难理解为什么黑盒测试使出了洪荒之力,但总是会有漏网的bug了。而且如何判定一个bug属于前端还是后端服务,真的是太考验测试人员了。于是,原本.原创 2022-04-19 14:39:45 · 90 阅读 · 0 评论