自动化测试框架梳理
框架的意义:可读性,可维护性,可扩展性
1、数据与代码分离,(数据驱动)==数据驱动框架==
例如:参数不一样,响应不一样
2、结构分层(数据层,用例层,逻辑性)
逻辑层:公用的方法,封装起来,避免用例层的代码冗余
数据层:例如,设计Excel,excel读取,参数化替换等
用例层:存放测试用例
好处
1、手工测试用例与自动用例完美结合,避免重复工作
2、配置灵活,根据需要快速选择执行用例/切换测试环境
3、常用功能封装,逻辑清晰,易于维护(逻辑层封装)
4、统一执行入口,管理测试用例集(使用unittest,run.py)例如:使用discover来模糊查询测试用例
5、持续集成(git),定时构建(jenkins),快速反馈
使用到的技术框架
1、语言:python
2、测试框架:unittest(assertEqual,assertTure,assertFalse)
3、接口调用:requests(API非常简洁)
4、数据驱动:ddt(装饰器:ddt类,unpack测试方法装饰器解包时候,data测试方法装饰器,可迭代的数据类型)
注:普通用户,管理用户,数据库,配置文件---基础数据
5、数据管理:openpyxl(excel,CSV,json,yaml,txt)
6、数据库交互:pymysql ---根据数据库选择相应的第三方模块来完成
7、数据格式的转换:eval,json
8、日志处理:logging ---清晰的执行过程,快速定位问题
9、持续集成:Jenkins(通过插件HTML Publisher/git/Email Extension)进行自动构建,生成HTML,发送邮件
一些常见的面试题
get和post的区别?
GET