python做自动化控制postman_使用postman+newman+python做接口自动化测试
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做接口自动化测试相关推荐
- Python实现自动化办公(三):Python对PPT文档的基本操作(python-pptx)
Python对PPT文档的基本操作 文章目录 Python对PPT文档的基本操作 一.pptx模块 1.官方文档 2.安装pptx模块 二.基本函数的使用方法 三.使用案例 1.修改ppt内容 2.写 ...
- Newman+Jenkins实现接口自动化测试
一.是什么Newman Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦...别当真,简单地说Newman就是命令行版的Postman,查看官网地址. Newman可以使用Postman导出的co ...
- python+unittest+requests+HTMLTestRunner 框架通过读取excel测试用例实现接口自动化测试
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一.接口自动化框架目录 二.读取相应配置文件testFile目录 1.创建配置文件 2.获取当前目录代码getpathinf ...
- python做自动化控制postman_python自动化测试入门篇-postman
接口测试基础-postman 常用的接口有两种:webservice接口和http api接口. Webservice接口是走soap协议通过http传输,请求报文和返回报文都是xml格式. http ...
- 用python做自动化控制-用 Python 自动化办公能做到哪些有趣或有用的事情?
首先,我是一名数据分析师-- But,我还有一项短信资源管理的工作,从收集各部门需求开始,到检查文案策略等,最后在系统上创建,整个流程每天都要重复进行3-4个小时,工作特别繁琐而缺乏技术性,不过这个工 ...
- python自动化控制设备有限公司_华为 Python网络自动化
哈喽,大家好!我是艺博东 ,是一个思科出身.专注于华为的网工:好了,话不多说,我们直接进入正题. 光棍二十年,不知道情人节是什么鬼东西.还是好好学技术吧!努力.奋斗吧!为了早日走向人生巅峰,迎娶白富美 ...
- python web自动化元素定位_快速掌握Python Selenium Web自动化:三)在Selenium中定位查找网页元素的诸类方法...
使用Selenium进行自动化操作,首先要做的就是通过webdriver的get()方法打开一个URL链接. 在打开链接,完成页面加载之后,就可以通过Selenium提供的接口,在页面上进行各种操作了 ...
- python脚本自动化赚钱系统_自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万!...
Python Python开发 Python语言 自从用python写了个自动弹幕脚本后,各大主播都来找我,净赚十万! 大家好,今天又给大家带来了Python爬虫的分享,今天我们继续上次的问题,继续来 ...
- python android自动化元素定位_linux下Appium+Python移动应用自动化测试实战---3.手把手教你定位元素编写测试用例...
linux下Appium+Python移动应用自动化测试实战-3.手把手教你定位元素编写测试用例 前言 有很多童鞋环境搭建好了却没有进行下一步,是因为缺少step by step的资料. 互联网上ap ...
最新文章
- python一次性读取整个文件-python – 如何一次读取和附加到文本文件?
- 用python阐释工作量证明(proof of work)
- leetcode 599. 两个列表的最小索引总和(Minimum Index Sum of Two Lists)
- CentOS5、6的启动流程
- 关于php单引号和双引号
- rdd数据存内存 数据量_Spark 性能优化(二)——数据倾斜优化
- xp系统怎样安装传真服务器,ghost xp安装传真服务教程
- win10计算器rsh_如何打开win10计算器 教你打开win10计算器的方法
- 霍尼韦尔扫描枪设置手动方法
- 怎么设置计算机网络打印机共享,如何设置网络打印机,详细教您怎么设置共享打印机...
- phaser H5游戏框架的学习相关推荐教程
- 图论中的0x3f和memset使用注意事项(较详细)
- openlayer添加自定义图片图层
- 你知道怎么给客户朋友圈点赞吗?
- matlab ode45使用,ODE45函数的使用——翻译
- 我陪你慢慢成长——苏子语录2015下半…
- 服务器raw格式硬盘,硬盘分区变成RAW格式时不要着急格式化
- sql 中or与in的查询效率对比
- Android studio入门到精通实例实验
- MFC DockPane 分割窗口 嵌入对话框