postman是一款API调试工具,可用于测试接口,相类似的工具还有jmeter、soupUI。通过postman+newman+python可以批量运行调试接口,达到自动化测试的效果。

1、PostMan安装

共有两种方式,一种是chrome浏览器上的插件,一种是postman客户端。我使用的是postman客户端。

1)在Chrome浏览器怎么安装Postman

https://www.cnblogs.com/mafly/p/postman.html

2)安装Postman客户端

a、下载软件https://www.getpostman.com/apps

b、安装

2、使用

1)发送请求、查看响应

2)环境变量、全局变量

环境变量:只作用于设置的环境

设置环境变量:pm.environment.set("variable_key", "variable_value");

获取环境变量:pm.environment.get("variable_key");

全局变量:作用于所有环境

设置全局变量:pm.globals.set("variable_key", "variable_value");

获取全局变量:pm.globals.get("variable_key");

使用例子:

var data=JSON.parse(responseBody);

var act=data.data.accessToken;

postman.setGlobalVariable("accessToken", act);

postman.setGlobalVariable("userId", data.data.userId);

postman.setGlobalVariable("refreshToken", data.data.refreshToken);

var afterUrl="?access_token="+act+"&userId="+data.data.userId;

pm.globals.set("afterUrl", afterUrl);

console.log(afterUrl)

使用变量:

在使用的变量地方用 {{variableName}}代替

具体查看文档:https://www.getpostman.com/docs/postman/environments_and_globals/variables

3)设置断言

tests["Your test nickName"] = data.data.nickName === "2589" //响应内容 nickName =2589

pm.test("Status code is 200", function () {

pm.response.to.have.status(200);

}); //返回为200

var responseJSON=JSON.parse(responseBody);

tests[‘response matches the data posted‘] = (responseJSON.data && responseJSON.data.length === 10);

//返回data数据共10条

4)调试console

需要在postman客户端,点击 view->show postman console 调出

在test或 Pre-request Script中写脚本打印出有疑问的值

console.log(variableName); 之后运行请求

5)collection

需要在postman客户端,点击collection->Runner ,运行

具体查看文档:https://www.getpostman.com/docs/postman/collection_runs/starting_a_collection_run

6)具体使用如下图

\

7)导出json文件

2、newman安装

官方帮助文档地址:https://www.npmjs.com/package/newman

1)需要安装nodejs,并配置好环境

2)打开控制台,运行:npm install -g newman

3)校验是否安装成功,运行:newman --version

Newman 执行脚本

Newman在3版本后做了比较大的改动,但是运行命令越来越简单如下:

newman run [options]

run 后面跟上要执行的json文件或者URL(json 和 URL 都由postman导出生成),再后面跟一些参数,例如环境变量,测试报告,接口请求超时时间等等。最后给两个完整的例子做参考:

newman run D:/Buddy_Product_Enviroment.postman_collection.json --reporters cli,html,json,junit --reporter-json-export D:/jsonOut.json --reporter-junit-export D:/xmlOut.xml --reporter-html-export D:/htmlOut.html

3、使用python脚本执行newman

# coding=utf-8

import time

import os

class postmanApiTest:

#运行postman生成报告

#通过newman

def postman(self):

jSONfname = ‘D:/htmlOut‘ + time.strftime(‘%Y-%m-%d‘, time.gmtime())+‘.html‘

# cmd = ‘newman run ?D:/Buddy_Test_Enviroment.postman_collection.json --reporters cli,html,json,junit --reporter-html-export ‘+jSONfname

cmd=‘newman run D:/Buddy_Product_Enviroment.postman_collection.json --reporters cli,html,json,junit --reporter-json-export D:/jsonOut.json --reporter-junit-export D:/xmlOut.xml --reporter-html-export D:/htmlOut.html‘

os.system(cmd)

print(‘------------------------------------------------------------‘)

print(jSONfname)

if os.path.isfile(jSONfname):

return jSONfname

print(jSONfname)

else:

return False

if __name__ == ‘__main__‘:

a=postmanApiTest()

a.postman()

4、最终生成报告如下:

