百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

Postman Day3-数据驱动与持续集成,Postman完结篇

bigegpt 2024-08-26 10:54 2 浏览

前面两篇分别介绍了Postman实现接口请求、项目实战,今天我们来看看Postman的数据驱动与持续集成。

1、postman从接口调试到自动化测试:

1、自动判断执行是否成功。 -通过代码 来进行结果的断言。

2、多个接口如何批量运行。 -通过 postman的 collection 进行运行。

3、测试数据管理方式 -collection的run中提供了 用数据文件驱动的方式。

postman支持的是 csv和json两种格式。 用csv可以用excel打开,方便管理。


4、工作中如何定时执行生成报告或者将自动化测试结合到研发体系中。 -通过命令行进行执行,加入持续集成的流程中。


2、url 中的参数:

url的基本构成格式:

协议 域名(服务器地址:端口(默认http 端口80 https端口443可以省略)) / 路径 ? 键=值&键=值

https://sp1.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=12.12.12.12&co=&resource_id=5809&t=1636461955537&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110206769724197850711_1636461449011&_=1636461449013


url中的参数,也叫做query Param查询参数。 postman和chrome开发者工具中,都用这个名字指代url中的参数。


get请求的参数,在url中填写设计。

post请求的参数,通常在对应的请求体里,有些post请求也有可能直接在url中带参数。


3、正则表达式的解析操作:

/<return>(.*?)<\/return>/

(.*?) 表示要获取的内容,可以是任意长度的文字。

语义符号:

():表示将一系列字符组合起来作为一个整体

. :表示任意一个字符

*:表示字符可以出现0-n次

*?表示非贪婪匹配模式,匹配到第一个符合条件的位置,就停止匹配。


由于()是有特殊含义的,所以如果要表示一个普通的小括号字符,要进行转义,用\进行转义。


4、token(令牌,口令)机制鉴权:

为了减少服务器的存储session压力, 只存储校验规则。

token同样会由服务器发给客户端。 测试只需要关注从哪里可以拿到。 开发最清楚哪里拿token。

服务器返回token发送的位置可以在报文中可以携带内容的地方: 返回头 、返回体。

请求在携带token的时候: 也可以放在 请求头、请求体和请求url中。

具体一定找开发或者接口文档看清楚!


5、变量的使用:

1、比如项目中多个接口都是同一个url,就可以使用变量,方便进行维护,减少输入字数。

2、项目中牵涉到参数的值传递,上一个接口拿到的结果,需要作为下一个接口的输入进行使用。

参数关联:

1、A接口获取结果,存到环境变量中

2、B接口使用环境变量。


6、 接口测试的时候要注意,接口文档也是测试对象的一部分。


7、数据驱动

postman中如果collection用数据驱动,已经修改了接口中原本的参数为环境变量调用,那么这个时候请求会把它当做一个普通字符串直接发送。


1、创建excel文件,编写用例,保存为csv格式文件。

2、使用的时候在collction里面 select file 选择csv文件,记得 preview。

3、接口中请求里面使用数据文件的内容就用 {{列名}}



8、命令行执行postman操作:

1、安装nodeJs 环境 : http://nodejs.cn/download/

安装直接双击运行即可,安装完之后,检查一下 node环境变量。

打开cmd窗口, 运行 node -v 和 npm -v两个命令,分别你能查看到 node 和npm的版本信息即可。


2、使用npm安装newman工具,用于完成postman脚本的执行。

npm install newman -g --registry https://registry.npm.taobao.org

使用淘宝的npm镜像下载newman工具。

检查newman的安装: npm config ls 查看到prefix 目录,也就是npm安装内容的目录。 检查一下newman是不是已经装好了,并且将这个目录配置到环境变量PATH里,方便进行newman的使用。


最后cmd运行newman得到如下结果即安装成功:


3、通过newman执行postman的collection。

需要的内容: 环境变量 、 测试集collection 、测试数据csv等。

需要在postman中导出 collection 和 环境变量 environments。 不仅可以用于newman执行,还可以进行导入,查看别人的测试集。


注意:在导出的时候,最好创建一个文件夹管理,不要用中文,同时,导出的文件最好也不要中文名。


执行方式 newman run xxxx.collection.json -e xxxx.enviroments.json

4、newman生成 html测试报告:

1、通过以下命令先安装 newman的html报告插件。

npm install -g newman-reporter-html


2、使用的时候,先声明 -r参数带上html格式,然后使用 --reporter-html-export 参数指定html文件生成位置。

newman run Autoplat.postman_collection.json -e postmancampEnv.postman_environment.json -r cli,html --reporter-html-export result.html



9、Postman monitor工具定时执行

postman中的monitor可以创建监视器,用于定时执行某些collection。 可以在里面配置要执行的测试集,以及设置定时周期,同时可以发邮件给指定的邮箱。


10、jenkins持续集成: 将研发体系中所有的流程结合到一起,放在jenkins中完成。

