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 в среде.
Разархивируйте указанный выше файл и поместите его в папку Environment.
Затем установите Pip нижеприведенных модулей
- pip install allure-robotframework
- 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='')