Allure ModuleNotFoundError 但仅限于包的某些功能

Allure ModuleNotFoundError but only on certain functions of the package

我开始使用 Allure 为我的测试自动化团队制作报告。我的目标是附上屏幕截图,但我 运行 出错了。提示这个错误的代码行是:

import allure #This line runs fine
from allure.constants import AttachmentType #This one throws the error

抛出:ModuleNotFoundError: No module named 'allure.constants'; 'allure' is not a package

我在代码的不同部分使用 allure 而没有 运行 出错,例如我使用装饰器:

@allure.step("Description of a step")

所以模块被正确加载。在互联网上进一步检查后,我发现链接指出我应该卸载以前的软件包,例如 pytest-allure-adaptor,如 中所示。我这样做了,但错误仍然没有改变。

为了提供更多上下文,我使用了以下软件:

IDE: Visual Studio 代码 OS: Windows 7 Python版本:3.6 诱惑-pytest:2.8.12 魅力-python-公地:2.8.12

我用的allure版本好像没有allure.constants

我解决了我的问题,我将该行更改为:

from allure import attachment_type

然后,截取屏幕截图并将其添加到报告中:

allure.attach('screenshot', driver.get_screenshot_as_png(), type=attachment_type.PNG)

我希望这对以后的其他人有所帮助。