Я обнаружил, что время от времени группа друзей задавала вопросы в группе общения:
Итак, начиная с решения практических задач, я хочу рассказать, как я отображаю отчет об испытаниях Allure~
import pytest
class TestLogin:
def test_1(self):
print("Сценарий использования 1")
assert True
def test_2(self):
print("Сценарий использования 2")
assert False
def test_3(self):
print("Сценарий использования 3")
assert False
if __name__ == '__main__':
# для отладки
# pytest.main(["-q", "demo.py"])
# Синхронно генерировать файлы данных для Allure
pytest.main(["-q", "demo.py", "--alluredir", "./report/allure_result",
"--junitxml=./report/xml/result.xml"])
Выше приведен простейший пример pytest. Существует 3 варианта использования, из которых 1 — успешный, а 2 — неудачный.
Позже мы продемонстрируем работу на основе этой демонстрации~
Предварительное условие: pytest, jdk, allure и другие связанные среды настроены локально.
# Создавайте связанные файлы ресурсов для отчета Allure локально.
pytest тестовый скрипт.py --alluredir=./my_allure_results
# Запустите службу Allure локально и получите доступ к этому файлу ресурсов.
allure serve ./my_allure_results
Фактический дисплей выглядит следующим образом. Вы можете получить доступ к этому отчету об испытаниях Allure через локальный фактический IP-адрес + случайный номер порта.
# Создавайте связанные файлы ресурсов для отчета Allure локально.
pytest тестовый скрипт.py --alluredir=./my_allure_results
# Создать отчет об испытаниях в формате html.
allure generate ./my_allure_results
После выполнения команды alluregenerate папка allure-report будет сгенерирована локально с index.html в ней.
Тогда этот html нельзя будет открыть напрямую (данные не будут отображаться). На данный момент известно, что его можно открыть через pycharm.
В настоящее время рекомендуемый способ — интегрировать систему pytest с Jenkins, поскольку Jenkins имеет несколько полноценных плагинов и функций перехвата, которые легко интегрировать, а отображение также очень дружелюбно!
Сначала создается в общей сложности 2 отчета о тестировании: один — отчет о тестировании, а другой — отчет о тестировании, отправленный по электронной почте (на основе специального HTML-шаблона).
Отчеты об испытаниях Allure отображаются и запускаются через плагин Jenkins. Те, кто получает электронное письмо, могут щелкнуть ссылку отчета в электронном письме, чтобы перейти к указанному интерфейсу отчета об испытаниях.
преимущество:
например:
«Скриншот отчета об испытаниях в электронном письме»
«Скриншот отчета об испытаниях Allure (в Дженкинсе)»
1. Загрузите код проекта в Linux и настройте среды, связанные с Python и Allure, для обеспечения нормальной работы.
Для настройки связанных сред перейдите по ссылке:
http://t.zoukankan.com/chenxiaomeng-p-14109943.html
Ожидаемые результаты следующие:
плагины, связанные с очарованием
Плагины, связанные с электронной почтой
Главное — создать задание в произвольном стиле и добавить некоторые операции после сборки. Здесь запущенный py-файл помещается в корневой каталог Jenkins для выполнения, поскольку многие операции пути в Jenkins выполняются относительно его собственного рабочего пространства. -вверх Операция относительно удобна!
Здесь указан файл html_template.html, код следующий
<table width="950px" border="2px" style="border-collapse: collapse;text-align: center;">
<caption style="font-size: 27px;font-weight:bold; margin-bottom: 26px;margin-top: 5px">Отчет об автоматическом тестировании интерфейса</caption>
<tr>
<td style="font-weight:bold">тестер</td>
<td>Administrator</td>
<td style="color: #1c94c4;font-weight:bold;font-size: 20px">Общее количество вариантов использования</td>
<td style="width: 30px">${TEST_COUNTS,var="TOTAL"}</td>
</tr>
<tr>
<td style="color: #d58512;font-weight:bold">Серийный номер сборки</td>
<td>${BUILD_NUMBER}</td>
<td style="color: #00A000;font-weight:bold;font-size: 20px">Успешные случаи использования</td>
<td>${TEST_COUNTS,var="PASS"}</td>
</tr>
<tr>
<td style="color: #BB6688;font-weight:bold">Результаты сборки</td>
<td>${BUILD_STATUS}</td>
<td style="color: indianred;font-weight:bold;font-size: 20px">неудачный вариант использования</td>
<td>${TEST_COUNTS,var="FAIL"}</td>
</tr>
<tr>
<td style="color: #9d9d9d;font-weight:bold">Этот адрес сборки</td>
<td>${BUILD_URL}</td>
<td style="color: #8a6d3b;font-weight:bold;font-size: 20px">Пропустить вариант использования</td>
<td>${TEST_COUNTS,var="SKIP"}</td>
</tr>
<tr>
<td style="color: #795da3;font-weight:bold">allureСообщить об адресе просмотра</td>
<td colspan="3">${BUILD_URL}allure</td>
<!-- <td>23</td>-->
</tr>
<!-- <tr>-->
<!-- <td>jenkins url</td>-->
<!-- <td>${JENKINS_URL}</td>-->
<!-- </tr>-->
</table>
этого шаблонаОбщий принципда:
Jenkinsпредоставил некоторыефункция перехвата, Например: Адрес сборки этого задания можно распечатать через ${BUILD_URL}. ждать. Тогда мы можем на основе этих функций перехватаруководить«Второе сращивание», Сгенерируйте нужную нам адресную информацию, Если очарование сообщите адрес!