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 实现接口自动化的更多相关文章

  1. 【Python全栈-后端开发】嵩天老师-Django

    嵩天老师-Python云端系统开发入门教程(Django) 视频地址:https://www.bilibili.com/video/av19801429 课前知识储备: 一.课程介绍: 分久必合.合久 ...

  2. 【Python全栈-后端开发】Django入门基础

    Django基础知识 一. 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的 ...

  3. postman+newman+jenkins接口自动化

    postman用来做接口测试非常方便,接口较多时,则可以实现接口自动化 目录 1.环境准备 2.本机调试脚本 3.集成jenkins 1.环境准备 1.1安装nodejs6.0+ 安装nodejs6. ...

  4. 【Python全栈-后端开发】Django进阶2-Form表单

    Django进阶2-Form表单 Django的Form主要具有一下几大功能: 生成HTML标签(可以保留上次输入内容) 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页 ...

  5. 【Python全栈-后端开发】数据库进阶

    数据库进阶 python关于mysql的API---pymysql模块 pymsql是Python中操作MySQL的模块,其使用方法和py2的MySQLdb几乎相同. 模块安装 pip install ...

  6. 【Python全栈-后端开发】Django进阶之Model操作复习

    Django进阶之Model操作复习 一.字段 AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - ...

  7. 【Python全栈-后端开发】Django进阶1-分页

    Django[进阶篇-1 ]分页 分页 一.Django内置分页 from django.core.paginator import Paginator, EmptyPage, PageNotAnIn ...

  8. 【Python全栈-后端开发】Django入门基础-2

    Django入门基础知识-2 一 .模版 一.模版的组成 HTML代码+逻辑控制代码 二.逻辑控制代码的组成 1  变量(使用双大括号来引用变量) {{var_name}} 2  标签(tag)的使用 ...

  9. 【Python全栈-后端开发】MySQL数据库-练习题

    MySQL数据库-练习题 一.表关系 请创建如下表,并创建相关约束 二.操作表 1.自行创建测试数据 2.查询“生物”课程比“物理”课程成绩高的所有学生的学号: 3.查询平均成绩大于60分的同学的学号 ...

  10. postman+newman+jenkins 接口自动化问题

    声明:个人原创,转载请注明 1.安装postman工具 下载地址:https://www.getpostman.com/点击下载,选择自己的系统,我的是windows系统,64位 2.postman ...

随机推荐

  1. Android实现仿微信实时语音对讲功能|与女友游戏开黑

    与亲朋好友一起玩在线游戏,如果游戏中有实时语音对讲能力就可以拉进玩家之间的距离,添加更多乐趣.我们以经典的中国象棋为例,开发在线语音对讲象棋.本文主要涉及如下几个点: 在线游戏的规则,本文以中国象棋为 ...

  2. Shell命令-常用操作

    Shell基础 1 Shell命令的基本格式 基本格式 command [选项] [参数] []表示可选的,也就是可有可无.有些命令不写选项和参数也能执行,有些命令在必要的时候可以附带选项和参数. 短 ...

  3. Chai 3D之创建项目

    推荐:将 NSDT场景编辑器 加入你的3D开发工具链 1.构建应用目录   我们将设置使用 CHAI3D 构建应用程序所需的基本目录结构和文件.根据您可能要使用的显示器或 GUI 库,为 FreeGL ...

  4. ArcGIS for Android 开发环境搭建

    ArcGIS for Android 开发环境搭建 1. 基础环境搭建 1.1. 安装JDK 安装JDK8,并设置环境变量 在cmd窗口输入java -version检查是否配置完成 java -ve ...

  5. 批量下载Landsat遥感影像的方法

      本文介绍在USGS网站批量下载Landsat系列遥感影像的方法.   首先,打开EarthExplorer的官网,首先完成注册与登录.   接下来,点击左侧"Search Criteri ...

  6. go并发实战(读书笔记1)

    go并发实战,第一天 大部分本书第一章节是来介绍go语言基础的,其实如果你不是大师,只是一个才起飞的菜鸟,建议不要跳过喔! 为什么不要跳过?因为每个人对语言的认知是不一样的,看看别人是怎么理解一个新事 ...

  7. Xilinx URAM使用说明 UG573

    UltraRAM Resources UltraRAM Summary UltraRAM 是单时钟.双端口.同步存储器,可用于 UltraScale+ 器件.由于 UltraRAM 与柱状(colum ...

  8. http协议与tcp协议的理解

    1.区别 tcp协议是对应于传输层,http协议是对应于应用层,从本质上来说,二者是没有可比性的.http协议是建立在tcp协议基础之上的,当浏览器需要从服务器获取网页数据的时候,会发送一次http请 ...

  9. 华为MA5626和S2700重置密码

    MA5626和S2700交换机,初始化密码遇到的问题. 主要目的把两台设备改成普通二层交换机. 一.MA5626交换机 1.进入设备,发现有密码. 帐号:root 密码:mduadmin 2.使用空配 ...

  10. PHP常见方法封装

    1.get请求 function get_curl($url, $timeout = 5) { $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url) ...