postman+python实现接口接口自动化

很多人会问,postman可以自己执行,为啥还需要写代码呢,话虽如此,但是作为技术人,工具毕竟只是辅助,自己写的话,更具有灵活性额,下面直接讲干货吧

实现批量发送多个请求

1、首选在postman里新建几个用例,以post和get为例,见下图:

postman+python实现接口接口自动化_第1张图片

2、在用例集中分别操作1、2,以collection2.1的形式导出为test.json

postman+python实现接口接口自动化_第2张图片

3、下面开始写代码额,直接上代码

import requests
import json
import numpy as np
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
def readJson():
    return json.load( open("test.json",encoding='utf-8',mode = 'r'))['item']

def three_get():
    for item in readJson():
        #post请求中data的类型必须是json
        if item['request']['method']=='POST':
            data=json.dumps(item['request']['body']['raw'])
#将data进行格式化
            format=data.replace("\\n","").replace("\\","").strip("\"")
            r=requests.request(
                method=item['request']['method'],
                url=item['request']['url']['raw'],
                data=format)
            if r.status_code==200:
                print("===========post请求成功")
            else:
                print("请求失败!")
        if item['request']['method']=='GET':
            #header str化
            headers = item['request']['header'][0]
            print(type(headers))
            for valuesItem in headers.keys():
                headers[valuesItem]=str(headers[valuesItem])
#加verify解决证书SSL问题
            r = requests.request(
                method=item['request']['method'],
                url=item['request']['url']['raw'],
                headers=headers,
                verify=False)
            if r.status_code == 200:
                print("===========get请求成功")
                print(r.json())
            else:
                print("请求失败!")
three_get()

通过如上方式直接实现了读取json文件中所有的用例,get和post这两种方式基本上覆盖到了所有的场景,也可以加上执行次数,定时执行,邮件报告等,到此接口自动化就大功告成啦。如果疑问,随时留言,如有错误,欢迎指正!

你可能感兴趣的:(接口测试,自动化测试,接口自动化,python,json,post,接口)