接口自动化框架搭建-写在前面

从今天开始,我将带领大家一起学习接口自动化框架的搭建,在学习之前,我们先了解搭建一个接口自动化框架需要具备哪些知识,应该做哪些准备工作

测试开发工程师的入门条件

近几年比较流行测试开发岗位,很多小伙伴都不知道应聘测试开发岗位应该具备什么素质,有些人觉得是不是应该看很多书,看很多视频,写很多代码,对功能比较熟悉,了解公司的业务或者学会录制脚本。。。。。。这样是不是就可以去应聘测试开发岗位了?我可以肯定的回答你,肯定不是,那么我们到底应该具备哪些技能呢?

举个例子,我们打开Jenkins的页面,在立即构建中构建计划,然后执行

最后我们会收到接口自动化报告,报告的内容是此次一次运行接口个数为10个,通过个数为2个,失败个数为8个,这个看到是很高大上的样子

 那么很多人这个时候可能会问:这个是怎么做到的?这个是怎么做到的,那么很多人这个时候可能会问:这个是怎么做到的?这个是怎么做到的,接口在哪里呢?其实这个是在excel里面的。

接口自动化框架

如果要实现上面的功能,需要掌握哪里技术了,是需要学会设计框架,开发框架还是重构框架呢?答案是显而易见的,这些都需要掌握。那么这个时候你可能会觉得无从下手,看着都很高大上的东西,对于初学者,应该怎么才能一步步落实,最后实现呢

要学会上面的技术,其实真的一点都不难,这个就是我们本次系列要给大家分享的知识,我会带着大家一步一步的学会,下面我们把上面的抽象概念都划分为下面几个方面

接口基础

大家一定要掌握接口的基础知识,因为这个是一个初级工程师必须要学会的东西,如果在面试时问你一个基础的接口都回答不上了,那么你恐怕也无法进行后面的面试了。

接口开发

当我们掌握了接口基础后,那就需要掌握接口的开发了,通常是通过django开发GET接口和Post接口,我们会了解接口开发的流程

Unittest 与接口测试结合

当你学会了接口开发后,那么你就需要掌握Unittest 与接口测试结合。比如学习unittest的使用,断言,requests的引入使用,HTMLTestRunner生成测试报告以及Case的管理

接口自动化测试框架从设计到开发

当你学会了前面的基础知识,接下来我们就会正二八经的学习接口自动化框架的搭建了,设计框架跟人一样,都是需要五脏六腹的。设计框架,这个是必须的掌握的,不然后面写出来的东西恐怕也没人看得多,后期也不好维护。工具类封装,这个也是必须学会的,当前前提我们可以从很low的封装开始,后面一步步重构成高大的封装。接着是基类的封装;后面是调试错误,这个是小伙伴们经常碰到的,很多小伙伴遇到调试错误后不知道怎么去解决。后面就是数据处理,把一些数据进行封装,后面就是回写测试结果,把测试的结果写到excel表格中。紧接着就是解决数据依赖问题,这个是接口自动化测试的重点,公众号中我有专门写了一个方法对这一部分进行介绍,大家可以查看。举个例子,你去付款的时候需要订单号,但是如果你没有下单,你会有订单号吗?肯定是没有的。所以付款的接口是需要依赖下单的接口。后面是结果统计,邮件服务,最后是发送报告。

这样一个接口自动化框架就实现了,不过并不是掌握这么多就好了,我们还需要掌握一些常见的操作,比如操作数据库或者操作cookie。

说了这么多,后面跟着我一起学习吧!

本文主要是讲解接口自动化框架搭建需要掌握哪些知识,在后面的文章中,我会带领大家一点一点的学习!

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

 视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636288.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++:史上最坑小游戏

史上最坑小游戏&#xff0c;先别使用&#xff0c;往后看&#xff01; #include<bits/stdc.h> #include <windows.h> using namespace std; int panduolamohe ; int main(){cout<<"玩到无语的小游戏&#xff01;&#xff01;&#xff01;";Sleep(5…

将Matlab图窗中的可视化保存为背景透明的矢量图

将matlab绘制的结果复制为矢量图时&#xff0c;去除背景的操作如下&#xff1a; 先打开/绘制图形窗口(不要关闭)在命令行终端输入axis off关闭坐标系继续在命令行终端分别输入&#xff1a; ax gca; copygraphics(ax,ContentType,vector,BackgroundColor,none); 此时&#xff…

消息队列介绍

什么是 MQ MQ(message queue)&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是 message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息。在互联网架构中&#xff0c;MQ 是一种非常常 见的上下游“逻辑解耦…

Unity -简单键鼠事件

“Test_03” KeyTest 键鼠事件每帧都要监听&#xff0c;要放在Update()中处理 public class KeyTest : MonoBehaviour {// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){// 【鼠标点击事件】 0左键、1右键…

【PGSQL】date_trunc 函数

date_trunc 函数用于在 PostgreSQL 中将日期或时间戳值截断&#xff08;向下取整&#xff09;到指定的精度级别。当您想要忽略较小的时间单位&#xff08;例如&#xff0c;小时、分钟、秒&#xff09;&#xff0c;专注于较大的单位&#xff08;例如&#xff0c;天、月、年&…

SpringBoot 项目中后端实现跨域的5种方式!!!

文章目录 SpringBoot 项目中后端实现跨域的5种方式&#xff01;&#xff01;&#xff01;一、为什么会出现跨域问题二、什么是跨域三、非同源限制四、Java后端 实现 CORS 跨域请求的方式1、返回新的 CorsFilter(全局跨域)2、重写 WebMvcConfigurer(全局跨域)3、使用注解 (局部跨…

