火爆,接口测试+接口自动化测试整理总结,你不知道的都在这了...

news2024/11/20 6:35:33

目录:导读

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


前言

1、接口自动化测试概叙

什么是接口测试?

前后端不分离:淘宝网站(响应的数据在页面,访问响应的数据是html的)返回的是一整个html(做接口难,需要解析数据,因为返回的是整个html代码)

前后端分离,前端和后端通过api(接口交互),返回的只是数据本身(App可能并不需要后端返回一个HTML网页)(市面上主流项目前后端分离走json格式的)

发请求以json数据格式返回的,通过api接口协议前后端进行交互的

2、接口的概念

接口是应用程序之间的相互调用
接口是实体或者软件提供给外界的一种服务

软件接口:
api,微信提现调用银联的接口实现数据交互

一种是内部接口:
方法与方法之间的交互、模块与模块之间的交互

一种是调用对外部包装的接口:
web接口:http,https,webserver(目前大多做web接口)
应用程序接口:soket接口  走的tcp/ip协议的
数据库接口:

3、接口测试目标

可以发现客户端没有发现的bug,(隐藏的bug)(提交订单,前端屏蔽了后端没有,可以随便乱填的)

及早爆出风险(保证质量正常上线)
接口稳定了,前端随便改
最重要加内存系统安全性,稳定性

4、接口自动化测试怎么做

项目业务(了解项目业务)
接口文档(api文档)
接口用例
自动化脚本(根据接口文档和接口用例)
pytest框架  重点
调试执行   重点
allure报告
结果分析
持续集成

5、Fiddler(抓包工具的使用)

1)fidder的使用技巧(能抓包,查看抓包数据)

能抓取https要设置证书:(免费的,开源的,能抓很多对应消息,app的也可以)

fidder是一款免费,灵活,操作简单,功能强大的http代理工具,是目前最常用的http抓包工具之一

可以抓取所有的http/https包,过滤会话,分析请求详细内容,伪造客户端请求,篡改服务器响应,重定向,网络限速,断点调试等功能

2)fiddler的工作原理

正向代理(正向代理服务器,通过浏览器发送请求以前是直接发给服务器,fidder转发(代理服务器)

浏览器请求发给fidder代理服务器,fidder代理服务器转发给服务器;
服务器数据转发给fidder代理服务器,代理服务器发给浏览器;

3)正向代理

转发浏览器的请求和响应,抓包工具 对客户端透明

4)反向代理

nginx——负载均衡的——性能  一个服务器
tomcat db(现在用户级别很大,一个tomcat搞不定,需要帮手,三个tomcat分担流量(怎么协调加nginx–负载均衡))

浏览器发请求过来,不知道请求发给谁,请求量很大,通过nginx把请求分发到各个tomcat里面去,避免的一个tomcat承受不住

6、cookie详解

服务器发给客户端:请求的响应数据
响应头:Set-cookies,本地存放cookies攻击

cookie缓存身份的概念:a请求发给服务器,a第一个请求没有带cookie,比如登录操作一开始请求不带cookie的,服务器响应把cookie放到响应头:set-cookie

浏览器拿到set-cookie会自己进行处理,然后第二个请求发出去,就会带上cookie进行校验

浏览器访问里面自己传递,但是接口请求是不会自己带cookie的,需要提取cookie

a响应头里面把cookie拿出来,放到一个变量,下一个b请求把cookie放到请求头

不同用户的cookie不一样的,不然会冲突的
cookie里面包含很多内容:但是最常见的是sessionid(会话id)
简单项目里面有cookie就差不多了,但是有的项目里面cookie里面带token-复杂点

cookie是分站点的,站点和站点之间的cookie是相互独立的
浏览器的cookie是保存在浏览器的某个位置

服务器端可以通过:响应头中的set-cookie参数,对客户端的cookie进行管理
浏览器的每次请求,都会把该站点的cookie发送给服务器进行匹配校验

实现登录:cookie+session配合使用
cookie不是只有登录,发送请求访问首页都有cookie。
cookie放在浏览器本地的(缓存里面),sessionid放在服务器的上
sessionid必须寄生在cookie里面,搭配cookie一起使用(sessionid值一般在cookie里面传过去的)

7、sessionid:翻译为会话id

sessionid就是会话id 身份验证-存放到 服务器
session是一个对象,是服务器产生的,保存在服务器中,
session有自己的管理机制,包括session产生,销毁,超时等
session id是session对象的一个属性,是全局唯一的,永远不会重复

8、cookie和sessionid合作流程(常见的方式)

1)快速理解

用户登录成功服务器创建session,返回给客户端,客户端浏览器把session保存到它的cookie里

2)过程描述

登录成功服务器立马创建session,并通过(响应头)中的set-cookie属性把session返回给客户端

