Python接口自动化:从Excel读取用例并动态传递Token

Alice
Alice
发布时间:2026-10-14| 2人浏览过
原创

本文介绍基于Python和Excel的接口自动化测试方案。通过封装登录接口获取Token,将其保存至JSON文件,并在执行Excel用例时,根据Header字段标识动态读取Token,合并至请求数据中发起请求。该方法实现了测试用例与认证信息的解耦,提升了接口自动化的灵活性与可维护性。

Token获取与存储机制

首先,需要封装登录接口以获取返回的Token。在测试流程中,调用登录接口后,系统会返回包含Token的响应数据。我们需要对这部分数据进行解析和封装,以便后续使用。


import json
import requests
from util.operation_json import OperationJson
from base.runmethod import RunMethod
class OperationHeader:

  def __init__(self, response):
    self.response = json.loads(response)

  def get_response_token(self):
    '''
    获取登录返回的token
    '''
    token = {"data":{"token":self.response['data']['token']}}
    return token

  def write_token(self):
    op_json = OperationJson()
    op_json.write_data(self.get_response_token())


if __name__ == '__main__':

  url = "http://xxxx.com"

  data = {
    "username": "1111",
    "password": "123456"
  }
  res=requests.post(url,data).json
  op = OperationHeader(res)
  op.write_token()

接着,将登录接口返回的Token数据存储到一个独立的JSON文件中。这样做的好处是将认证信息与具体的业务测试用例分离,便于统一管理Token的更新和复用,避免每次测试都重新登录。

Excel用例中的Token动态传参实现

在执行Excel中的接口用例时,系统会检查对应的Header字段。为了便于识别,建议在Excel中增加一列专门标识是否需要Token(例如设为yes)。当该字段为yes时,程序会自动读取之前保存的Token文件数据,并将其与当前的请求数据合并,最终作为一个完整的请求数据发起接口调用。

具体实现上,使用字典合并操作将请求数据与登录Token合并,形成最终的请求载荷。代码示例如下:request_data=dict(request_data,**token) # 把请求数据与登录token合并,并作为请求数据

合并完成后,将包含Token的请求数据传递给主运行方法发起实际的网络请求。代码示例如下:res = self.run_method.run_main(method, url, request_data) # 再将合并的数据作为一个请求数据发起请求

基于Excel的接口自动化测试流程

补充知识:本方案的核心在于利用Python读取Excel中的接口用例,执行自动化测试并将结果写入指定位置,从而实现从数据驱动到结果反馈的完整闭环。

实施该方案的前提是准备好必要的Python库以及结构清晰的Excel接口测试用例文件。确保环境依赖安装正确,且Excel文件格式符合读取要求。

以下是具体的代码实现逻辑与流程衔接部分,展示了如何整合上述步骤。

原始Excel文件的数据结构展示,包括接口地址、方法、参数及Token标识列。

执行自动化脚本后的结果展示,包括成功或失败的用例状态及返回数据。

以上关于Python结合Excel进行接口自动化,获取Token并作为请求参数进行传参的操作介绍完毕。希望此方案能为您的接口自动化测试工作提供参考与帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。