python request pandas excel 接口自动化测试框架

为了工作需要,开发一个接口自动化测试框架,你可以结合Python的requests库用于发送HTTP请求,pandas库用于处理Excel数据,以及适当的断言方法来验证测试结果。以下是一个简单的框架,主要是为了实现将测试数据和测试结果统一写在同一个excel里面。

在这个框架中,需要创建一个Excel文件来存储测试数据,其中包括每个测试用例的URL、方法、请求头、负载、期望的状态码和期望的响应内容。

然后,使用read_test_data函数读取Excel文件并将数据存储在数据框中。

run_test_case函数执行单个测试用例,发送HTTP请求并进行断言验证。

最后,run_test_suite函数执行测试套件中的所有测试用例。

import requests
import pandas as pd

def read_test_data(file_path):
    """
    读取测试数据Excel文件,并返回数据框
    """
    return pd.read_excel(file_path)

def run_test_case(test_case):
    """
    执行单个测试用例
    """
    url = test_case['URL']
    method = test_case['Method']
    headers = test_case['Headers']
    payload = test_case['Payload']
    expected_status_code = test_case['Expected_Status_Code']
    expected_response = test_case['Expected_Response']
    
    response = requests.request(method, url, headers=headers, json=payload)
    
    # 断言状态码
    assert response.status_code == expected_status_code, f"Expected status code {expected_status_code}, but got {response.status_code}"
    
    # 断言响应内容
    assert response.json() == expected_response, f"Expected response {expected_response}, but got {response.json()}"

def run_test_suite(test_data):
    """
    执行测试套件中的所有测试用例
    """
    for index, test_case in test_data.iterrows():
        print(f"Running test case {index + 1}")
        run_test_case(test_case)
        print(f"Test case {index + 1} passed!")

if __name__ == "__main__":
    test_data_file = "test_data.xlsx"
    test_data = read_test_data(test_data_file)
    run_test_suite(test_data)

这个测试框架还缺少两部分:

1,测试报告的优化

2,参数化和关联的设置(如何在excel表里面设置参数化和关联)

后期会持续优化,主要是加上以上两个功能

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-03-18 06:54:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-18 06:54:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-18 06:54:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-18 06:54:02       18 阅读

热门阅读

  1. 【XML】xml转Freemind思维导图

    2024-03-18 06:54:02       18 阅读
  2. string和stringbuilder

    2024-03-18 06:54:02       18 阅读
  3. Unity转换字符串中文繁简体

    2024-03-18 06:54:02       20 阅读
  4. python图形化编程turtle小乌龟

    2024-03-18 06:54:02       17 阅读
  5. 大语言模型相关工具使用链接

    2024-03-18 06:54:02       21 阅读
  6. LLaMA-2 简介:开源大型语言模型的新篇章

    2024-03-18 06:54:02       20 阅读
  7. Linux初级知识大全(一)

    2024-03-18 06:54:02       21 阅读
  8. Spark 用AnyFunSuite单元测试Scala详细教程

    2024-03-18 06:54:02       17 阅读
  9. 如何杀死服务器出现的僵尸进程

    2024-03-18 06:54:02       23 阅读
  10. ChatGPT:论文写作的新潮解决方案

    2024-03-18 06:54:02       20 阅读