首页 > 其他分享 >pytest + yaml 框架 -48.仅收集用例失败错误信息和log日志

pytest + yaml 框架 -48.仅收集用例失败错误信息和log日志

时间:2023-07-07 20:22:55浏览次数:40  
标签:log 48 用例 value yaml pytest 日志

前言

有小伙伴提到能不能只收集用例失败的情况下日志和错误信息,每个用例都收集日志内容太多了,没法直观的看错误的用例信息。
v1.3.9 版本实现此功能,在原有的功能上新增一个log日志文件,仅收集用例错误的日志。

log 日志收集

用例执行完会默认生成2个日志文件

  • 全量日志,每个用例的日志都会收集
  • 仅失败的用例日志

使用示例

config:
   name: demo

test_1:
  name: 用例1
  print: "111111"

test_2:
  name: 用例2
  print: "2222"
  validate:
    - eq: [200, 201]

用例执行后根据当前时间生成一个20230707_201045_error.log 日志文件

************************* a1/test_a2.yml::test_2 *************************
测试结果 outcome:failed   
用例耗时 duration:0.003574687999999826
异常 exception:<ExceptionInfo AssertionError("200-><class 'int'> == 201-><class 'int'>\nassert 200 == 201") tblen=4>
exception详细日志:request = <FixtureRequest for <Function test_2>>
requests_session = <pytest_yaml_yoyo.http_session.HttpSession object at 0x0000022D4EF43D00>

>   ???

test_a2.py:2: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
venv\lib\site-packages\pytest_yaml_yoyo\runner.py:222: in execute_yaml_case
    self.validate_response(response, validate_value)
venv\lib\site-packages\pytest_yaml_yoyo\runner.py:559: in validate_response
    validate.equals(actual_value, expect_value)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

check_value = 200, expect_value = 201

    def equals(check_value, expect_value):
        check_value = None if check_value == 'None' else check_value
        expect_value = None if expect_value == 'None' else expect_value
>       assert check_value == expect_value, f'{check_value}->{type(check_value)} == {expect_value}->{type(expect_value)}'
E       AssertionError: 200-><class 'int'> == 201-><class 'int'>
E       assert 200 == 201

venv\lib\site-packages\pytest_yaml_yoyo\validate.py:10: AssertionError
Captured stdout call2222
Captured log callINFO     pytest_yaml_yoyo.log:runner.py:128 执行文件-> test_a2.yml
INFO     pytest_yaml_yoyo.log:runner.py:129 base_url-> http://124.70.221.221:8201
INFO     pytest_yaml_yoyo.log:runner.py:130 config variables-> {}
INFO     pytest_yaml_yoyo.log:runner.py:132 运行用例-> test_2
INFO     pytest_yaml_yoyo.log:runner.py:221 validate 校验内容-> [{'eq': [200, 201]}]
INFO     pytest_yaml_yoyo.log:runner.py:557 validate 校验结果-> eq: [200, 201]

根据用例节点a1/test_a2.yml::test_2 详细记录用例报错的内容和用例运行的日志.

标签:log,48,用例,value,yaml,pytest,日志
From: https://www.cnblogs.com/yoyoketang/p/17535968.html

相关文章

  • 题解 P8648【[蓝桥杯 2017 省 A] 油漆面积】
    怎么题解区全是扫描线,还有个\(O(n^3)\)暴力老哥。为防止误导新人,给个理论上稳过的\(O(n^2)\)解法。二维前缀和可以处理若干次单点加,最后若干次矩形查的问题。将其差分,即可处理若干次矩形加,最后若干次单点查的问题。于是我们使用差分将所有矩形加上,然后做一遍二维前缀和,即......
  • CVE-2023-34843
    漏洞名称TraggoServer文件读取(CVE-2023-34843)利用条件traggo/server版本0.3.0漏洞原理TraggoServer是一个基于标签的时间跟踪工具。CVE-2023-34843中,攻击者可构造恶意请求读取遍历系统上的文件,造成敏感信息泄漏。漏洞利用poc/static/..%5c..%5c..%5c..%5cetc/pas......
  • 错误:rpmdb: BDB0113 Thread/process 8709/139671674841152 failed
    rpm库报错错误:rpmdb:BDB0113Thread/process8709/139671674841152failed:BDB1507ThreaddiedinBerkeleyDBlibrary错误:db5错误(-30973)来自dbenv->failchk:BDB0087DB_RUNRECOVERY:Fatalerror,rundatabaserecovery错误:无法使用db5- (-30973)打开Packages......
  • pytest + yaml 框架 -47.parameters参数化支持笛卡尔积
    前言v1.3.8版本对parameters参数化格式重新做了定义,支持笛卡尔积了。当然以前旧版本的格式还是继续兼容。parameters参数化新版本对parameters参数化重新做了定义,简化了步骤,更加清晰简洁.1.只有一个变量需要参数化的情况test_p1.ymlconfig:parameters:x:["a"......
  • 【DSY 4484】矩阵 题解(带限错排)
    DSY传送门。(带限制)错排问题。神仙题。Solution根据题目的问法,发现我们只想统计比给定矩阵\(A\)小的矩阵,记这个矩阵为\(B\)。显然,\(B\)的第\(i\)行一定从某个位置开始小于\(A\)的第\(i\)行,且前面的内容和\(A\)都是一样的。所以我们只需要枚举这个“开始变小”......
  • golang 解析yaml文件
    初始化packagemainimport( "github.com/spf13/viper")funcinitConfig(){ viper.SetConfigName("config") viper.AddConfigPath("./") iferr:=viper.ReadInConfig();err!=nil{ fmt.Println("Initsetingerror:",......
  • 串口 RS232 RS485
    一、 接口的物理结构  1. RS232接口:RS232接口连接器使用DB-25的25芯插头座。一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。2. RS485接口:RS48......
  • 以太网温湿度传感器RJ45信号和485信号输出的温湿度传感器区别
    #RS485信号输出的温湿度传感器和RJ45信号输出的温湿度传感器区别分析温湿度传感器是一种用于测量环境中温度和湿度的设备,可以应用于各种领域,如农业、工业、建筑等。在市场上,有两种常见类型的温湿度传感器:RS485信号输出的和RJ45信号输出的。本文将对这两种类型进行区别分析。##......
  • maven 网关应用:[NACOS ConnectException httpPost] currentServerAddr: http://localh
    网关应用运行忽然报错:[NACOSConnectExceptionhttpPost]currentServerAddr:http://localhost:8848,虽然调整了代码逻辑,但是nacos的配置没有变更过,之前也还能正常跑,网上查了一些,有说是配置优先级的问题,说是Nacos默认的配置优先级最高,覆盖了本地了,但是我遇到的情况是虽然一直......
  • pytest + yaml 框架 -46.支持模块级别和用例级别参数化
    前言对parameters功能做了优化,支持模块级别和用例级别参数化config中parameters参数化,作用域是整个模块级别用例中parameters参数化,作用域只针对单个用例v1.3.7版本优化此功能模块级别参数化config中parameters参数化,作用域是整个模块级别,test_a.yaml文件示例......