搭建接口自动化测试框架 Python+Requests+Pytest+Allure

一、项目代码工程构建思路
设计框架的原则:

封装基类方法

对于一些较通用的方法,可以封装,比如发送请求、增、删、改、查。

高内聚低耦合

每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。

模块与模块之间接口的复杂程度尽量低,比如在类内部尽可能减少方法之间的调用,否则一个方法的变动会影响调用它的另一个方法。

脚本分离

业务代码、测试数据应该相互剥离、灵活调用。理念类似初识PO模式并在Selenium中简单实践中的PO设计模式。代码中应该不出现具体的数据、配置。而是调用对应的数据文件。

二:一个比较完善的项目代码工程结构:

- common  #包文件,公共模块,存放一些通用方法
    - baseapi.py
        - class BaseApi()#基类
            - 方法1:发送请求
            - 方法2:增
            - 方法3:删
            - 方法4:改
            - 方法5:查
- libs  #包文件,存放业务层代码
    - login.py #登陆模块
        - class Login(BaseApi) #继承基类里的BaseApi
            - 方法1:发送登陆请求
            - 方法2:发送登出请求
    - logout.py #登出模块
        - class Logout(BaseApi)
- configs  #包文件,存放配置
    - config.py
        - HOST='xxx'#用于切换测试环境
        - url='xxx'
- datas #文件夹,存放数据/测试用例
    - xxx.xls
    - xxx.yaml
- testCase #包文件,存放测试用例代码,注意符合pytest命名规范
    - test_login.py
        - class Test_login
            - 方法1:test_login01
            - 方法2:test_login02
    - test_logout.py
        - - class Test_logout
            - 方法1:test_logout01
            - 方法2:test_logout02
- outFiles #文件夹,输出文件
    - logs #存放log文件
    - report #存放报告
    - screenShot #存放截图
- tools #包文件,工具类
    - handle_data.py 
    - handle_excel.py
    - handle_path.py
    - handle_yaml.py
- docs #文件夹,存放说明类文档
    - 代码规范.doc
    - 需求文档.doc

框架搭建:

在这里插入图片描述
三:后续代码编写思路:

框架写好后的代码编写思路,大体上为

1.基类封装,把一些常用的方法比如发送请求、增、删、改、查放到我们的基类里。

2.编写业务层的接口代码

3.编写测试用例代码,过程中发现缺什么就去写什么方法,思考这个方法应该放在具体业务内还是基类还是tools内,这个过程是对代码不断优化的过程。直到我们的用例代码写完。

比如,写测试用例代码过程中需要读取yaml文件,就在tools内加一个get_yml_data的方法

再比如,两个业务模块之间需要关联,需要A方法返回对象给B方法用,则去优化A方法,给出返回值。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
接口自动化测试框架是基于Python语言开发的,主要使用了以下几个工具和库:requests、yami、pytestallure和logging。 首先,requestsPython中一个常用的HTTP库,在接口测试中用于发送HTTP请求,并获取响应结果。它提供了简洁的API,使得发送各种类型的请求变得非常方便。 其次,yami是一个用于解析接口返回数据的库。它可以帮助我们从HTTP响应中提取所需的数据,并进行断言判断,比如验证返回的状态码、响应内容等。 然后,pytest是一个Python的测试框架,它具有很强大的测试用例管理和执行能力。我们可以使用pytest来编写接口测试用例,并结合fixture功能对测试环境进行初始化和清理工作。 allure是一个用于生成测试报告的工具。它可以将测试结果以可视化的方式展示,同时具备丰富的报告元素,比如用例执行状态、失败原因等。这样可以方便查看测试结果,快速定位问题。 最后,logging是Python内置的日志记录工具,在接口自动化测试中,我们可以使用logging来记录一些重要的操作或错误信息,帮助我们进行调试和问题追踪。 综上所述,以上工具和库是常用于搭建接口自动化测试框架的重要组成部分。通过它们的结合使用,可以辅助我们完成接口测试的各项工作,包括发送请求、解析响应、断言判断、测试用例管理、生成测试报告等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值