如何使用python添加截图到诱惑报告?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用python添加截图到诱惑报告?相关的知识,希望对你有一定的参考价值。

我有这个代码:

# coding: utf-8
from selenium import webdriver
import pytest
import allure


@pytest.yield_fixture(scope='session')
def driver():
    _driver = webdriver.PhantomJS()
    yield _driver
    _driver.quit()


def test_ya(driver):
    with allure.step('open ya.ru and take screenshot'):
        driver.get('http://ya.ru/')            
        allure.attach('screenshot', driver.get_screenshot_as_png(), type='png')

我尝试截取屏幕并将其保存到诱饵报告中,执行后我有:

>       with self._attachfile("%s-attachment.%s" % (uuid.uuid4(), attach_type.extension)) as f:
            if isinstance(body, text_type):
E           AttributeError: 'str' object has no attribute 'extension'

我怎样才能解决这个问题?

答案

不要将type设置为字符串png,而是需要使用allure module attachment type constant,这是一个定义了Enum属性的extension

from allure.constants import AttachmentType

allure.attach('screenshot', driver.get_screenshot_as_png(), type=AttachmentType.PNG)
另一答案

对于诱惑2

from allure_commons.types import AttachmentType

allure.attach(driver.get_screenshot_as_png(), name="Screenshot", attachment_type=AttachmentType.PNG)

以上是关于如何使用python添加截图到诱惑报告?的主要内容,如果未能解决你的问题,请参考以下文章

python3修改HTMLTestRunner,生成有截图的测试报告,并发送测试邮件

Python测试框架pytest(28)测试报告Allure - 动态生成标题动态生成功能报告添加用例失败截图

pytest文档47-allure报告添加用例失败截图

如何在 Selenium Extent 报告中添加 Base64 图像的缩略图

我们可以将屏幕截图作为附件添加到 Azure 管道中的测试结果吗

36-pytest-allure报告添加文本截图信息