接口自动化框架模型设计

一、分层设计的思想

  • 公共方法目录:common
  • 测试用例类模块目录:testcases
  • 测试数据目录:data
  • 测试报告存放目录:reports
  • 配置文件存放目录:conf
  • 日志文件存放目录:logs
  • 项目启动文件:run_test.py

二、数据驱动思想(ddt)

  • 以用例数据来生成测试用例(数据驱动用例生成),有多少条用例数据,生成多少条测试用例

三、框架搭建的意义(可读性、可扩展性、可维护性)

  • 数据驱动思想性 (根据用例数据来生成测试用例)
  • 结构分层设计(数据层、用例层、逻辑层、报表)

四、搭建框架的好处

  • 手工用例与自动化用例完美结合,避免重复的工作
  • 配置灵活,根据需求可快速切换测试环境
  • 常用功能分模块封装,逻辑清晰、易于维护
  • 统一执行入口,管理测试用例集
  • 持续集成,定时构建,邮件快速反馈报表

五、搭建框架使用到的技术

  • 语言:python
  • 测试框架:unittest pytest
  • 请求接口:requests(http请求)
  • 数据驱动:(ddt)
  • 数据管理:excel文件,openpyxl操作读写
  • 数据库交互:pymysql
  • 生成测试报告:HTMLTestRunnerNew   BeautifulReport
  • 日志处理:logging
  • 持续集成:定时任务 Jenkins

六、程序运行流程

  • 1、创建测试套件
  • 2、添加测试用例到套件
    • 生成测试用例
      • 读取excel中的测试用例数据
      • 使用ddt根据用例数据来生成测试用例
    • 创建loader对象,将指定路径下的测试用例加载过来
  • 3、执行测试用例程序,生成测试报告
    • runner.run(suite)
      • 遍历除套件中所有测试用例,一条一条的去执行
      • 每一条测试用例执行的流程
        • 1、获取用例数据
        • 2、发送请求参数到接口地址(单元测试:调用功能函数,传入参数)
        • 3、获取返回的实际结果,和预期结果进行断言,看用例是否执行通过
原文地址:https://www.cnblogs.com/lctest/p/12458027.html