返回

Python接口自动化测试:完整实战项目附源码分享

开发工具

前言

接口自动化测试是软件测试中不可或缺的一环,它可以帮助我们快速、准确地验证接口的正确性。本文提供了基于 Python 的接口自动化测试项目,使用 Excel 管理测试用例,客户端操作。文章遵循简单易用和覆盖常用场景的原则,并提供完整的实战项目和源码分享,帮助您快速掌握接口自动化测试的技巧。

项目结构

├── project
│   ├── tests
│   │   ├── __init__.py
│   │   ├── test_cases.py
│   │   ├── test_client.py
│   │   └── test_report.py
│   ├── utils
│   │   ├── __init__.py
│   │   ├── excel_utils.py
│   │   └── http_utils.py
│   ├── main.py
│   └── requirements.txt
├── README.md
└── LICENSE

测试用例管理

测试用例管理是接口自动化测试的重要组成部分。本文使用 Excel 来管理测试用例,具体格式如下:

| 测试用例编号 | 接口名称 | 请求方法 | 请求参数 | 预期结果 | 实际结果 | 测试结果 |
|---|---|---|---|---|---|---|
| 1 | 登录接口 | POST | {"username": "admin", "password": "123456"} | {"code": 0, "message": "登录成功"} | {"code": 0, "message": "登录成功"} | 通过 |

测试客户端

测试客户端是接口自动化测试的执行工具。本文使用 Python 来编写测试客户端,具体代码如下:

import requests

class TestClient:

    def __init__(self, base_url):
        self.base_url = base_url

    def send_request(self, method, url, params=None, data=None, json=None):
        """
        发送请求

        :param method: 请求方法
        :param url: 请求URL
        :param params: 请求参数
        :param data: 请求数据
        :param json: 请求JSON数据
        :return: 响应对象
        """

        return requests.request(method, self.base_url + url, params=params, data=data, json=json)

测试报告

测试报告是接口自动化测试的重要组成部分,它可以帮助我们快速了解测试结果。本文使用 Python 来生成测试报告,具体代码如下:

import unittest

class TestReport:

    def __init__(self, test_results):
        self.test_results = test_results

    def generate_report(self):
        """
        生成测试报告

        :return: 测试报告
        """

        report = ""

        for test_result in self.test_results:
            report += "测试用例编号:{}\n".format(test_result.test_case_id)
            report += "接口名称:{}\n".format(test_result.interface_name)
            report += "请求方法:{}\n".format(test_result.request_method)
            report += "请求参数:{}\n".format(test_result.request_params)
            report += "预期结果:{}\n".format(test_result.expected_result)
            report += "实际结果:{}\n".format(test_result.actual_result)
            report += "测试结果:{}\n\n".format(test_result.test_result)

        return report

完整实战项目

现在,我们已经介绍了项目结构、测试用例管理、测试客户端和测试报告。接下来,我们将把这些组件组合在一起,创建一个完整的实战项目。

import unittest

from tests.test_cases import TestCases
from tests.test_client import TestClient
from tests.test_report import TestReport

# 创建测试客户端
test_client = TestClient("http://127.0.0.1:8000")

# 创建测试用例
test_cases = TestCases()

# 运行测试用例
test_results = []
for test_case in test_cases.test_cases:
    test_result = test_client.send_request(test_case.request_method, test_case.url, json=test_case.request_params)
    test_results.append(test_result)

# 生成测试报告
test_report = TestReport(test_results)
report = test_report.generate_report()

# 打印测试报告
print(report)

源码分享

您可以通过以下链接下载完整的实战项目源码:

https://github.com/your-github-username/python-interface-automation-test

总结

本文提供了一个基于 Python 的接口自动化测试项目,使用 Excel 管理测试用例,客户端操作。文章遵循简单易用和覆盖常用场景的原则,并提供完整的实战项目和源码分享。希望本文能够帮助您快速掌握接口自动化测试的技巧。