从0到1精通,Python接口自动化测试,测试进阶之道...

news2024/11/18 11:26:08

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

如何实现python接口自动化测试?

1、接口

抓包工具:fiddler charles
接口工具:postman jmeter
接口加密解密、接口鉴权
接口签名、Dubbo Ws等

2、API自动化测试(接口测试)

什么是接口:
接口:系统提供服务的一种形式、两个事物交互点,基于某个协议,实现数据交互

一定是基于网络协议来传输的;
下发请求,基于网络协议的传输,获取到响应结果,形成最终的接口的交互;
url相当于指定了需求访问的接口;

比如:
微信支付 内部接口(两个不同的账户实现数据交互)
银联支付 第三方接口(微信系统与银行系统实现数据交互)

接口测试意义:
尽早介入测试;
前端进行验证,后端还需要两次测试---->增加测试覆盖率;
前端无法正常测试的接口测试才能更好的进行覆盖测试;

3、基于Python+Requests库实现接口测试

requests库是适用于HTTP网络协议下的接口的测试通信;
所有的接口测试,都是基于接口文档来实现的;
业务是接口测试的核心。在所有接口开发测试之前,一定要懂业务;
所有的参数,应该如何传递都是基于设计来定义的;

很多时候在系统中,接口彼此之间是有互相交互和联系的。

4、requests框架

Requests是自动化测试框架之一,是python实现的最简单易用的HTTP请求和发送,属 于python的第三方库

python内库 unittest logging os…(不需要安装)
python第三方库 jsonpath …(需要安装)
本地安装:pip install requests

4、自动化测试框架(核心技能)

熟悉掌握一门编程语言python java;
常用自动化测试框架应用:三大平台 Web + 接口 + app、原理+应用、设计理念;
搭建落地自动化测试框架 web + 接口 + app 效率最大化;
常用框架第二次开发、公共数据全局配置、日志收集、数据依赖、用例管理;

落地自动化框架:(类似于工具postman jmeter):
易用性:不懂代码的人可以进行维护 填用例数据 配置数据 维护成本低
高效性:分布式集成 框架核心封装设计
通用性:通用所有的项目

5、结合接口文档实现请求代码构建

项目接口文档解读
规划接口自动化测试流程
项目业务–接口文档–接口用例–python脚本–pytest框架–调试&执行–Allure报告–结果分析

excel用例;Yaml用例;json用例

接口的架构:
业务层;用例层;数据层;执行层;设备层 —app自动化测试;配置层;日志层;报告;构建接口请求python代码

6、python接口自动化测试掌握技能

使用python做接口自动化测试是非常简单的,python入门非常简单,通过短时间的学习后,就可以开展自动化测试了,但需要掌握如下知识:

理解HTTP;学会使用Fiddler;熟悉python基础,python数据类型、函数、模块、类;Mock服务

熟悉常用的python模块,如requests、json、configobj、pyyaml等;
熟悉python单元测试框架,如unittest、pytest、nose等;
熟悉python操作数据库的方法;

7、持续集成

每天打开项目跑测试,那将会非常的麻烦,解决的办法就是持续集成Jenkins,点一下构建,自动完成测试,每天都能看到自己项目的质量情况、质量报告

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。
结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
问题定位:报错信息、日志更精准,方便问题复现与定位。
结果校验:加强自动化校验能力,如数据库信息校验。
代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。
性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

不经历风雨,怎见彩虹;不经历磨砺,难有成长。奋斗是成功的催化剂,只有积极面对挑战,坚持不懈地追求进步,才能破茧成蝶,展翅高飞。相信自己的潜力,踏上征途,创造属于自己的壮丽传奇!

时光如织,岁月如梭,不经历风雨,怎能见彩虹?奋斗不止于汗水,更是内心的力量的释放。坚守初心,超越自我,只有努力拼搏,才能创造属于自己的辉煌。

在奋斗的舞台上,决心打破枷锁;在困境中,信念点亮前路。奋斗不是一时的热情,而是坚持不懈的努力。每一次拼搏都是收获的种子,只要心怀勇气,追求卓越,成功与成就将伴随你铸就辉煌人生。

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

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

相关文章

【学习篇】学习Linux下常用的shell指令

前言:2020年写的一篇博文,Linux下好多指令都不太会用,想利用这个五一好好背一背,要不然用到的时候都反应不过来,还会用错,造成不可估量的风险,哭。。。 以下只摘录了我工作中经常要用到的一些指…

剑指offer10-I.斐波那契数列

学计算机的对这道题肯定不陌生,我记得是学C语言的时候学递归的时候有这道题,于是我就世界用递归写了如下代码: class Solution {public int fib(int n) {if(n1) return 1;if(n0) return 0;return (fib(n-1) fib(n-2)) % 1000000007;} } 到…

【Terraform学习】TerraformCloud入门介绍(快速入门)

TerraformCloud入门介绍 什么是 TerraformCloud? Terraform Cloud是Hashicorp Terraform的SaaS版本。 免费版功能 免费版功能包括版本控制集成、远程计划和实施远程计划和实施、通知及webhook、全http API驱动、状态管理、模拟计划、私有化模块注册器以及全HTTP界…

