allure-pytest: AttributeError: объект 'module' не имеет атрибута 'attachment_type' - PullRequest
0 голосов
/ 21 декабря 2018

Я использую pytest и allure-pytest для автоматизации тестовых случаев моего веб-приложения.Мой тестовый пример имеет следующий формат:

import allure
from selenium import webdriver
class Test_Abc():

    options = webdriver.ChromeOptions()
    options.add_argument("--no-sandbox")
    options.add_argument("--foreground")
    options.add_argument('disable-infobars')
    options.add_argument("--disable-extensions")
    driver = webdriver.Remote(command_executor="http://127.0.0.1:4444/wd/hub", desired_capabilities=options.to_capabilities())

    def test_check_reapply_page_001(self):
        allure.attach(self.driver.get_screenshot_as_png(), "Failed", allure.attachment_type.PNG)

При запуске тестового примера возвращается ошибка в команде allure.attach:

AttributeError: «модуль» объект не имеет атрибута »attachment_type '

Посоветуйте, пожалуйста, как преодолеть эту ошибку?

Libs:

allure-pytest == 2.5.4

allure-python-commons == 2.5.4

pytest == 3.7.0

селен == 3.141.0

1 Ответ

0 голосов
/ 21 декабря 2018

Попробуйте использовать type allure константу типа присоединения модуля , которая является 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)

Редактировать:

Взгляните на Собственные тесты привязанности .Например:

 allure.attach(xml_body, attachment_type=allure.attachment_type.XML)
...