浏览器把响应头中的set-cookie内容保存起来,存在浏览器自己的cookie中
以后浏览器每次发送请求时,都会把该站点的全部cookie封装到请求头中,传递给服务器

9、tooken:令牌

1)token

令牌(令牌代表身份信息,身份标识----身份校验(数据库db校验,每发个请求就需要校验很麻烦,避免频繁访问数据库,token就表示身份))

cookie和token(cookie里面最关键的就是session id值)

2)cookie里面有时候有sessionid和token值

一般为了减少对数据库的访问,校验,数据库的账号密码,
做个令牌:token需要身份校验,账号密码校验,获取token值(返回token字符串))
token也是由服务器参数的,存在服务器的内存或者硬盘中
有一套产生规则,会涉及到加密算法

3)用token来实现登录

开发提供一个获取token接口,根据用户名+密码,获取一个token值–返回一个token(字符串)

4)token值服务器通过什么发给客户端

通过响应头传给客户端    次要
通过响应消息体传给客户端  主要
通过cookie传递给客户端   很少

5)token使用场景

服务器访问的同时,vip学员访问服务器,怎么保证vip学员的权限,普通用户也能访问,vip学员的访问的时候加一个验证,vip访问的同时加个验证

访问网站同时校验身份,必须去vip官网去认证,通过vip账号密码拿到token值,去访问服务器时候时候token带上。

做二次校验,身份的校验,不是每个人都能访问这个网站,只有vip学员才可以,
访问之前vip学员拿vip账号去网站认证一下,获取到token值然后每次访问都带上这个token就可以了。

这个token可以在cookie里面,token放头headers里面和cookie里面都可以,这时候token值,cookie里面自行加token值,自行组装

额外增加某些校验参数,cookie里面可以加一些值,如token值,自行封装cookie

认证的时候token身份二次校验,token放cookie里面和头里面都行(校验是不是vip学员)

10、接口测试数据格式

1)接口自动化测试数据源(测试用例来源哪里)测试用例一般存放在哪里

excel测试用例;
yaml格式用例;
csv;

2)自动化脚本中的数据类型:

表单格式:
[urlencoded格式]:又叫form格式,或者是x-www-form-urlencoded格式(type类型为表单形式,传数据表单形式)

表单格式是键值对组成的,键和值之间用=,多个值之间用& 如:name=zhengsan&age=16

json格式(str字符串:键值对类型的字符串) 
json有对象,数组两种结构,有字符串,数字,逻辑值,空值四种数据类型

用大括号{}表示对象,对象由属性组成的,属性由键值对组成的,键和值用冒号隔开,属性之间用逗号隔开,键必须用双引号引起来

用中括号[]表示数组,数组由单独的值组成
json灵活,json可以嵌套

11、面试自动化做到什么程度

1)规范流程

所有得代码传git——>git提交后通过ginkins去触发,自动化角度(脚本去触发,项目版本发布触发自动化脚本执行))

需要搭建服务器(搭建持续集成服务器,cicd),所有的代码环境都在服务器里面

开发角度:版本迭代发布到git进行jinkins自动打包,触发自动化执行
自动化人员角度:通过git传自动化脚本,触发对应场景触发自动化脚本执行

版本变化+脚本变化(都能触发自动化脚本执行)

2)本机跑项目(没有上jinkins持续集成的线路)

代码跑完了生成报告后发邮件(代码仅一个人有)
线上  线下

12、接口自动化代码写道后期需要加的三个步骤

1)yaml设计登录

2)allure报告优化,做标签

3)xxx.bat批处理文件一键执行跑起来(windows是bat mac是:sh)

Jenkins最终用的就是命令行,怎么命令行启动,起各种服务,都是.命令行运行(需要掌握)

批处理文件执行整个自动化:环境清除+执行代码+生成allure报告
不是点run跑

13、自动化测试用例设计:代码好处理,接口来说,需要

url
body
预期结果
请求方式
路径
接口名称
用例名称
模块
用例id
请求参数类型

请求参数

代码构建请求可能用到的,自动化测试用例要让代码容易解读,

为什么需要用例名称:如果一个模块有很多接口,比如新增,列出,删除课程,一般按照顺序来测试

如果不按照顺序(有名称可以自动识别用例模块,那个接口的,接口用例写的时候打乱,有用例名称,可以自己识别组装成列表)—一般接口用例按照模块顺序写,方便

14、同步接口和异步接口(教官系统里面的接口都是同步接口)

同步接口:
我给你东西,就等你东西,发请求给你,就等你响应就行ok了,不来就超时或者一直等着,请求等你响应,你不来我就等着不动了,你不动我不动

