自动化测试框架的知识梳理

  1. 框架的意义:可读性,可维护性,可扩展性
    1. 维护与代码分离:使用数据驱动(ddt)
    2. 结构分层:数据层(testcase文件夹),用例层(data文件夹),逻辑层(common文件夹)
  2. 测试的步骤:
    1. 准备测试数据:设计excel,excel数据的读写,参数化替换
    2. 发起请求:判断请求的方式,请求的url(url的拼接),参数转为字典(case.data)eval(),拿到返回结果
    3. 解析结果:断言,响应码,响应结果,响应文本,回写测试结果到Excel
  3. 框架的好处:
    1. 手工测试用例与自动用例完美结合,避免重复工作
    2. 配置灵活,根据需要快速选择执行用例/切换测试环境(不同的环境,测试环境,线上环境,设置一个总开关,决定使用的环境)
    3. 常用功能封装,逻辑清楚,易于维护(结构分层)
    4. 统一执行入口,管理测试用例集(run.py入口,生成测试报告 )
    5. 持续集成,定时构建,快速反馈(jenkins) 代码上传到git上,持续集成到jenkins上,发邮件快速反馈结果
  4. 项目使用到的技术与框架:
    1. 语言:python(语言简洁)
    2. 测试框架:unittest
    3. 接口调用:requests(API 非常简洁)
    4. 数据驱动:ddt(装饰器:ddt(装饰测试类),data(装饰测试方法),unpack())
    5. 数据管理:openpyxl(可以同时支持读与写) excel 写测试用例(exel,csv,json,yaml,txt) 数据库->数据数量很大的时候
    6. 数据库交互:pymysql(数据库:MySql)
    7. 数据格式的转换:eval(), json.loads() Excel读取出来的数据都是 str ,request方法的参数要求是:dict
    8. 日志处理:logging 清晰的了解执行的过程,快速定位问题(创建日志收集器)
    9. 持续集成:jenkins 解决重复发版本带来的重复工作 (配置git-》拉代码-》run->发邮件)