实战纪实 | 某配送平台zabbix 未授权访问 + 弱口令

本文由掌控安全学院 - 17828147368 投稿 找到一个某src的子站&#xff0c;通过信息收集插件wappalyzer&#xff0c;发现ZABBIX-监控系统&#xff1a; 使用谷歌搜索历史漏洞&#xff1a;zabbix漏洞 通过目录扫描扫描到后台&#xff0c;谷歌搜索一下有没有默认弱口令 成功进去了…

Failed resolution of: Lorg/apache/hc/core5/http/message/BasicNameValuePair;

这是我引用的库文件 implementation (“com.esri.arcgisruntime:arcgis-android:100.15.3”) 使用ArcGIS绘制天地图报错如下&#xff1a; Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/hc/core5/http/message/BasicNameValuePair; 查询资料得…

Python——enumerate与zip结合使用

对于同时需要遍历两个及以上的列表的情况下&#xff0c;需要enumerate与zip结合使用。 一、例子 for i, (image, feature) in enumerate(zip(images, features)):.........

LeetCode:206. 反转链表

力扣链接 算法思想&#xff1a;由于单链表是单向的&#xff0c;想要对当前元素进行操作&#xff0c;需找到前一个元素。本题利用双指针&#xff0c;初始pre指针指向NULL&#xff0c;cur指针指向head.再对局部翻转之前&#xff0c;先把下一个结点存到temp指针中。当进行完如下代…

构建中国人自己的私人GPT

创作不易&#xff0c;请大家多鼓励支持。 在现实生活中&#xff0c;很多人的资料是不愿意公布在互联网上的&#xff0c;但是我们又要使用人工智能的能力帮我们处理文件、做决策、执行命令那怎么办呢&#xff1f;于是我们构建自己或公司的私人GPT变得非常重要。 先看效果 他的…

YOLOv8全网首发:新一代高效可形变卷积DCNv4如何做二次创新?高效结合SPPF

💡💡💡本文独家改进:DCNv4更快收敛、更高速度、更高性能,与YOLOv8 SPPF高效结合 收录 YOLOv8原创自研 https://blog.csdn.net/m0_63774211/category_12511737.html?spm=1001.2014.3001.5482 💡💡💡全网独家首发创新(原创),适合paper !!! 💡💡💡…

视频水平翻转,开启创意之旅

想象一下&#xff0c;一段普通的视频在瞬间被水平翻转&#xff0c;画面中的一切仿佛被镜子所反射&#xff0c;给人一种惊艳而又奇妙的感受。在这个充满无限可能的数字时代&#xff0c;我们不应被传统的视觉效果所束缚&#xff0c;尝试运用水平翻转技术&#xff0c;为你的作品注…

Linux /etc/issue 内的各代码意义

\d 本地端时间的日期&#xff1b; \l 显示第几个终端机接口&#xff1b;&#xff08;小写的L&#xff09; \m 显示硬件的等级 &#xff08;i386/i486/i586/i686…&#xff09;&#xff1b; \n 显示主机的网络名称&#xff1b; \O 显示 domain name&#xff1b; \r 操作系统…

安装Office Web Apps 2013

Office Web Apps 可以让用户通过浏览器就能操作Office文件&#xff08;Word,PowerPoint,Excel&#xff09;&#xff0c;客户端可以不安装Office&#xff0c;而且不用担心2003和2007文档格式的问题。下面入正题。 一、安装环境 因为Office Web Apps要求安装环境中不能用其它服…

pytest文档内置fixture的request详情

前言 request 是 pytest 的内置 fixture &#xff0c; "为请求对象提供对请求测试上下文的访问权&#xff0c;并且在fixture被间接参数化的情况下具有可选的“param”属性。"这是官方文档对request的描述&#xff0c;可参考的文档不多。 一、FixtureRequest Fixtur…

C#基本语法

定义&#xff1a;C#是一种面向对象的编程语言。 using关键字 在任何c#程序中的第一条语句都是 using System; using关键字用于在程序中包含命名空间。一个程序可以包含多个using语句 class关键字 class关键字用于声明一个类 C#的注释 注释是用于解释代码。编译器会忽略…

R语言【cli】——ansi_nzchar():检查是否存在ANSI语句

Package cli version 3.6.0 Usage ansi_nzchar(x, ...) Arguments 参数【x】&#xff1a;Charcater向量。其他对象使用base::as.character()进行转换。 参数【...】&#xff1a;传入base::nzchar()。 Examples > ansi_nzchar(col_red("dd")) [1] TRUE > an…

从入门到精通:ThinkPHP6异步请求的全面解析!

在ThinkPHP6中使用异步请求 在Web应用程序的开发中&#xff0c;经常会需要使用异步请求。异步请求能够在后台执行而不干扰页面的其他操作&#xff0c;提高了用户的体验。而在ThinkPHP6框架中&#xff0c;也提供了方便的异步请求方式&#xff0c;本文将详细介绍如何在ThinkPHP6…

Spring Bean 生命周期的执行流程?

一、问题解析 Spring 生命周期全过程大致分为五个阶段&#xff1a;创建前准备阶段、创建实例阶段、依赖注入阶段、容器缓存阶段和销毁实例阶段。 这张是 Spring Bean 生命周期完整流程图&#xff0c;其中对每个阶段的具体操作做了详细介绍&#xff1a; &#xff08;把这张图按…