这样就很尴尬,银行办事情,前面需要拿号,号没拿到办不了事情,这是同步的,拿号操作后才能往后面走,否则走不了

异步接口:
增加商品:增加归增加,增加完之后我立马增加请求发出去之后,服务端立马回一个id号(跟踪userid号)放在队列里面做的,告诉你我已经再队列里处理你的请求

后面你来查就行了,哪怕中间很慢很慢没关系,它来处理,等会来查就行了

银行办事:
三个窗口,第一个窗口办完之后给凭证,然后告诉我看到这里面好了就来拿东西。

体检:
很多项目,验完血之后给个单子,让你等多少时间来拿化验报告就行,接着做下面的项目,这就是异步(工作人员化验你的血液),我们正常去体检其他项目,等做完之后看到结果出来去拿结果就行了,定时让朋友去问问定时查询体检动作–不等

很重要:
现在教官系统都是同步的,发一个请求等一个,如果请求没有响应会发现我们一直等着那边不会释放,请求没有结束是不会释放的,采取异步操作  
  
理解异步和同步操作
异步一般两个步骤:一个操作,一个是get的
请求接口;
get接口:get结果-查result结果;

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一次触碰边界,都是突破自己的机会;每一次跨越困难,都是迈向成功的征程。不要停止奋斗,因为坚持才能书写属于你的传奇人生!相信自己,勇往直前!

生命短暂,时间宝贵。只有积极面对每一天,不断挑战自我,才能创造更美好的未来。珍惜当下,放眼未来,勇往直前,拥抱成功!

生命中有许多不确定的因素,但唯一确定的是我们每个人都有自己的梦想。只要坚定追求,不放弃努力,无论路途多么坎坷,我们都会在奋斗中成就辉煌!

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

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

相关文章

软件外包开发文档

编写软件开发文档是项目开发过程中的关键步骤,它有助于组织、记录和分享项目的信息和进展。以下是编写软件开发文档的一般步骤和建议,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.文档…

vue2 集成 Onlyoffice

缘起于进行了一次在线 Office 解决方案的调研,对比了 Office365、可道云、WPS Office、PageOffice 等厂商,最终敲定了使用 Onlyoffice,故整理了一份 Onlyoffice 从零开始系列教程,这是第一篇。 一、Onlyoffice 是什么&#xff1f…

虹科 | 解决方案 | 机械免拆压力测试方案

对于发动机的气门卡滞或气门开闭时刻错误、活塞环磨损、喷油嘴泄漏/堵塞等故障,往往需要解体发动机或拆卸部件才能发现;而对于某些轻微的故障,即使解体了发动机后也经常难于肉眼判别 虹科Pico提供的WPS500压力测试方案,可以动态测…

架构师日记-聊聊开发必掌握的那些实践技能 | 京东云技术团队

一 引言 尽管软件开发一直致力于追求高效、可读性强、易于维护的特性,但这些特性却像是一个不可能三角,相互交织,此消彼长。就像底层语言(如汇编和C语言)能够保持高效的运行性能,但在可读性和维护性方面却…

会议OA小程序【首页布局】

目录 一. Flex布局介绍 1.1 什么是Flex布局 1.2 基本概念 1.3 Flex属性 二. 会议OA首页轮播图的实现 配置 Mock工具 swiper 效果展示 三. 会议OA首页会议信息布局 index.js index.wxml index.wxss 首页整体效果展示 一. Flex布局介绍 布局的传统解决方案&#x…

LeetCode之买卖股票的最佳时机系列共6道题

文章目录 0 引言1 121. 买卖股票的最佳时机1. 1 暴力法1.2 一次遍历1.3 动态规划 2 122. 买卖股票的最佳时机 II2.1 一次遍历2.2 动态规划 3 123. 买卖股票的最佳时机 III3.1 动态规划 4 188. 买卖股票的最佳时机 IV4.1 动态规划 5 309. 买卖股票的最佳时机含冷冻期5.1 动态规划…

每日温度00

题目链接 每日温度 题目描述 注意点 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替1 < temperatures.length < 100000 解答思路 使用单调栈解决本题&#xff0c;思路为&#xff1a…

IEEE754 FP16

一. 实数的表达方法 1.定点数表示法 <整数部分>.<小数部分> 例. 666.66 2.浮点数表示法 科学计数法&#xff1a;有效数字基数&#xff08;base&#xff09;指数&#xff08;exponent&#xff09;正负符号位 规范化表示&#xff1a;d.ddd*β^e&#xff08;0&…

智能井盖的用处有哪些?好用在什么地方?

智能井盖是一种基于物联网技术的井盖系统&#xff0c;通过集成传感器、通信设备和数据处理功能&#xff0c;实现对井盖的实时监测、远程管理和智能化控制。WITBEE万宾的智能井盖传感器EN100-C2&#xff0c;只要在城市需要的井盖上面安装即可使用&#xff0c;一体式结构&#xf…