如果要将postman和jenkins结合起来,去找开发了解清楚,持续集成使用的构建任务,最后加一步执行自己的接口测试newman脚本就好了。


作业:

1、实操实现token项目接口测试数据驱动,记得加上断言。

2、安装newman工具,使用newman通过命令行执行之前写好的collection测试集。

不懂的评论区可留言。

相关推荐

AI「自我复制」能力曝光,RepliBench警示:大模型正在学会伪造身份

科幻中AI自我复制失控场景,正成为现实世界严肃的研究课题。英国AISI推出RepliBench基准,分解并评估AI自主复制所需的四大核心能力。测试显示,当前AI尚不具备完全自主复制能力,但在获取资源...

【Python第三方库安装】介绍8种情况,这里最全看这里就够了!

**本图文作品主要解决CMD或pycharm终端下载安装第三方库可能出错的问题**本作品介绍了8种安装方法,这里最全的python第三方库安装教程,简单易上手,满满干货!希望大家能愉快地写代码,而不要...

pyvips,一个神奇的 Python 库!(pythonvip视频)

大家好,今天为大家分享一个神奇的Python库-pyvips。在图像处理领域,高效和快速的图像处理工具对于开发者来说至关重要。pyvips是一个强大的Python库,基于libvips...

mac 安装tesseract、pytesseract以及简单使用

一.tesseract-OCR的介绍1.tesseract-OCR是一个开源的OCR引擎,能识别100多种语言,专门用于对图片文字进行识别,并获取文本。但是它的缺点是对手写的识别能力比较差。2.用te...

实测o3/o4-mini:3分钟解决欧拉问题,OpenAI最强模型名副其实!

号称“OpenAI迄今为止最强模型”,o3/o4-mini真实能力究竟如何?就在发布后的几小时内,网友们的第一波实测已新鲜出炉。最强推理模型o3,即使遇上首位全职提示词工程师RileyGoodsid...

使用Python将图片转换为字符画并保存到文件

字符画(ASCIIArt)是将图片转换为由字符组成的艺术作品。利用Python,我们可以轻松实现图片转字符画的功能。本教程将带你一步步实现这个功能,并详细解释每一步的代码和实现原理。环境准备首先,你...

5分钟-python包管理器pip安装(python pip安装包)

pip是一个现代的,通用、普遍的Python包管理工具。提供了对Python包的查找、下载、安装、卸载的功能,是Python开发的基础。第一步:PC端打开网址:选择gz后缀的文件下载第二步:...

网络问题快速排查,你也能当好自己家的网络攻城狮

前面写了一篇关于网络基础和常见故障排查的,只列举了工具。没具体排查方式。这篇重点把几个常用工具的组合讲解一下。先有请今天的主角:nslookup及dig,traceroute,httping,teln...

终于把TCP/IP 协议讲的明明白白了,再也不怕被问三次握手了

文:涤生_Woo下周就开始和大家成体系的讲hadoop了,里面的每一个模块的技术细节我都会涉及到,希望大家会喜欢。当然了你也可以评论或者留言自己喜欢的技术,还是那句话,希望咱们一起进步。今天周五,讲讲...

记一次工控触摸屏故障的处理(工控触摸屏维修)

先说明一下,虽然我是自动化专业毕业,但已经很多年不从事现场一线的工控工作了。但自己在单位做的工作也牵涉到信息化与自动化的整合,所以平时也略有关注。上一周一个朋友接到一个活,一家光伏企业用于启动机组的触...

19、90秒快速“读懂”路由、交换命令行基础

命令行视图VRP分层的命令结构定义了很多命令行视图,每条命令只能在特定的视图中执行。本例介绍了常见的命令行视图。每个命令都注册在一个或多个命令视图下,用户只有先进入这个命令所在的视图,才能运行相应的命...

摄像头没图像的几个检查方法(摄像头没图像怎么修复)

背景描述:安防监控项目上,用户的摄像头运行了一段时间有部分摄像头不能进行预览,需要针对不能预览的摄像头进行排查,下面列出几个常见的排查方法。问题解决:一般情况为网络、供电、设备配置等情况。一,网络检查...

小谈:必需脂肪酸(必需脂肪酸主要包括)

必需脂肪酸是指机体生命活动必不可少,但机体自身又不能合成,必需由食物供给的多不饱和脂肪酸(PUFA)。必需脂肪酸主要包括两种,一种是ω-3系列的α-亚麻酸(18:3),一种是ω-6系列的亚油酸(18:...

期刊推荐:15本sci四区易发表的机械类期刊

  虽然,Sci四区期刊相比收录在sci一区、二区、三区的期刊来说要求不是那么高,投稿起来也相对容易一些。但,sci四区所收录的期刊中每本期刊的投稿难易程度也是不一样的。为方便大家投稿,本文给大家推荐...

be sick of 用法考察(be in lack of的用法)

besick表示病了,做谓语.本身是形容词,有多种意思.最通常的是:生病,恶心,呕吐,不适,晕,厌烦,无法忍受asickchild生病的孩子Hermother'sverysi...