51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1794|回复: 0

[原创] 告诉你python的那些自动化测试框架是如何来实现自动化方案!

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:12
  • 签到天数: 918 天

    连续签到: 3 天

    [LV.10]测试总司令

    发表于 2022-10-12 11:58:16 | 显示全部楼层 |阅读模式
    众所周知,目前市面上大部分的企业实施接口自动化最常用的有两种方式:
      1、基于代码类的接口自动化,如:
      Python+Requests+Pytest+Allure报告定制
      2、基于工具类的接口自动化,如:
      Postman+Newman+Jenkins+Git/svn
      Jmeter+Ant+Jenkins+Git/svn
      而接口自动化离不开接口自动化框架的搭建,大部分测试人员都感觉框架非常神秘,非常遥远。主要是因为大部分的测试人员代码能力比较薄弱;废话不多说:看效果:

    一、接口自动化测试框架需要具备什么功能?
      1、校验
      这个很好了解,如果没有校验,单纯的执行接口的话,那就谈不上测试了。所以支持对返回值校验是一个必须的功能。
      2、数据隔离
      数据隔离就是指具体的请求接口、参数、校验等数据做到与代码相隔离,便于维护,一旦需要调整接口用例、新增接口用例时可很快速的找到位置。
      3、数据传递
      做到数据隔离可维护后,数据传递是另外一个更重要的需求。
      4、动态函数
      实际用例场景中我们可能会有随机生成一个手机号、字符串加密等需求,在数据与代码隔离之后,此时我们就需要代码可以支持做到识别对应关键字时可以执行对应的函数进行填充。
      5、可配置
      有时,我们的需求是用例不单单只能在一个环境上执行,可能需要同一份接口用例可以在QA、预发、线上等多个环境都可以执行
      6、日志
      日志包含执行的具体执行接口、请求方式、请求参数、返回值、校验接口、请求时间、耗时等关键信息,日志的好处一来是可以便于在新增用例有问题时快速定位出哪里填写有问题,二来是发现bug时方便向开发反馈提供数据,开发可以从触发时间以及参数等信息快速定位到问题所在。
      7、可视化报告
      用例执行后,就是到了向团队展示结果的时候了,一个可视化的报告可以便于团队成员了解到每次自动化接口用例执行的成功数、失败数等数据。
      8、用例驱动
      1)用例的驱动模式,涉及到怎么存放测试数据,怎么描述用例,又如何复用;
      2)考虑到效率的话还要支持并发;
      3)当然测试报告不能光记录成功和失败,还有用例执行耗时,接口调用耗时,、场景的通过率等各项数值的统计。
      9、数据隔离
      1)并发的话在接口自动化方面倒不是必须的,当然有是更完美的。
      2)用例是否能复用应该跟用例的设计有关系,跟框架关系不是很大。
      3)报告确实是越强大越好,有老板关心的数据,有开发关心的数据是最好不过了。
      二、接口自动化测试框架目录结构


    各个目录的作用
      common/: 报告、日志等公共模块存放文件夹。
      config/: 文件路径、配置信息存放。
      db_init/: 测试数据初始化处理程序。
      logs/: 生成日志文件。
      pies/: 饼图存放。
      report/: 测试报告存放。
      testcase/: 用于编写测试用例。
      run_main.py 执行测试集的主程序。
      三、日志监控文件的信息
      日志监控是每个框架必备的,用于监控每个接口的数据以及返回接口以及报错信息。


    四、搭建具有企业Logo的定制化报告。
      报告还可以定制的吗?第一次听说,哈哈,除了Logo定制外,还搭建了,项目名称定制,模块定制,接口名称定制,用例标题定制…N中定制。如下图:




    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-28 23:00 , Processed in 0.062544 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表