使用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 <collection-file-source> [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-8import timeimport osclass 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 Falseif __name__ == ‘__main__‘:    a=postmanApiTest()    a.postman()

4、最终生成报告如下:



原文地址:https://www.cnblogs.com/LinxiHuang/p/9247286.html

时间: 2024-09-30 09:02:42

使用postman+newman+python做接口自动化测试的相关文章

Postman+Newman+jenkins实现API自动化测试

最近自己在学习用postman+newman+jenkins实现API自动化测试,这里做个回顾和记录.(此次是在windows上进行的环境搭建) 一.说明 1.大致思路:利用postman做接口调试所搜集的collection导出.json文件,再利用newman命令运行.json文件和得出测试结果,最后集成到jenkins实现自动化. 2.环境说明:postman基于JavaScript语言,postman的脚本(json文件)运行依赖newman环境,而newman环境依赖JavaScrip

python+requests接口自动化测试框架实例详解教程

转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实现的接口自动化框架详细教程 前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自

python+requests接口自动化测试框架实例详解

前段时间由于公司测试方向的转型,由原来的web页面功能测试转变成接口测试,之前大多都是手工进行,利用postman和jmeter进行的接口测试,后来,组内有人讲原先web自动化的测试框架移驾成接口的自动化框架,使用的是java语言,但对于一个学java,却在学python的我来说,觉得python比起java更简单些,所以,我决定自己写python的接口自动化测试框架,由于本人也是刚学习python,这套自动化框架目前已经基本完成了,于是进行一些总结,便于以后回顾温习,有许多不完善的地方,也遇到

postman做接口自动化测试

接口是用来连接服务端和客户端,一般返回的数据都是json. get和post请求的区别: 1. get请求比post请求安全 2. get请求参数有长度限制,post请求没有 3. get请求没有body,参数都是放在url里面,而post请求是放在body里面的. http请求状态码: 1. 200  #2 代表请求成功 2. 404  #4 代码客户端发出去的请求有问题 3. 300  #3 代表重定向 4. 500.502 #5代表服务端有问题 postman如何定义变量 打开postma

Postman + newman + jenkins 的API自动化测试应用

一.环境配置 Postman postman 的具体使用可以参考另外一篇文章:postman 做接口测试之学习笔记 Newman 第一步,安装nodejs. 第二步,在nodejs命令行安装newman,即命令行输入如下命令: npm install -g newman jenkins 去官网(https://jenkins.io/index.html)下载jenkins 二.Postman + Newman + jenkins 的使用 1. 在postman中导出testcase 文件夹(即存

python Django接口自动化测试

记录下自己开发的接口自动化测试平台: 接口测试相对于UI测试来说测试成本低,相对稳定,变动不大,日常测试可使用postman.jmeter.python request等进行测试. 以下就介绍python request开发的框架来进行接口测试.功能满足批量测试,支持Excel导入数据库,自定义选中测试接口,图表测试统计等功能. 后端语言采用python的django来开发,之前没接触过django,本想用java web来做后台的,但还是想尝试下,所以便有了这个作品,好在过程还顺利,边做边学,

使用Postman如何做接口自动化测试

师从‘百测’! 一.简介 Postman是一款非常流行的API调试工具,很多攻城狮都应该用过,或听说过,这里不做过多介绍. 官方网站:http://www.getpostman.com 二.接口自动化 1.新建一个接口,百度搜了一个歌名查询的,学习使用请不要滥用,https://api.apiopen.top/searchMusic?name=XXX,先运行下确保可用 2.VALUE使用参数化,方法:{{参数化的名称}},后面test.txt中的name 3.新建一个文件夹test,将接口保存进

基于python的接口自动化测试框架

公司内部的软件采用B/S架构,大部分是数据的增删改查,由于还在开发阶段,所以UI界面的变化非常快,难以针对UI进行自动化测试,那样会消耗大量的精力与时间维护自动化脚本.针对此种情况,针对接口测试较为有效. 工具选择 针对接口测试的工具也很多,例如soup UI, robot framework ,甚至jmeter这样的性能测试工具也可以进行接口测试. robot framework测试框架有很多的第三方库可以使用,采用的是填表的方式进行,较容易上手,但是无法深入底层的了解客户端与服务器的交互过程

Python Api接口自动化测试框架 代码写用例

公司新来两个妹子一直吐槽这个接口测试用例用excel维护起来十分费脑费事,而且比较low(内心十分赞同但是不能推翻自己),妹子说excel本来就很麻烦的工具,于是偷偷的进行了二次改版. 变更内容如下: 1.代码结构 image.png 2.新增测试报告网页版和版本管理 3.新增用例代码化 一.封装一个获取用例的模块 image.png 用例的写法可以按照yml文件的写法,后缀的文件都可为.conf..config..ini.[]中的是测试用例场景,下面的参数内容对应接口用例参数. 简单介绍下py