一、查缺补漏
1. 在测试报告中添加注释,写在类名下面就行,方法名下面,三引号

2. 直接import ddt引用的时候需要ddt.ddt, ddt.data, ddt.unpack
 from ddt import ddt,data,unpackkeyi from会更好,引用的时候直接data就行
二、DDT数据驱动
1. 数据驱动:将不同的数据在同一个业务逻辑上运行,只需写一个测试用例获取改变项,就可以完成测试文档
2. 使用:
  a. 安装DDT(Data Driven Tests) pip install ddt

  b. 语法:ddt只能对可迭代对象进行解包,像元组和列表,不可以用于字典解包,字典用zip
   from ddt import ddt,data,unpack 从ddt库种导出ddt,data,unpack函数
   在测试类上使用@ddt
   在测试函数上使用@data(*case_data),进行数据解压,然后每一个元素传入测试函数

  c. @data():解压一层
   @unpack(): 解压多层

  d. 用于取值做接口测试

三、日志
1. 日志模块
  a. 日志作用:日志记录程序的执行过程
  b. 日志要素
    i. 日志渠道:日志输出位置,文件,控制台,用来收集日志的
    ii. 日志级别:info、debug、error 我们经常用的
    iii. 日志格式:日志的样子,类似于报错提示哪一行
    iv. 日志内容:自己输出的内容,或者是报错信息
2. 日志级别(debug < info < warning < error < critical)按严重度从小到大排序 ,查看级别顺序是只可以查看更严重的
  a. debug:代码调试的输出,不希望别人看到的日志
  b. info:表示程序正常执行的输出
  c. warning:不影响程序执行,可以优化,提示你
  d. error:程序执行报错
  e. critical:程序严重问题
  f. 修改root收集器的日志级别:logging.basicConfig(level=logging.级别) 设置日志级别
3. 日志收集器创建
  a. 创建日志收集器:创建和root一样的收集器
    test_log = logging.getLogger(name='日志渠道的名称') 日志渠道的名称一般是与项目名称一致
  b. 创建日志收集渠道:输出到哪里
    实例化名称1 = logging.StreamHandler() 创建日志控制台渠道,需要实例化
  c. 创建日志格式 fmt是参数,参数可以做名字,但是关键字不可以,紫色是参数 格式解释在图片里
   格式名 = '【%(asctime)s-%(name)s-%(levelno)s-%(levelname)s-%(pathname)s-%(lineno)d】:%(message)s'
   格式接收名 = logging.Formatter(fmt = 格式名)
   测试中的值传给了message
  d. 设置日志输出格式【渠道】实例化名称1.setFormatter(fmt =格式接收名) 实例化名称1.setLevel(logging.级别) 渠道级别
  e. 设置日志级别【收集器】test_log.setLevel(logging.级别) 一般只设定一个
  f. 收集器绑定渠道 test_log.addHandler(实例化名称1)

4. 日志切割 将日志收集到文件中方便收集 日志会叠加在文件中
  handlers.RotatingFileHandler():按文件大小切日志【了解】
  handlers.TimedRotatingFileHandler():按时间切日志【掌握】
  filename:日志文件名称,要带路径,默认是当前目录
  when='h',:日志滚动周期的单位,S:秒, M:分钟 ,H:小时, D:日, W:周, midnight:日期
  interval=1:滚动周期(日志切割周期),1 间隔多个个when
  backupCount=0:日志保留的个数
  encoding=None:编码格式

5. 函数封装日志,一般调用日志函数的实例化对象,不直接调用函数

四、一些小记
1. 实例化名 = logging.getLogger() 实例化接收,里面没有内容打印出来没有内容None 用于日志
2. 报缺少self字段时多半是实例化问题,后面没写括号
3. 不想显示None把print去掉就好

