zoukankan      html  css  js  c++  java
  • pytest--metadata

    一、安装
    pip install pytest-metadata
     
    二、查看pytest元数据
    使用pytest 执行用例的时候加上 -v 参数(或--verbose),在控制台输出报告的头部就会输出元数据(metadata)
    >pytest --verbose
    ============================= test session starts =============================
    platform win32 -- Python 3.6.0, pytest-4.5.0, py-1.5.4, pluggy-0.13.1 -- e:python36python.exe
    cachedir: .pytest_cache
    metadata: {'Python': '3.6.0', 'Platform': 'Windows-10-10.0.17134-SP0', 'Packages': {'pytest': '4.5.0', 'py': '1.5.4', 'pluggy': '0.13.1'}, 'Plugins': {'allure-pytest': '2.8.6', 'PyTestReport': '0.1.9.3', 'assume': '2.2.1', 'forked': '0.2', 'html': '1.19.0', 'metadata': '1.7.0', 'ordering': '0.6', 'repeat': '0.7.0', 'rerunfailures': '8.0', 'xdist': '1.23.2'}, 'JAVA_HOME': 'D:\java\jdk1.8'}
    rootdir: D:softcodepytest_api_2020_03
    plugins: allure-pytest-2.8.6
    元数据是以键值对(key-value)方式存储的
     
    三、添加metadata
    可以在命令行用 --metadata 参数添加键值对(key, value)的元数据。
    比如当我们完成了一个项目,需要添加作者信息,于是就可以添加元数据
    pytest --metadata auther admin
    如果需要添加多个元数据,可以使用多次 --metadata 参数添加
    pytest --metadata auther yoyo --metadata version v1.0
    从文档上看可以支持json格式,一次性传多组元数据,使用--metadata-from-json,但我自己试了下,并不支持这个参数,这种方式可以忽略!
    pytest --metadata-from-json '{"cat_says": "bring the cat nip", "human_says": "yes kitty"}'
     
    四、编辑metadata
    可以直接在代码里面新增/修改/删除元数据,使用pytest_metadata hook函数
    import pytest
    @pytest.mark.optionalhook
    def pytest_metadata(metadata):
        metadata.pop("password", None)
    可以在测试用例或fixture 访问元数据(metadata)
    def test_metadata(metadata):
        assert 'metadata' in metadata['Plugins']
    在插件里面访问 metadata,可以在config对象使用 _metadata 属性来新增/修改/删除 元数据
    def pytest_configure(config):
      if hasattr(config, '_metadata'):
          config._metadata['foo'] = 'bar'
    五、插件集成
    下面是一个方便的插件列表,这些插件要么读取元数据,要么对元数据有贡献:
    pytest-base-url - Adds the base URL to the metadata.
    pytest-html - Displays the metadata at the start of each report.
    pytest-selenium - Adds the driver, capabilities, and remote server to the metadata.
     
    六、pytest.ini 管理元数据
    如果新增的元数据较多,在命令行输入不太方便,可以在pytest.ini配置里面配置你的项目元数据
    [pytest]
    addopts = -v 
      --html=report.html 
      --self-contained-html
      --metadata auther yoyo 
      --metadata version v1.0
     

  • 相关阅读:
    CentOS中文件夹基本操作命令
    Apache和Nginx下禁止访问特定的目录或文件
    自适应网页设计(Responsive Web Design)
    使用Google Https搜索
    AMD 3600+ X2 CPU配合昂达A69T主板超频教程
    dedecms上传图片相对路径改成绝对路径方法
    安装ecshop默认安装后的错误解决方案
    动态加载JS脚本的4种方法
    Java虚拟机(二)对象的创建与OOP-Klass模型
    Android系统启动流程(四)Launcher启动过程与系统启动流程
  • 原文地址:https://www.cnblogs.com/absoluteli/p/13985219.html
Copyright © 2011-2022 走看看