python做自动化控制postman_使用postman+newman+python做接口自动化测试相关推荐

  1. Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)

    Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...

  2. Newman+Jenkins实现接口自动化测试

    一.是什么Newman Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦...别当真,简单地说Newman就是命令行版的Postman,查看官网地址. Newman可以使用Postman导出的co ...

  3. python+unittest+requests+HTMLTestRunner 框架通过读取excel测试用例实现接口自动化测试

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.接口自动化框架目录 二.读取相应配置文件testFile目录 1.创建配置文件 2.获取当前目录代码getpathinf ...

  4. python做自动化控制postman_python自动化测试入门篇-postman

    接口测试基础-postman 常用的接口有两种:webservice接口和http api接口. Webservice接口是走soap协议通过http传输,请求报文和返回报文都是xml格式. http ...

  5. 用python做自动化控制-用 Python 自动化办公能做到哪些有趣或有用的事情?

    首先,我是一名数据分析师-- But,我还有一项短信资源管理的工作,从收集各部门需求开始,到检查文案策略等,最后在系统上创建,整个流程每天都要重复进行3-4个小时,工作特别繁琐而缺乏技术性,不过这个工 ...

  6. python自动化控制设备有限公司_华为 Python网络自动化

    哈喽,大家好!我是艺博东 ,是一个思科出身.专注于华为的网工:好了,话不多说,我们直接进入正题. 光棍二十年,不知道情人节是什么鬼东西.还是好好学技术吧!努力.奋斗吧!为了早日走向人生巅峰,迎娶白富美 ...

  7. python web自动化元素定位_快速掌握Python Selenium Web自动化:三)在Selenium中定位查找网页元素的诸类方法...

    使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了 ...

  8. python脚本自动化赚钱系统_自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万!...

    Python Python开发 Python语言 自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万! 大家好,今天又给大家带来了Python爬虫的分享,今天我们继续上次的问题,继续来 ...

  9. python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...

    linux下Appium+Python移动应用自动化测试实战-3.手把手教你定位元素编写测试用例 前言 有很多童鞋环境搭建好了却没有进行下一步,是因为缺少step by step的资料. 互联网上ap ...

最新文章

  1. python一次性读取整个文件-python – 如何一次读取和附加到文本文件?
  2. 用python阐释工作量证明(proof of work)
  3. leetcode 599. 两个列表的最小索引总和(Minimum Index Sum of Two Lists)
  4. CentOS5、6的启动流程
  5. 关于php单引号和双引号
  6. rdd数据存内存 数据量_Spark 性能优化(二)——数据倾斜优化
  7. xp系统怎样安装传真服务器,ghost xp安装传真服务教程
  8. win10计算器rsh_如何打开win10计算器 教你打开win10计算器的方法
  9. 霍尼韦尔扫描枪设置手动方法
  10. 怎么设置计算机网络打印机共享,如何设置网络打印机,详细教您怎么设置共享打印机...
  11. phaser H5游戏框架的学习相关推荐教程
  12. 图论中的0x3f和memset使用注意事项(较详细)
  13. openlayer添加自定义图片图层
  14. 你知道怎么给客户朋友圈点赞吗?
  15. matlab ode45使用,ODE45函数的使用——翻译
  16. 我陪你慢慢成长——苏子语录2015下半…
  17. 服务器raw格式硬盘,硬盘分区变成RAW格式时不要着急格式化
  18. sql 中or与in的查询效率对比
  19. Android studio入门到精通实例实验
  20. MFC DockPane 分割窗口 嵌入对话框

热门文章

  1. VS2010中使用gtest简单案例
  2. LeetCode-reverse integer复杂度
  3. opencv的两个错误
  4. 匹配中文字符的正则表达式: [u4e00-u9fa5](
  5. 创建win32 dll
  6. MFC如何使控件大小随着对话框大小自动调整
  7. mysql断网_断网的情况上如何访问本机的mysql
  8. AUTOSAR从入门到精通100讲(八十五)-AUTOSAR基础篇之BswM
  9. 《鸿蒙理论知识04》HarmonyOS概述之系统定义
  10. matlab 无向拓扑图,无向图绘画树状拓扑图算法