Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

WebDriver + Python 3.6: генерация HTML отчетов

reporting
python
selenium
webdriver
allure
testng
Теги: #<Tag:0x00007f7b6d6ba860> #<Tag:0x00007f7b6d6ba720> #<Tag:0x00007f7b6d6ba5e0> #<Tag:0x00007f7b6d6ba4a0> #<Tag:0x00007f7b6d6ba360> #<Tag:0x00007f7b6d6ba220>

(Philipp Lebedev) #1

Здравствуйте!
Занимаюсь автоматизорованный тестированием веб приложений, используя Python unittest framework и selenium WebDriver. И столкнулся с проблемой вывода отчета о проделанном тестировании.

Я работаю в PyCharm благо в неи есть возсожность экспортировать HTML отчет:
https://www.jetbrains.com/help/pycharm/export-test-results.html

Моя проблема заключается в том что PyCharm выводит в отчет названия модулей, классов и тестов как они написаны в коде (test_1…, LoginPageTest, и тд).(см. скриншот)

А мне надо выводить для клиента название этих классов и тестов в человеческом читабельном виде:

Login page tests:
|----------------Verify whether application allows log in using correct credentials
|----------------Verify whether application allows log in using incorrect credentials
|----------------etc

То есть мне в отчет надо вывести класс LoginPageTest как “Login page tests” и почеловечески назвать сами тесты.
Существует ли способ переименовывать тесты в отчете?
Или может есть какие-нибудь другие инструменты для вывода отчета в HTML формате?

Заранее большое спасибо!

PS: я в этом деле новечок, первый проект… Но как понимаю HTMLTestRunner также выводить в отчет названия вщятые из кода.


(Вадим) #2

Для красивых отчетов однозначно Allure.


(Philipp Lebedev) #3

С Allre как оказалось не все так просто. Застрял на этапе установки:

Делал все так как указано здесь: https://docs.qameta.io/allure/
Устанавливал на Windows 10

Может кто-нибудь знает как решить проблему? Allure ругается на JAVA_HOME, хотя все установлено правильно.
Или может есть другой способ установки Allure?

Поделитесь ,пожалуйста, туториалом или советом по установке и работе с Allure.

Спасибо


(Вадим) #4

На сколько я понял это старый туториал, сейчас актуальная вторая версия, посмотрите на проект в репозиторие - https://github.com/allure-framework/allure2. Ну и надо прописать путь в JAVA_HOME


(Philipp Lebedev) #5

Спасибо.
“;” все портила в пути


(Вадим) #6

Будут вопросы, пиши. Удачи!


(Philipp Lebedev) #7

Подскажите все ли правильно делаю.

  1. Установил Allure:

scoop install allure
allure --version
2.5.0

  1. Установил allure-adaptor:

pip install pytest-allure-adaptor

3.Добавил allure декораторы в код. Отрывок кода:
import unittest
import time
import sys
import allure
from Tenx.TestBase.EnvirimentSetUp import EnviromentSetup
from Tenx.src.PageObjects.Pages.LoginPage import LoginPage

class TestLoginPageTest(EnviromentSetup):
@allure.feature(‘Feature1’)
@allure.story(‘Story1’)
def test_1_Land_login_page(self):
ss_path = “/Login_Page/”
page = LoginPage(self.driver, self.wait, self.expected_conditions, self.select, self.Keys)
self.driver.get(page.url)
time.sleep(1)
try:
self.assertTrue(page.logo.is_displayed())
except:
print("ERROR: " + str(sys.exc_info()[1]))
self.ss.ScreenShot(ss_path + “test_1_Land_login_page-” + self.now + “.png”)
print(‘TEST TS-330 Failed: Not able to land to Login page’)
print("ScreenShot: " + ss_path + “test_1_Land_login_page-” + self.now + “.png”)
raise
else:
print(‘TEST TS-330 PASS’)

  1. Через терминал запустил код:

py.test test_1_LoginPage.py --alluredir [путь_для_хранения_данных_для_отчета]
============================= test session starts =============================
platform win32 – Python 3.6.3, pytest-3.3.2, py-1.5.2, pluggy-0.6.0
rootdir: C:\Users\lebed\PycharmProjects\Work\Tenx, inifile:
plugins: allure-adaptor-1.7.10
collected 4 items

test_1_LoginPage.py
DevTools listening on ws://127.0.0.1:12632/devtools/browser/a1701407-845e-48c2-83a6-4117b75e9c5d
… [100%]

========================== 4 passed in 50.83 seconds ==========================

Все тесты отработали хорошо (framework unittest)

  1. Через терминал сгенерировал allure отчет:

allure generate [путь_для_хранения_данных_для_отчета]
Report successfully generated to allure-report

Но сам отчет пустой, нет никакой информации в нем (404)

Подскажите, пожалуйста, что я делаю не так.


(Sergey Korol) #8

По всей видимости, открываете репорт из файловой системы в хроме?
Открывать нужно либо в другом браузере по типу FF, либо использовать команду:
allure serve path


(Philipp Lebedev) #9

Да все верно открывал в Chrome.
Спасибо, в FF отчет подгрузился.

Теперь столкнулся со следуюшей проблемой:
Я в коде использовал декораторы:

А в отчете по прежднему тянуться названия функций из кода:

Также обратил внимание, что PyCharm выделяет мне цветом декораторы (Cannot find reference…)

Подскажите, пожалуйста, в чем может быть проблема, почему декораторы не работают?
Может установить дополнительные пакеты?

Настройки:
Windows 10
Python 3.6.3
pytest 3.3.2
pytest-allure-adaptor 1.7.10

Заранее огромное спасибо!
.


(Philipp Lebedev) #10

Кому интересно ответ здесь: https://github.com/allure-framework/allure-pytest/issues/141