读后笔记 -- Python 全栈测试开发 Chapter9:Postman + Newman 实现接口自动化
9.1 Postman 工具
9.1.4 Postman 基本操作
1. Get 请求
GET 请求的参数通过 Params 设置,最后出现在 url 地址栏上,拼接在 API 后面。
2. Post 请求
Post 请求的参数通过 Body 传送,不会出现在 url 中,有4种格式提供支持:form-data、x-www-form-urlencoded、raw、binary
3. Collection
可以创建多级目录,对接口测试用例进行管理
点击 Run 后,可以选择用例 执行
9.1.5 Postman 脚本
1. Tests(请求之后执行的脚本)
- Tests 下可以创建脚本进行断言,脚本用例可以参照右边的 SNIPPETS 参考
- 还可以设置 变量,通过获取脚本进行分析,传参给下一个脚本
在线文档: https://learning.postman.com/docs/writing-scripts/test-scripts/
主要 API : https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/
2. Pre-req. (请求发送前执行的脚本)
3. 脚本
对象 | 说明 |
pm.environment.x | 环境变量 |
pm.variables |
变量, 1)范围上:variables < environment < globas 2)优先级:variables > 环境变量(environment or globals) |
pm.globals.x | 全局变量 |
pm.collectionVariables | Collections 下的集合变量 |
pm.info.x | 当前脚本的相关信息 |
pm.request.x | 当前请求对象的相关信息 |
pm.response.x | 当前响应对象的相关信息 |
pm.sendRequest | 发送请求,示例可看下面或 api 文档 |
pm.response.to.x | 响应对象的断言 |
多个请求整合在一个脚本中: 下面的例子中,有三个脚本,其顺序分别是 1- > 2 -> 3
4. cheerio
是 jquery 核心功能的一个快速灵活而又简单的实现,主要用在服务器端需要对 DOM 进行操作的地方。可以实现对 html 的解析
5. Code:请求转换成 其他语言脚本
9.2 Postman Collections
1. Environment v.s. Globals
- 下面是创建的 environment
- 点击上面的 "Globals",可查看所有 globals 变量
2. Collections 使用数据文件
- 修改被测试接口,参数使用数据文件的字段(如图1,用户名密码使用 {{userName}},{{Password}}) ->
- Collections, 选择要运行的 Folder,右键 Run Folder ->
- Runner tab,选择数据文件以及文件类型(数据之前使用 “,” 隔开) ->
- 断言结果及日志打印(console)正确显示
9.3 Newman 工具
1. newman 是 postman 推出的一个 nodejs 库,直接可以运行 postman 所生成导出的 json 文件,以命令行的形式运行;
- newman 可以非常方便运行和测试集合,可以实现接口自动化的持续集成;
- newman 安装基于 nodejs 库,需要使用 npm 命令(npm install -g newman)-- 【前提:安装 nodejs,并将 nodejs 目录添加到环境变量 PATH】
- 安装定制化报告(npm install -g newman-reporter-html / npm install -g newman-report-htmlextra)
2. 自动化接口测试
- 1)选择要测试的 Collection,右键 Export,导出为 json 格式文件
- 2)点开需要搭配的环境变量,点击...,选择 export,导出为 json 格式文件
- 3)选择对应测试的数据文件
newman run catback.postman_collection.json -e catback.postman_environment.json -d catback.logindata.txt
3. 定制化报告
// cmd 窗口 --- 生成 html report
newman run catback.postman_collection.json -e catback.postman_environment.json -d catback.logindata.txt -r html --reporter-html-export report.html
// cmd 窗口,生成 htmlextra 报告
newman run catback.postman_collection.json -e catback.postman_environment.json -d catback.logindata.txt -r htmlextra --reporter-htmlextra-export reportextra.html
读后笔记 -- Python 全栈测试开发 Chapter9:Postman + Newman 实现接口自动化的更多相关文章
- 【Python全栈-后端开发】嵩天老师-Django
嵩天老师-Python云端系统开发入门教程(Django) 视频地址:https://www.bilibili.com/video/av19801429 课前知识储备: 一.课程介绍: 分久必合.合久 ...
- 【Python全栈-后端开发】Django入门基础
Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的 ...
- postman+newman+jenkins接口自动化
postman用来做接口测试非常方便,接口较多时,则可以实现接口自动化 目录 1.环境准备 2.本机调试脚本 3.集成jenkins 1.环境准备 1.1安装nodejs6.0+ 安装nodejs6. ...
- 【Python全栈-后端开发】Django进阶2-Form表单
Django进阶2-Form表单 Django的Form主要具有一下几大功能: 生成HTML标签(可以保留上次输入内容) 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页 ...
- 【Python全栈-后端开发】数据库进阶
数据库进阶 python关于mysql的API---pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install ...
- 【Python全栈-后端开发】Django进阶之Model操作复习
Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...
- 【Python全栈-后端开发】Django进阶1-分页
Django[进阶篇-1 ]分页 分页 一.Django内置分页 from django.core.paginator import Paginator, EmptyPage, PageNotAnIn ...
- 【Python全栈-后端开发】Django入门基础-2
Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1 变量(使用双大括号来引用变量) {{var_name}} 2 标签(tag)的使用 ...
- 【Python全栈-后端开发】MySQL数据库-练习题
MySQL数据库-练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号 ...
- postman+newman+jenkins 接口自动化问题
声明:个人原创,转载请注明 1.安装postman工具 下载地址:https://www.getpostman.com/点击下载,选择自己的系统,我的是windows系统,64位 2.postman ...
随机推荐
- 英国学者在真实世界早期RA队列研究中发现较高比例的临床缓解患者仍存在能量多普勒超声活性
标签: 类风湿关节炎; 目标治疗策略; 能量多普勒活性; 预测因子 英国学者在真实世界早期RA队列研究中发现较高比例的临床缓解患者仍存在能量多普勒超声活性 电邮发布日期:2016年4月6日 本研究的重 ...
- CCRD_TOC_2008年第9和第10期
中信国健临床通讯 2008年第9.第10期合刊 目 录 类风湿关节炎 1. 关于RA临床缓解与关节持续破坏相分离现象的一种解释 Brown AK, et al. Arthritis Rheum. ...
- Golang make和new的区别及实现原理详解
在Go语言中,有两个比较雷同的内置函数,分别是new和make方法,二者都可以用来分配内存,那他们有什么区别呢?下面我们就从底层来分析一下二者的不同.感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助 ...
- kubebuilder简明教程
一.operator概述 Operator 是 Kubernetes 的扩展软件,它利用 定制资源 管理应用及其组件. Operator 遵循 Kubernetes 的理念,特别是在控制器 方面[1] ...
- No.1.8
定位 网页常见布局 标准流(块级元素独占一行-->垂直布局,行内元素/行内块元素一行显示多个-->水平布局) 浮动(可以让原本垂直布局的块级元素变成水平布局) 定位(可以让元素自由的摆放在 ...
- 鉄道旅行 (Railroad Trip)
题意 有 \(n\) 个城市, \(n-1\) 条道路.其中第 \(i\) 个城市和第 \(i+1\) 个城市由第 \(i\) 条道路连接.通过一条道路有两种付费方式:每次支付费用 \(a_i\) , ...
- Android获取获取悬浮窗一下的view办法
getwindows可以获取当前手机屏幕所有有交互功能的view getactitywindows只能获取最顶层有交互的view
- 浏览器tab标签切换触发监听事件visibilitychange
document.addEventListener('visibilitychange', function() { if(document.hidden){ //当页面切换或隐藏时触发的代码,可以用 ...
- 打卡ts day02--使用typescript 写评论demo
demo.ts // DataHelpler 类 用于操作localStorage class DataHelpler { dataKey: string; //localstorage key pr ...
- SQLServer 查询所有外键关联表信息
有时候需要清除一些数据,但是总会有一些外键关联多加阻拦,下面是一些外键关联查询,方便更快捷有效的查询到需要处理的外键信息. 一.外键信息 查询列从左到右分别是: 外键约束名,子表名,外键列名,父表名 ...