Nginx 高可用负载均衡(三种模式)

一、nginx普通集群负载均衡 1、安装keepalived (1)下载 https://www.keepalived.org/download.html(2)解压 tar -zxvf keepalived-2.0.18.tar.gz(3)使用configure命令配置安装目录与核心配置文件所在位置: ./configure --prefix/usr/local/keepalived --sysconf/e…

Java JVM虚拟机内部体系结构

JVM(Java虚拟机)是一个抽象机器。 它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台(即JVM是平台相关的)。 什么是JVM? JVM(Java虚拟机)是: 指定Java虚拟机的工作的规范。 但实现提供程序是独立的选择算法。 其实现是由…

25.5 matlab里面的10中优化方法介绍——牛顿法(matlab程序)

1.简述 1 牛顿法简介 牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 多数方程不存…

PHP登陆/php登录--【白嫖项目】

强撸项目系列总目录在000集 PHP要怎么学–【思维导图知识范围】 文章目录 本系列校训本项目使用技术 上效果图phpStudy 设置导数据库 项目目录如图:页面代码后台代码 这么丑的界面能忍?配套资源作业: 本系列校训 用免费公开视频&#xff0…

二叉树进阶(红黑树改造)

目录 引言 改造比较 1.颜色定义 2.节点构造 3.迭代器 3.1 迭代器的模板参数 3.2 迭代器的构造函数 3.3 迭代器的运算符重载函数 3.3.1 前置 3.3.2 前置-- 3.3.3 源码对比 3.3.4 其它运算符重载 4.红黑树改造 4.1 红黑树的begin(),end()函数 4.2 红黑树的模板…

又有一个手艺人震惊了B站用户

飞瓜数据(B站版)【热门视频榜】周榜显示,霸占全站视频流量第一的是来自UP主爱捣鼓的邢志磊发布的作品《我花了半年时间给猫做了个房子》。 视频在一周时间内新增播放1232.2万,新增点赞139.4万。 根据视频详细数据显示&#xff0c…

超详细推导逻辑回归公式与代码实现(二分类与多分类)

目录 概述逻辑回归理论数学推导二类分类多分类 代码实现备注 概述 本文使用梯度下降法对逻辑回归进行训练,使用类似于神经网络的方法进行前向传播与反向更新,使用数学公式详细推导前向传播与反向求导过程,包括二分类和多分类问题&#xff0c…

农业管理3d可视化管理大屏展示为乡村新基建加速

随着科技的不断发展,智慧农业已经成为当今社会农业发展的一个重要趋势。而数字孪生技术作为一种新兴的技术手段,正在逐渐应用到智慧农业领域中。 数字孪生公司深圳华锐视点基于数字孪生为核心技术打造的智慧大脑为乡村新基建加速,让乡村更“聪…

Python入门【推导式创建序列、字典推导式、集合推导式】(九)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白 📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 📧如果文章知识点有错误…

239.滑动窗口最大值

leetcode原题链接 题目描述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例1: 输入:nums [1,…

【UniApp开发小程序】悬浮按钮+出售闲置商品+商品分类选择【基于若依管理系统开发】

文章目录 界面效果界面实现悬浮按钮实现商品分类选择界面使元素均匀分布 闲置商品描述信息填写界面价格校验 界面效果 【悬浮按钮】 【闲置商品描述信息填写界面】 【商品分类选择界面】 【分类选择完成】 界面实现 悬浮按钮实现 悬浮按钮漂浮于页面之上,等页面…

使用langchain与你自己的数据对话(三):检索(Retrieval)

之前我已经完成了使用langchain与你自己的数据对话的前两篇博客,还没有阅读这两篇博客的朋友可以先阅读一下: 使用langchain与你自己的数据对话(一):文档加载与切割使用langchain与你自己的数据对话(二):向量存储与嵌入 今天我们…

【C语言】文件操作(二)

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 目录 📌补充1.sprintf2.…

hive 全量表、增量表、快照表、切片表和拉链表

全量表:记录每天的所有的最新状态的数据,增量表:记录每天的新增数据,增量数据是上次导出之后的新数据。快照表:按日分区,记录截止数据日期的全量数据切片表:切片表根据基础表,往往只…

如何利用tf.keras 实现深度学习?

tf.keras是TensorFlow 2.0的高阶API接口,为TensorFlow的代码提供了新的风格和设计模式,大大提升了TF代码的简洁性和复用性,官方也推荐使用tf.keras来进行模型设计和开发。 常用模块 tf.keras中常用模块如下表所示: 常用方法 深度…

智慧环保:创造绿色未来

随着全球环境问题的日益严重,智慧环保成为推动绿色发展的关键。智慧环保利用先进的技术手段和智能化设备,致力于解决环境问题,保护生态环境,实现可持续发展。它融合了物联网、人工智能、大数据等技术,将科技的力量与环…

C#实现计算题验证码

开发环境:C#,VS2019,.NET Core 3.1,ASP.NET Core API 1、建立一个验证码控制器 新建两个方法Create和Check,Create用于创建验证码,Check用于验证它是否有效。 声明一个静态类变量存放列表,列…