Python_15 ddt驱动与日志的更多相关文章

  1. DDT驱动selenium自动化测试

    建两个.py文件分别是是读取xlsx文件内容,一个是测试用例使用ddt驱动 获取xlsx文件内容 import xlrd class ParseExcel(object): def __init__( ...

  2. selenium3关于ddt驱动之读取json文件。。。

    from selenium import webdriver import ddt import time import unittest """ DDT(驱动.json ...

  3. DDT驱动

    下载ddt并安装 Pip install ddt 或者官网下载安装 http://ddt.readthedocs.io/en/latest/ https://github.com/txels/ddt ...

  4. Mac OS下 selenium 驱动safari日志

    /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/bin/java "-javaagent:/Applicat ...

  5. Selenium(Python) ddt读取MySQL数据驱动

    import unittestfrom time import sleep from ddt import ddt, datafrom pymysql import connectfrom selen ...

  6. Selenium(Python) ddt读取Excel文件数据驱动

    首先, 引入xlrd模块: ExcelDDT.py: import unittestfrom time import sleep from ddt import ddt, datafrom selen ...

  7. Selenium(Python) ddt读取CSV文件数据驱动

    import csvimport unittestfrom time import sleep from ddt import ddt, data, unpackfrom selenium impor ...

  8. Docker容器日志管理最佳实践

    目录 一 .Docker 引擎日志 二.容器日志 2.1.常用查看日志命令--docker logs 2.2 .Docker 日志 驱动 三. 生产环境中该如何储存容器中的日志 一.当是完全是标准输出 ...

  9. LOG日志溯源取证总结

    windows操作系统事件日志 C:\Windows\System32\winevt\Logs\ *( XP C:\Windows\System32) 应用程序日志 App Event.Evtx(Ap ...

  10. docker容器日志管理

    docker容器日志分为两类:docker引擎日志(Docker本身运行的日志)和容器日志(各个容器内产生的日志) 一.Docker引擎日志: Centos系统下的docker引擎日志一般给syste ...

随机推荐

  1. centos 通过yum安装docker-ce报错

    通过yum安装docker-ce报错,是因为本机安装过多次造成的,如下所示,需要解决掉冲突依赖,从新安装 1 从 https://mirrors.aliyun.com/docker-ce/linux/ ...

  2. 渲染器的实现(1)--《vue.js设计与实现》

    function renderer(domString, container) { container.innerHTML = domString } let count = ref(1) rende ...

  3. vim的visual模式和列编辑

    有三种方式进入visual模式: 1> 在普通模式下输入v(小写),底部提示信息为VISUAL,编辑粒度为字符 通过方向键或者HJKL调整选择的字符范围. 输入d,删除选中字符: 输入y,复制当 ...

  4. TCP idle timeout 和TCP Keepalive 比较和分析

    TCP  idle timeout  和TCP Keepalive  是两个独立的功能. TCP  idle timeout  TCP  idle timeout  是系统TCP配置文件中的空闲超时设 ...

  5. docker 容器版本问题

    LoggerFactory is not a Logback LoggerContext but Logback is on the classpath springboot docker 容器中运行 ...

  6. luffy项目全局配置

    一:media文件夹配置 settings.dev下配置media文件夹,暴露资源 media_path=BASE_DIR.parentMEDIA_ROOT=Path(media_path).join ...

  7. LoadRunner——安装教程以及创建与录制(一)

    theme: channing-cyan 1. loadrunner12|loadrunner12官方版下载(附安装教程)+网盘下载+汉化包 CSDN下载及安装教程: https://blog.csd ...

  8. [极客大挑战 2019]PHP 1

    进入后提示我们网页有备份文件,这边使用爆破工具,网页会down掉 随便随便猜了一下www.zip,成功下载源码 常见的网页备份有 .git ~ .swp .swo .bak .zip 还不知道是什么题 ...

  9. Android笔记--Application

    Application生命周期 在APP运行过程中有且仅有一个Application对象贯穿整个生命周期 Application全局变量 实例化: 声明全局变量:

  10. Python学习笔记--判断语句的延续

    if else语句 示例: 需要注意的是,if后面必须有条件,而else后面可以不需要判断条件 案例: 实现: if elif else 语句 多条件判断,if 和 elif 后面必须有条件,else ...