本文介绍: 在进行 websocket 接口进行测试时候,希望有一个 case 是一直执行并接受接口返回数据。中的日志能够实时打印可以修改 pytest执行参数。直接点击 pycharm测试方法左侧的执行按钮。再次执行用例就能有实时日志了。

author: jwensh
date: 20231130

pycharmpytest 用例执行中 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 Interrupt
        rel.dispatch()

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

在这里插入图片描述

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

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

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注