Python pip 替换国内镜像源

pip它还有一个非常好的特点&#xff0c;当你安装一个库的时候&#xff0c;它会自动帮你安装所有这个库的依赖库。完全一键式操作。非常方便。但是由于pipy网站是国外网站&#xff0c;很容易会被墙&#xff0c;导致经常下载速度非常慢&#xff0c;经常超时。 解决办法&#xff…

BSA研究方案——如何从容不迫的进行性状定位

&#xff08;一&#xff09;BSA基本概念 BSA即集群分离分析法&#xff0c;是Bulked-Segregant Analysis的首字母缩写。具体是利用差异目标性状的两个亲本构建家系&#xff0c;在子代分离群体中选取目标性状个体构建DNA混合池&#xff0c;采用高通量测序技术对混池DNA进行建库测…

在VScode中启动的前端项目关于 Local 和 Network 两个地址的区别

首先这两个地址在你的电脑上都是可以访问的 具体区别&#xff1a; localhost 是供当前电脑访问的地址&#xff0c;仅供你自己访问&#xff0c;其他人通过localhost 是访问不到你跑的项目的。你把 localhost 换成IP地址 127.0.0.1 也是相同的效果&#xff0c;因为 127.0.0.1 也…

uniapp vue3.0+TS 上传单张或多张图片,并且能删除和预览。

一、uniapp vue3.0TS 上传单张或多张图片&#xff0c;并且能删除和预览。 效果&#xff1a;人菜话不多 先上效果&#xff1a; 二、代码 1.HTML 上传图片相关代码 代码如下&#xff1a; <template><view class"images_box"><view class"img…

初始web项目tomcat部署报错404

问题 简单地创建了一个web项目&#xff0c;结果一运行就404咧&#xff0c;真滴烦。。。接下来的项目也没法继续了 问题原因&#xff1a;缺少文件 其实造成这样问题的原因有不少&#xff0c;但在这里我是踩了一个坑。在出问题之前&#xff0c;我运行的其他项目都是可以跑的&…

antdv 锚点踩坑

目录 1.锚点无滚动效果 2. 进入页面跳转到指定锚点 1.锚点无滚动效果 背景&#xff1a;使用antd的锚点时&#xff0c;按照官方文档的用法配置之后发现锚点组件的锚点Title位置没办法随着我的页面滚动而变化&#xff0c;但是点击Title跳转具体锚定位置的功能却是没有问题的 解…

使用 Elasticsearch 作为向量数据库:深入研究 dense_vector 和 script_score

Elasticsearch 是一个非常强大且灵活的搜索和分析引擎。 虽然其主要用例围绕全文搜索&#xff0c;但它的用途广泛&#xff0c;足以用于各种其他功能。 其中一项引起许多开发人员和数据科学家关注的功能是使用 Elasticsearch 作为向量数据库。 随着 dense_vector 数据类型的出现…

排名评估指标综合指南

一、介绍 右排序是机器学习中的一个问题&#xff0c;其目标是以最合适的方式对最终用户的文档列表进行排序&#xff0c;因此最相关的文档出现在顶部。排名出现在数据科学的多个领域中&#xff0c;从推荐系统开始&#xff0c;算法建议一组要购买的商品&#xff0c;最后到 NLP 搜…

STM32F4X TFTLCD ST7735S使用

STM32F4X TFTLCD ST7735S使用 TFTLCD简介TFTLCD使用TFTLCD特点TFTLCD的概念TFTLCD色彩空间三原色RGB颜色RGB565RGB666RGB888 ST7735S驱动芯片ST7735S引脚定义ST7735S 4线SPI模式ST7735S显示原理ST7735S分辨率ST7735S显存结构ST7735S像素点扫描模式MCU操作ST7735S显存方法 TFTLC…

解决appium或selenium使用时driver.find_element_by_xpath中间有删除线问题

一、问题描述 Darren洋在公司电脑搭建完成appium后准备运行appium2.0版本执行脚本时发现执行脚本中的driver.find_element_by_xpath中间有删除线&#xff0c;说明较高版本的appium及selenium中该方法已被弃用。 二、解决办法 该问题解决办法为将driver.find_element_by_xpath()…

广东金媒人的线下交友活动有哪些吸引点呢?

广东金媒人线下交友活动吸引人的地方还是不少的&#xff0c;这也是举办活动的机构中&#xff0c;都具备的优点。 金媒人现场活动有专业的主持人&#xff0c;可以及时帮助大家解疑答惑&#xff0c;让相亲更高效。活动场地都是比较正式、开阔的&#xff0c;一般是西餐厅类型的地方…