pytest - Windows 致命异常:代码 0x8001010d

Joe*_*Joe 14 python pywinauto pytest

我正在尝试使用 pytest 和 pywinauto 运行 GUI 测试。当我正常运行代码时,它不会抱怨。

但是,当我通过 pytest 执行此操作时,它会引发一堆错误:

Windows fatal exception: code 0x8001010d
Run Code Online (Sandbox Code Playgroud)

请注意,代码仍然可以正常执行,并且案例被标记为通过。只是输出被这些奇怪的 Windows 异常污染了。

这是什么原因。我应该担心吗?

Windows fatal exception: code 0x8001010d
Run Code Online (Sandbox Code Playgroud)

Fel*_*ein 24

这是 pytest 5.0.0 引入的更改的效果。从发行说明来看:

#5440:现在默认启用故障处理程序标准库模块,以帮助用户诊断 C 模块中的崩溃。

此功能是通过将外部 pytest-faulthandler 插件集成到核心中来提供的,因此用户应从其需求中删除该插件(如果使用)。

有关更多信息,请参阅文档:https ://docs.pytest.org/en/stable/usage.html#fault-handler

您可以按如下方式消除这些错误:

pytest -p no:faulthandler
Run Code Online (Sandbox Code Playgroud)

  • 为了避免在所有测试中禁用故障处理程序,我在有问题的测试中使用了“faulthandler.disable()”然后是“faulthandler.enable()”。 (4认同)

np8*_*np8 5

Python 3.7.7 32-bit我对和 也有同样的问题pytest 5.x.x。通过将 pytest 降级到 v.4.0.0 解决了这个问题:

python -m pip install pytest==4.0
Run Code Online (Sandbox Code Playgroud)

也许所有 Python 版本都不与最新pytest版本兼容。