当前位置: 首页 > news >正文

【自动化测试】pytest 用例执行中print日志实时输出

author: jwensh
date: 20231130

pycharm 中 pytest 用例执行中 print 日志 standout 实时命令行输出

使用场景

在进行 websocket 接口进行测试的时候,希望有一个 case 是一直执行并接受接口返回的数据

def on_message(ws, message):message = json.loads(message)if message is not None and message['total'] > 0:print(datetime.now().strftime("%Y-%m-%d %H:%M:%S.%f"), message)class TestWss(unittest.TestCase):def test_bttc_todos(self):websocket.enableTrace(False)address = "*****"url = "{}/test/todos/{}".format(BASE_ENV_URL, address)ws = websocket.WebSocketApp(url,on_open=on_open,on_message=on_message,on_error=on_error,on_close=on_close)ws.run_forever(dispatcher=rel)  # 这里回一直卡住不然程序停止rel.signal(2, rel.abort)  # Keyboard Interruptrel.dispatch()

直接点击 pycharm 上测试方法左侧的执行按钮
在这里插入图片描述
是没有任何 on_message 的日志输出

在这里插入图片描述

想要 on_message 中的日志能够实时打印,可以修改 pytest 的执行参数

修改参数来达到实时输出日志的效果

  • 设置 pycharm 执行测试使用的工具
    • 第三步设置成 pytest (pytest 也是兼容 nose 和 unittest, 所以推荐 )
      在这里插入图片描述
  • 在用例用例/调试配置里设置命令的其他参数
    • --capture=no 或者 -s (pytest -h 就能看到参数)
      在这里插入图片描述

再次执行用例就能有实时日志了

  • 最后: 构建自动化测试用例时,添加简洁且饱含核心信息的日志是非常有必要的。除了添加 pytest 参数形式来展示实时日志,还可以使用 logging 模块来实现运行测试用例的实时输出。
  • 可以按自己的需求来,如果只是调试什么的,可以直接用参数
  • 如果是想要保留测试过程的重要数据,建议使用 logging
http://www.lryc.cn/news/252101.html

相关文章:

  • 【深度学习】KMeans中自动K值的确认方法
  • github问题解决(持续更新中)
  • 如何创建一个vue工程
  • 50 代码审计-PHP无框架项目SQL注入挖掘技巧
  • 基于Spring、SpringMVC、MyBatis的企业博客网站
  • spring日志输出到elasticsearch
  • 谷歌 Gemini 模型发布计划推迟:无法可靠处理部分非英语沟通
  • Ubuntu显卡及内核更新问题
  • SpringBoot错误处理机制解析
  • 牛客剑指offer刷题模拟篇
  • Locust单机多核压测,以及主从节点的数据通信处理!
  • ERROR: [pool www] please specify user and group other than root
  • 京东商品详情接口在电商行业中的重要性及实时数据获取实现
  • WT2003H MP3语音芯片方案:强大、灵活且易于集成的音频解决方案
  • 机器学习深度学学习分类模型中常用的评价指标总结记录与代码实现说明
  • fastapi 后端项目目录结构 mysql fastapi 数据库操作
  • 研习代码 day47 | 动态规划——子序列问题3
  • L1-017:到底有多二
  • Python多线程使用(二)
  • 记录一次docker搭建tomcat容器的网页不能访问的问题
  • GPT3年终总结
  • Kafka生产者发送消息的流程
  • 基于SSM的数学竞赛网站设计与实现
  • 01-使用Git操作本地库,如初始化本地库,提交工作区文件到暂存区和本地库,查看版本信息,版本切换命令等
  • 排序算法介绍(二)冒泡排序
  • 搜索引擎高级用法总结: 谷歌、百度、必应
  • com.intellij.openapi.application.ApplicationListener使用
  • 常见js hook脚本
  • Java——SpringLayout弹簧布局
  • 正则表达式及文本三剑客grep sed awk