简单的接口自动化实现demo

1、在excel里写上接口的参数

序号 接口名 url 请求方法 headers 请求参数
1 直考列表 /before/edutra/directPlan/qryPage post {"Content-Type": "application/json"} {"current":1,"size":10,"type":0}
2 新培列表 /before/edutra/etNewPlan/queryPage post {"Content-Type": "application/json"} {"current":1,"size":10,"type":0}

2、写脚本  读取excel文件,请求后将返回的参数保存在excel里

import pandas as pd
import requests
import json

"""
# 写入excel例子
list1 = [1,2,3,4,5]
list2 = ['a','b','c','d','e']
list3 = ['北京','深圳','上海','南京','成都']
list4 = [21,22,23,24,25]
list5 = [12000,13000,14000,15000,16000]

writeData = {
    '序号':list1,
    '人员':list2,
    '地址':list3,
    '年龄':list4,
    '月薪':list5
}

fwriter = pds.DataFrame(writeData)
fwriter.to_excel("test.xlsx", index=False)
"""


"""
preurl = "https://***.***.com"
url = "/***/edutra/***/firm/statistics"
u = preurl + url
headers = {"Content-Type": "application/json",}
data = {"userCode":"91530802MA6PT18X2D"}
print(u)
method = 'post'
if method == 'post':
    r = requests.post(url=u, headers=headers, data=json.dumps(data))
    print(r.text)
"""


list_num=[]
list_name=[]
list_url=[]
list_result=[]

df = pd.read_excel(r"test1case.xlsx",engine='openpyxl')  # 读取文件,读出来的格式为dataframe
records = df.to_dict(orient='records')  # 将dataframe转换为字典格式




print(len(records))
for re in records:
    list_num.append(re["序号"])
    list_name.append(re["接口名"])
    list_url.append(re["url"])
    try:
        preurl = re["prefix"]
        url = re["url"]
        u = preurl + url
        try:
            headers = json.loads(re["headers"].replace("'", '"'))
        except:
            headers = None
            print("请求头为空")
        # print(headers)

        try:
            p = json.loads(re["请求参数"])  # 先将字符串转换为python对象,在请求里在用dumps()方法转为json
        except:
            print("请求参数为空")
        # print(p)

        method = re["请求方法"]
        # print("调用方法:" + method)

        if method == 'post':    # post方法的实现
            if headers is None:    # 有请求头 有参数
                print("header为空")
                r = requests.post(url=u)
                # print(r.text)

            else:
                print("header不为空")   # 请求头 参数为空
                r = requests.post(url=u, headers=headers, data=json.dumps(p))

            # print(r.text)
            # print(r.request.headers)
            # print(r.request.body)
            list_result.append(r.text)
        # elif method == 'get':    # get请求方法的实现

    except:
        list_result.append("请求出错,请检查脚本")
        print("请求出错,请检查脚本")


print(list_num)
print(list_name)
print(list_url)
print(list_result)



result = {
    "序号": list_num,
    "接口名":list_name,
    "url": list_url,
    "result": list_result
}
fwriter = pd.DataFrame(result)
fwriter.to_excel("test.xlsx", index=False)

相关推荐

  1. 简单接口自动化实现demo

    2024-04-25 11:36:05       15 阅读
  2. 简单实现接口自动化测试(基于python)

    2024-04-25 11:36:05       20 阅读
  3. react 简单demo

    2024-04-25 11:36:05       18 阅读
  4. Unity实现一个简单状态机Demo

    2024-04-25 11:36:05       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-25 11:36:05       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-25 11:36:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-25 11:36:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-25 11:36:05       18 阅读

热门阅读

  1. Spark pivot数据透视从句

    2024-04-25 11:36:05       17 阅读
  2. vue keepAlive的使用

    2024-04-25 11:36:05       14 阅读
  3. 深入理解Vue插槽

    2024-04-25 11:36:05       12 阅读
  4. 利用API内存地址参数执行shellcode

    2024-04-25 11:36:05       11 阅读
  5. Linux打开html

    2024-04-25 11:36:05       12 阅读
  6. 常用的Git和Linux命令

    2024-04-25 11:36:05       13 阅读
  7. unity快捷键

    2024-04-25 11:36:05       12 阅读
  8. 云托管 代码 项目

    2024-04-25 11:36:05       10 阅读
  9. 数据解读:AARRR系列:激活用户,开启留存之路

    2024-04-25 11:36:05       13 阅读
  10. 【SAP ME 26】SAP ME创建开发组件(DC)mobile

    2024-04-25 11:36:05       13 阅读
  11. Apache Hadoop 输入格式示例

    2024-04-25 11:36:05       13 阅读
  12. Set实现(2)| LinkedHashSet

    2024-04-25 11:36:05       15 阅读
  13. Eureka详解

    2024-04-25 11:36:05       10 阅读
  14. 关于css溢出

    2024-04-25 11:36:05       10 阅读