面试问题python-接口自动化

1.能够大致讲一下你们接口自动化框架是怎么搭建的吗?

好的,我们采用unittest和ddt数据驱动思想搭建测试框架,(对数据excel读取、yaml配置、Requests接口请求、Re参数化、Pymysql数据库效验、日志等模块实现封装),其中,用

1.Openpyxl来处理excel,存储测试数据(用例数据)

2.pyyaml来配置文件(configparse,pyyaml)

  1. Pymysql来连接mysql数据库,执行sql数据,进行数据效验

4.Requests请求库,来向接口发起请求

5.使用logging模块来创建日志器,记录项目中的日志信息

6.使用HttpTestRunner来生成HTML测试报告

7.使用re模块来实现参数化(正则匹配)

8.使用动态创建属性(类属性)的机制来实现接口之间的依赖 (setattr getattr)

比如:我们项目中客服指派订单的时候,需要上一个接口订单ID,首先要对上一个接口发送请求,获取订单id,通过实例化对象,创建属性名,获取属性值,从而实现指派订单接口的成功请求。

分层设计

为了提升接口自动化测试框架的拓展性、稳定性、完整性,进而提升测试效率,往往会将测试框架工程化,

整个流程会分为不同的层级,每个层级之间保持相对独立

cases

测试执行逻辑层,用于存放所有的测试用例类

configs

配置层,用于存放当前框架中的所有配置信息(使用不频繁,修改不频繁的数据)

datas

测试数据层,用于存放所有的测试数据,测试参数(可以使用excel,json,yaml,数据库来存储)

libs

自定义库文件层,用于存放自定义或者二次开发的库文件

logs

日志层,用于保存运行框架过程中产生的所有有效日志信息

reports

报告层,用于保存所有的测试报告文件(一般为html报告)

scripts

脚本封装层,用于保存所有的操作封装模块(yaml,excel,log.mysql,requests,参数化等)

run.py

用例启动文件,使用套件加载用例,批量执行并生成报告

2.你做接口自动化测试时,测试数据放哪里?

  1. 对于一些基础配置比如环境地址、手机号码、一些不怎么变的数据配置可以放到conf文件
  2. 接口测试需要用到的数据可以放数据库表,也可以放到
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值