MyPostMan 迭代文档管理、自动化接口闭环测试工具(自动化测试篇)
MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环境中均可运行这些用例。
软件下载
如果不想从源码一步步编译,可以从以下链接下载可执行文件:
windows 平台:MyPostMan-Setup-0.0.5.exe
mac 系统:MyPostMan-0.0.5.dmg
mac 可能遇到无法打开应用的情况,在终端执行命令sudo spctl --master-disable
后即可正常打开
编写单测用例、执行测试
上面,我们在编写接口文档时,已经大概测试了单个接口是可用的。实际上,这些接口不是单独存在的,他们需要根据特定的使用场景,按一定的规则将这些接口的入参、返回值串联起来,通过一步步的断言验证在这个特定场景下,接口返回信息是正确无误的。
以我们的天气预报项目为例,上面验证了 上海 这个城市查询天气是没有问题的,然而我们的实际场景是:从支持的城市列表中任意拿出一个城市,都要求必须能够查询出这个城市的天气,只有这样才能确保我们的接口是真的可用。
新建一个单测用例:从迭代菜单找到天气预报 2407->单测,点击添加,单测名称我写的是 任意城市查询天气,点击确定。
在这个单测用例中,包含两个步骤:
- 查询城市列表
- 从城市列表的返回中,任意选择一个城市名作为入参,查询该城市的天气
为了保证这些步骤顺利执行下去,每个步骤必须添加一个断言,断言失败终止执行测试用例,并告知亲在哪里断言出错了,入参是什么、返回是什么,方便你进行排查修复 bug。
从单测列表中找到你新加的单测,右边三个点中找到添加步骤入口
接口选择 天气预报 项目 的 查询支持的城市列表 接口,触发方式选择自动执行,其他使用默认值即可。{{appKey}}
会从接口关联项目的环境变量中读取对应的环境变量值。
下面填写返回断言:这个接口的断言是要求 接口返回正确的错误码,也就是 error_code 必须是 0
最终生成下面的断言表达式,支持添加多个断言的,他们之间是且的关系。点击添加步骤按钮,添加我们第一个单元测试的第一个步骤。
我们可以试着运行一下测试用例,看一下效果,选择环境->本地环境,点击执行用例按钮。
从图中可以看到,我们的执行结果是成功的,也可以看到,我们每个步骤、接口调用的入参、返回值,断言两边的计算结果,方便我们在遇到失败时进行排障。
再接再厉,添加第二个接口,拿刚刚成功的获取城市列表接口返回的 任意一个城市作为入参,调用查询天气预报接口,断言接口返回的城市就是我们入参提供的来自于城市列表接口返回的任意城市。(有点绕,诶,看图)
下面是高能区,仔细看图
result.*random().city
是参数数据源的具体路径,result 下面是一个数据,我们选数组下面的任意的一个元素,拿到这个元素后,我们使用他的 city 字段作为入参。(放心,在输入“.”号时会自动触发语法提示,输入这些不会太难,你体验一下就知道了~)
点击确定,入参已经填好了
下面添加返回断言,我的断言名称是 接口的返回城市名称字段需要与入参的城市名一致
这个能看懂吧?我们拿当前步骤执行结果中的 result.city
路径的数据作为断言的左侧。
这个是拿我们当前步骤 body 入参的 city
路径的实际数值作为断言比较的对象,结果如下:
可以看到,我们已经添加好了两个步骤,下面在 本地环境 下执行我们的用例。
我们从城市列表接口的返回中随机取了一个叫 廊坊 的城市查询了天气预报,返回的城市名称正是廊坊,断言成功!
好了,我们的入门教程就到这里,其他功能,比如备份、还原数据库,从 PostMan 导入接口到项目等功能,自行探索。啰嗦一句,最好定时备份一下数据库!
从源码编译
版本依赖: - nodejs:v20.12.2 - electron:26.2.4
- 安装 & 配置 yarn
npm install -g yarn
yarn config set ELECTRON_MIRROR https://registry.npmmirror.com/-/binary/electron/
yarn config set ELECTRON_BUILDER_BINARIES_MIRROR https://registry.npmmirror.com/-/binary/electron-builder-binaries/
yarn config set registry https://registry.npmmirror.com/
- 下载依赖包
yarn
- 生成可执行文件
yarn package
相关文章:
MyPostMan 迭代文档管理、自动化接口闭环测试工具(自动化测试篇)
MyPostMan 是一款类似 PostMan 的接口请求软件,按照 项目(微服务)、目录来管理我们的接口,基于迭代来管理我们的接口文档,文档可以导出和通过 url 实时分享,按照迭代编写自动化测试用例,在不同环…...
https和http有哪些区别?
在今天的互联网世界中,我们经常听到关于HTTPS和HTTP的术语。它们都是超文本传输协议(HTTP)的变种,但它们之间存在着重要的区别。本篇博客将深入探讨HTTPS与HTTP之间的差异以及为什么HTTPS在现代网络中变得如此重要。 目录 1. HT…...
Bubbliiiing 的 Retinaface rknn python推理分析
Bubbliiiing 的 Retinaface rknn python推理分析 项目说明 使用的是Bubbliiiing的深度学习教程-Pytorch 搭建自己的Retinaface人脸检测平台的模型,下面是项目的Bubbliiiing视频讲解地址以及源码地址和博客地址; 作者的项目讲解视频:https:…...
Web前端-Web开发HTML基础8-nav
一. 基础 1. 写一个导航标签,里面是两个超链接,分别指向https://baidu.com和https://huawei.com/cn; 2. 写一个导航标签,里面是三个超链接,分别指向https://baidu.com、https://huawei.com/cn和https://www.nowcoder.c…...
如何建设和维护数据仓库:深入指南
欢迎来到我的博客,很高兴能够在这里和您见面!欢迎订阅相关专栏: V: LAF20151116 进行更多交流学习 ⭐️ 全网最全IT互联网公司面试宝典:收集整理全网各大IT互联网公司技术、项目、HR面试真题. ⭐️ AIGC时代的创新与未来ÿ…...
海思arm-hisiv400-linux-gcc 交叉编译rsyslog 记录心得
需要编译rsyslog,参考海思3536平台上rsyslog交叉编译、使用-CSDN博客和rsyslog移植(亲测成功)_rsyslog交叉编译-CSDN博客 首先下载了要用到的一些库的源码,先交叉编译这些库 原来是在centos6上交叉编译的,结果编译时报缺少软件要…...
IDEA工具中Java语言写小工具遇到的问题
一:读取excel时遇到 org/apache/poi/ss/usermodel/WorkbookProvider 解决办法: 在pom.xml中把poi的引文包放在最前面即可(目前就算放在最后面也不报错了,不知道为啥) 二:本地maven打包时,没有…...
2-38 基于matlab的蚁群算法优化无人机uav巡检
基于matlab的蚁群算法优化无人机uav巡检,巡检位置坐标可根据需求设置,从基地出发,返回基地,使得路径最小。可设置蚁群数量,信息素系数。输出最佳路线长度。程序已调通,可直接运行。 2-38 蚁群算法优化无人…...
解决selenium打印保存为PDF时图片未加载成功的问题
使用selenium打印网页时,如果程序运行很快的话,可能会导致图片没有加载成功即进行了保存,出现这个问题最初的思考是在执行打印任务时使用js进行强制等待,后发现实现效果并不好。在加载页面时使用自动下滑的方式将网页拉到底&#…...
如何将PDF转换成可以直接编辑的CAD图纸?
PDF图纸是为了让用户更好的阅览CAD文件,但是,当我们想要对其进行编辑的时候,PDF图纸就是一个麻烦了。那么PDF转换成CAD后可以编辑吗?如何将PDF转换成可以直接编辑的CAD图纸呢?本篇给你答案。 1、启动迅捷CAD编辑器&…...
【STM32】理解时钟树(图示分析)
文章目录 时钟系统什么是时钟时钟树简化图示类比示例时钟树详解时钟源系统时钟配置各总线时钟外设时钟 时钟系统 什么是时钟 时钟在电子和计算机系统中指的是生成周期性信号的电路或设备,这种周期性信号用于同步系统内的各种操作。时钟信号通常是方波,…...
动态内存四个函数
文章目录 1. malloc2. calloc3. realloc4. free 在C语言中,malloc、calloc、realloc 和 free 是用于动态内存管理的标准库函数,它们定义在 <stdlib.h> 头文件中。以下是这些函数的用法: 1. malloc malloc 函数用于在堆区分配指定大小…...
DevExpress WPF中文教程 - 为项目添加GridControl并将其绑定到数据
DevExpress WPF拥有120个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…...
高性能分布式IO系统BL205 OPC UA耦合器
边缘计算是指在网络的边缘位置进行数据处理和分析,而不是将所有数据都传送到云端或中心服务器,这样可以减少延迟、降低带宽需求、提高响应速度并增强数据安全性。 钡铼BL205耦合器就内置边缘计算功能,它不依赖上位机和云平台,就能…...
live555 rtsp服务器实战之doGetNextFrame
live555关于RTSP协议交互流程 live555的核心数据结构值之闭环双向链表 live555 rtsp服务器实战之createNewStreamSource live555 rtsp服务器实战之doGetNextFrame live555搭建实时播放rtsp服务器 注意:该篇文章可能有些绕,最好跟着文章追踪下源码&…...
Nginx系列-3 servername优先级和location优先级和常用正则表达式
1.正则表达式和分组 由于Nginx配置文件中经常出现正则表达式,因此本章节专门对常见的正则表达式进行简单介绍。 [1] 开始与结束 ^表示匹配输入字符串的开始 $表示匹配输入字符串的结束[2] 匹配次数 ?表示匹配0次或者1次 表示匹配1次或多次 *表示匹配0从或多次…...
python—爬虫爬取电影页面实例
下面是一个简单的爬虫实例,使用Python的requests库来发送HTTP请求,并使用lxml库来解析HTML页面内容。这个爬虫的目标是抓取一个电影网站,并提取每部电影的主义部分。 首先,确保你已经安装了requests和lxml库。如果没有安装&#x…...
实现图片拖拽和缩小放大功能。
1. 前言 不知道各位前端小伙伴蓝湖使用的多不多,反正我是经常在用,ui将原型图设计好后上传至蓝湖,前端开发人员就可以开始静态页面的的编写了。对于页面细节看的不是很清楚可以使用滚轮缩放后再拖拽查看,还是很方便的。于是就花了…...
昇思25天学习打卡营第18天|munger85
DCGAN生成漫画头像 首先肯定是下载训练数据,而这些训练数据就是一些卡通头像。后来我们会看到这个具体的头像 就像其他的数据集目录一样,它是由一些目录和这个目录下面的文件组成的数据集。 有相当多的图片。所以可以训练出来比较好的效果。 图片的处理…...
nginx配置文件说明
Nginx的配置文件说明 Nginx配置文件的主要配置块可以分为三个部分:全局配置块(events和http块),events块和http块。这三个部分共同定义了Nginx服务器的整体行为和处理HTTP请求的方式。 全局配置块: 包含了影响Nginx服…...
用不同的url头利用Python访问一个网站,把返回的东西保存为txt文件
这个需要调用requests模块(相当于c的头文件) import requests 还需要一个User-Agent头(这个意思就是告诉python用的什么系统和浏览器) Google Chrome(Windows): Mozilla/5.0 (Windows NT 10.0; Win64; x64…...
一文掌握Prometheus实现页面登录认证并集成grafana
一、接入方式 以保护Web站点的访问控制,如HTTP 服务器配置中实现安全的加密通信和身份验证,保护 Web 应用程序和用户数据的安全性。 1.1 加密密码 通过httpd-tools工具包来进行Web站点加密 yum install -y httpd-tools方式一:通过htpasswd生…...
欢迎来到 Mint Expedition:Web3 和 NFT 的新时代开始
7 月 15 日,Mint Expedition 正式开启,作为 Mint 生态系统的旗舰项目,将彻底变革 Web3 和 NFT 去中心化应用! Mint Expedition 是 Mint 的最新航程,延续了 Mint Forest 的成功。Mint Forest 吸引了超过 41.4 万独立用…...
针对环境构图的全局一致性扫描点云数据对齐(Graph SLAM)
本算法是一个经典的,针对SLAM(simultaneous localization and mapping 即时定位与地图构建)问题而提出的算法。该算法的提出者是Feng Lu和Evangelos Milios,他们在本算法中开创了通过全局优化方程组以减少约束引入的误差来进一步优…...
Matlab学习笔记01 - 基本数据类型
Matlab学习笔记01 - 基本数据类型 1、数据类型转换2、矩阵2.1 访问单个矩阵元素2.2 访问多个矩阵元素2.3 矩阵转置 3、字符与字符串4、数值与字符串5、元胞数组 1、数据类型转换 十进制转十六进制字符串‘FF’ >> hex2dec(3ff)ans 1023十进制转十六进制字符串 >>…...
基于重要抽样的主动学习不平衡分类方法ALIS
这篇论文讨论了数据分布不平衡对分类器性能造成的影响,并提出了一种新的有效解决方案 - 主动学习框架ALIS。 1、数据分布不平衡会影响分类器的学习性能。现有的方法主要集中在过采样少数类或欠采样多数类,但往往只采用单一的采样技术,无法有效解决严重的类别不平衡问题。 2、论…...
Python爬虫(基本流程)
1. 确定目标和范围 明确需求:确定你需要从哪些网站抓取哪些数据。合法性:检查目标网站的robots.txt文件,了解哪些内容可以被抓取。数据范围:确定爬取数据的起始和结束点,比如时间范围、页面数量等。 2. 选择合适的工…...
primeflex教学笔记20240720, FastAPI+Vue3+PrimeVue前后端分离开发
练习 先实现基本的页面结构: 代码如下: <template><div class"flex p-3 bg-gray-100 gap-3"><div class"w-20rem h-12rem bg-indigo-200 flex justify-content-center align-items-center text-white text-5xl">…...
移动设备安全革命:应对威胁与解决方案
移动设备已成为我们日常工作和家庭生活中不可或缺的工具,然而,对于它们安全性的关注和投资仍然远远不够。本文深入分析了移动设备安全的发展轨迹、目前面临的威胁态势,以及业界对于这些安全漏洞响应迟缓的深层原因。文中还探讨了人们在心理层…...
【C语言】 链表实现学生管理系统(堆区开辟空间)
总体思路都能写出来,问题是感觉稍微比之前的麻烦一些,在刚开始创建结构体的时候,并没有去按照链表的思路去写,导致写成了顺序表,后面就一直纠结空间怎么开辟。 链表是由一个头节点和其它申请出来的小节点连起来的&…...
做爰的最好看的视频的网站/女排联赛排名
1.选择控制面板----> 选择 程序 ————> 选择 打开或关闭windows功能2.此时回弹出一个对话框,将telnet客户端打上√注意:不要讲telnet服务端打上√转载于:https://blog.51cto.com/linux2585/1540136...
天津国际工程建设监理公司网站/品牌营销推广方案
发了vue2.0之axios使用详解(一)后,有朋友问如何在实际项目中使用,下面把我平常用的两种方法分享下,自己在实际项目中总结的方法,有不好的地方还请指正,共同提高,谢谢! [javascript] view plainc…...
深圳发布稳增长措施/seo关键字优化技巧
前端小伙伴们有没有遇到过这样的场景,iviewUI组件库中select双向绑定数据时,修改了绑定值,但是页面中渲染的值还是之前的值,不管是去打印还是使用vue插件去查看变量,均显示绑定值已修改,可是页面始终显示修…...
浙江网站建设报价/成都seo技术
摘要:创建并设置一个WebViewClient子类,回调对应的方法改变网页内容的呈现方式,比如:网页加载错误回调onReceivedError(),提交表单错误回调onFormResubmission(),拦截URL加载回调shouldOverrideUrlLoading(…...
做网站太麻烦了/免费下载app并安装
感觉很水。 因为SAM上一个点的子树大小代表这个点所表示子串的出现次数。 建出广义后缀自动机之后。在\(parent\)树上跑\(DP\),维护\(size[i][1]\),和\(size[i][0]\)代表i的子树中有多少第一个串的结束节点和第二个串的结束节点,然后答案就是\(size[i][0…...
免费开商城网站/许昌网络推广外包
1.dockerToolBox下载 下载路径1:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/下载路径2: https://docs.docker.com/toolbox/toolbox_install_windows/1.Docker溯源Docker的前身是名为dotCloud的小公司,主要提供的是基于 PaaS(Plat…...