pytest-接口测试架构(基于python3.8

首先是依赖

pytest  
pytest-html    
pytest-rerunfailures   
pytest-xdist   
pytest-repeat  
allure-pytest  
pymysql    
retrying
pyyaml                  # 使用yaml配置文件方式必须安装
python-dotenv      
jmespath                # 好用的json解析库,看个人喜好

 

 

目录层级如下

api目录:存放对应调用接口方法
conf目录:配置文件存放
data_source目录,用于存放图片、附件等数据源文件
test_case目录:测试用例存放
.env文件:环境变量配置
utils目录:存放封装后的通用方法

 具体详解如下

pytest-接口测试架构(基于python3.8

 

 

 

1、放置接口请求方法(get,post),这样方便header变动的时候,可以不用每个文件去改

pytest-接口测试架构(基于python3.8

 

 

 接口使用该方法调用,其中一般推荐将方法定义为使用@staticmethod装饰

pytest-接口测试架构(基于python3.8

 

 

被@staticmethod装饰过的函数,就不再是一般的成员函数了,而是“静态函数”。这类函数在调用的时候:

  • (1)python解释器不会将对象作为第1个参数传入;
  • (2)不要通过对象来调用此类函数,要通过类来调用;
  • (3)因为没有对象传入,这类函数就无法获取与对象绑定的成员信息,也就是不能访问任何一个对象绑定的属性信息,只能通过类名来访问类变量(class variable),这也是第2点的原因,要用类来调用静态函数;
  • (4)此类函数,被封装在类中,只能在此类以及继承此类的范围内访问,外界不可访问,也是一种封装技术。

它是静止的,不会随不同的类和对象而发生变动,只会出现在类以及继承于此类的空间中。

 

2、放置了接口地址

pytest-接口测试架构(基于python3.8

 

 而3是找到配置的方法

pytest-接口测试架构(基于python3.8

 

 4放的是测试中需要用到的数据文件,比如图片等

5中防止的就是测试文件了,如

pytest-接口测试架构(基于python3.8

 

 6中放置的是环境信息,目前配置的是

ENV=dev
可以通过这个快速切换多环境

 

上一篇:Java8 时间差计算


下一篇:php 获取指定日期段内每一天的日期