Allure не может прочитать файл output.xml, сгенерированный AllureReportLibrary в Robot Framework

Я использую Ride (RobotFramework IDE) и импортировал библиотеку AllureReportLibrary в моем проекте. С использованием Set Output DirЯ создаю каталог C:/AutomationLogs/Allure и все свойства allure и XML-файлы генерируются по этому пути.

Set Output Dir   C:/AutomationLogs/

Затем я использую команду "allure serve C:\AutomationLogs\Allure", чтобы попытаться сгенерировать файл отчета html в командной строке, но он показывает следующую ошибку:

"Не удалось прочитать результат C:\AutomationLogs\Allure\f56f4796-d30a-47f3-a988-d17f6c4e13ca-testsuite.xml: {} com.fasterxml.jackson.databind.exc.InvalidFormatException: Невозможно десериализовать va lue типа ru.yandex.qatools.allure.model.SeverityLevel from String "None": значение не одно из объявленных имен экземпляров Enum: [тривиальное, блокирующее, второстепенное, нормальное, критическое]"

XML-файл "f56f4796-d30a-47f3-a988-d17f6c4e13ca-testsuite.xml"был сгенерирован с использованием AllureReportLibrary

Также файл index.html, который генерируется после того, как команда открывается после этой команды и показывает Allure Report неизвестно неизвестно - неизвестно (неизвестно) 0 тестов NaN%

Я использую ниже - Allure версия - 2.4.1

Версия Ride - RIDE 1.5.2.1 работает на Python 2.7.12.

Я новичок в Robot Framework и Allure. Пожалуйста, дайте мне знать, правильно ли я это реализовал и почему я сталкиваюсь с вышеуказанной ошибкой.

Райан М

2 ответа

Я использую 1.1.1 версия Allure Adapter для Robot Framework и уровень серьезности выбирается из тегов тестового примера и добавляется как метка под test-case элемент отчета.

Тем не менее, похоже, что Allure 2.6.0 также ожидает действительное значение для severity атрибут test-case элемент.

Чтобы использовать Allure2 с текущими отчетами, я изменил AllureListener.py чтобы добавить серьезность в тестовый пример:

elif tag in SEVERITIES:
    test.severity = tag
    test.labels.append(TestLabel(
        name='severity',
        value=tag
    ))

Как создать отчеты Allure в Robot Framework?

Сначала загрузите командную строку и разархивируйте файл и сохраните путь к папке bin в среде.

Ссылка: http://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/2.8.0/allure-commandline-2.8.0.zip

Разархивируйте указанный выше файл и поместите его в папку Environment.

Затем установите Pip нижеприведенных модулей

  1. pip install allure-robotframework
  2. pip install robotframework-allurereport

В файле робота добавьте библиотеку в настройках, например, пример:

Библиотека AllureReportLibrary D:\eclipse\RobotFramework\results

Затем используйте команды ниже, чтобы запустить код робота.

robot --listener allure_robotframework; D: \ eclipse \ RobotFramework \ results Example.txt

В заключение,

Сгенерируйте файл HTML,

allure генерирует результаты D: \ eclipse \ RobotFramework \

Примечание. Используйте тот же путь, который использовался в предыдущей команде для создания файла HTml.file. и откройте в Mozhila FireFox. Это не будет работать в Chrome. Я не знаю точно, почему.

С Уважением,

Виджай

Если ваш output.xml имеет severity = None для любого тестового примера адаптер allure-robotframework-adapter выдаст указанную вами ошибку. Создание TestCase() объект с severity='' в start_suitesetup метод AllureListener.py сделает свое дело.

def start_suitesetup(self, name, attributes):
    ....
    ....
    test = TestCase(name=name,
                    description=description,
                    start=now(),
                    attachments=[],
                    labels=[],
                    parameters=[],
                    steps=[],
                    severity='')
Другие вопросы по тегам