博客
关于我
python excel接口自动化测试框架!
阅读量:798 次
发布时间:2023-03-05

本文共 1927 字,大约阅读时间需要 6 分钟。

一个基于Excel的接口自动化测试框架

近期,我开始设计并实现一个基于Excel的接口自动化测试框架,这个框架旨在简化接口测试的过程,提高测试效率。本文将从框架的整体设计、核心实现到实际应用,详细介绍这一项目的开发过程。

框架结构

在开始编码之前,清晰的框架设计是项目成功的关键。本框架的主要目标是通过Excel文件中的测试用例,自动化地执行接口测试,并将结果输出到HTML报告或Excel文件中。为了实现这一目标,我们将框架划分为以下几个核心模块:

  • 配置文件管理

    在项目根目录中创建config.py,用于存储所有配置信息,包括Excel文件路径、接口请求参数、颜色配置等。这种方式可以让配置信息集中管理,减少硬编码的工作量。

  • Excel数据读取与写入

    common目录中新建excelset.py,该文件负责读取Excel文件中的用例数据,写入测试结果,并根据测试结果的颜色状态(通过)或失败状态(红色)在Excel中进行相应的格式化输出。同时,还会记录测试耗时。

  • 日志封装

    实现日志记录功能非常重要,能够帮助开发人员第一时间了解测试过程中发生的任何异常情况。在logger.py中,我们使用了Python的logging库,配置了日志输出到文件和控制台的双重方式,并定义了日志格式。

  • 正则操作

    接口参数的提取和替换在测试过程中占据了重要位置。在regular.py中,我们通过正则表达式实现了对接口响应中的参数提取和替换功能。例如,可以通过正则表达式从JSON响应中提取特定的字段值,并根据预定义的变量池进行替换。

  • 变量池管理

    为框架的灵活性和可扩展性起到了关键作用。在variables.py中,我们定义了一个全局变量池,通过静态方法getsethas实现对变量的获取、设置和检查。这种方式可以让测试用例中的变量无缝替换,提高测试脚本的可维护性。

  • 封装requests

    request.py中,我们对Python的requests库进行了二次封装,创建了HttpRequest类。该类不仅支持多种HTTP方法(如GET、POST、PUT等),还能自动处理接口参数的替换和响应内容的提取。通过这个封装,可以让测试用例更加灵活地调用接口。

  • 序列化与反序列化

    serialize.py中,我们实现了对JSON数据的序列化和反序列化功能。这种方式可以让接口返回的JSON数据更方便地被处理和验证。

  • 测试结果检查

    checkResult.py中,我们对接口的响应结果进行了预期值的验证。通过检查响应码、响应值以及正则表达式匹配结果,确保测试结果符合预期。

  • 测试报告生成与邮件发送

    最终,在run.py中,我们集成了测试报告的生成和邮件发送功能。通过使用HTMLTestRunner,可以生成HTML格式的测试报告。对于测试失败的情况,会自动触发邮件发送,通知相关人员。

  • 使用示例

    为了让大家更直观地了解这个框架的实际应用,我提供了以下测试命令:

    python run.py -i data/usercase.xlsx -o output/test_report.xlsx -html report.html

    运行上述命令时,框架会自动读取指定的Excel文件,执行其中的用例测试。测试完成后,会生成两个文件:output/test_report.xlsxreport.html。在report.html中,可以看到每个用例的执行结果,包括颜色状态(通过或失败)、响应时间以及具体的测试日志。

    项目优势

  • 灵活性高

    通过变量池的实现,可以轻松自定义接口参数的替换规则,适用于不同接口的测试场景。

  • 可扩展性强

    框架的模块化设计使得可以根据实际需求添加新的功能模块,例如支持更多类型的文件格式或扩展日志记录的细节。

  • 测试报告丰富

    除了生成Excel文件,还可以通过HTML报告详细查看测试结果。对于失败的用例,还会记录预期值与实际值的对比结果,方便问题定位。

  • 自动化测试

    通过参数化读取Excel中的用例,可以减少手动测试的工作量,提高测试效率。

  • 邮件通知功能

    当测试结果失败时,会自动发送邮件通知,这对于团队协作非常有帮助。

  • 总结

    通过以上介绍,可以看出这个基于Excel的接口自动化测试框架具备了较强的可用性和扩展性。在实际应用中,它能够显著提升测试效率,同时减少人为错误的可能性。如果您对这个框架感兴趣或者需要更详细的实现代码,欢迎前往我的公众号获取更多资源和支持。


    本文主要介绍了基于Excel的接口自动化测试框架的设计思路、核心实现以及实际应用。通过模块化的设计和灵活的配置,框架能够适应不同项目的需求,为自动化测试提供了强有力的支持。

    转载地址:http://htafk.baihongyu.com/

    你可能感兴趣的文章
    PyQt5信号与槽学习笔记——自定义信号与槽(二)
    查看>>
    PyQt5学习笔记——信号与槽
    查看>>
    PyQt5开发暗黑风格的计时器
    查看>>
    pyqt5教程11:绘制外观
    查看>>
    pyqt5教程12:拖放功能
    查看>>
    pyqt5教程13:客户定制组件
    查看>>
    pyqt5教程6:信号和事件
    查看>>
    PyQt5教程7:布局Layout管理
    查看>>
    pyqt5教程8:对话框
    查看>>
    pyqt5教程9:Widgets组件
    查看>>
    PyQt5教程——组件(7)
    查看>>
    pyqt5计时器的使用
    查看>>
    PyQt5设计桌面程序步骤
    查看>>
    PyQt5:检查鼠标是否在Enter-Event中按住
    查看>>
    pyqt出现“Ui_Dialog has no attribute “show””
    查看>>
    PyQt:如何使用QAxWidget引用发送参数
    查看>>
    PyQt:我可以制作一个带有图标和文本的工具栏按钮吗?
    查看>>
    pyscopg2:是否可以在循环中动态添加 %s
    查看>>
    Pyserial 缓冲区的填充速度比我读的快
    查看>>
    PySpark - 在数据框中求和一列并将结果返回为 int
    查看>>