Современная python обертка вокруг webdriver по типу codeception (2019)

Всем привет. На новом проекте будет использоваться python для управления webdriver, а серьезно я работал только с Codeception. Хотелось бы узнать про удобные фреймворки по типу Codeception, но для python. Чтобы красивые отчеты, легко подключить selenoid, интуитивные тесты как в Codeception, модули и все такое. Кто что посоветует?

cropped-logo-mini

PyTest (pytest-bdd плагин если уж без него никак), Selenium (Selene для тех кому 2 обертки написать в лом), Allure (в пайтест можно к нему подобрать плагин).

Это, кхм, совмем не тянет на уровень абстракции codeception. Что-то хайлевельное хочеться, чтобы все в комплекте было.

Это не про Python, в этом ЯП нужно собирать из компонентов свой стек и интегрировать их между собой. Если найдете - отпишите плиз, самому интересно.

Phyton behave
https://behave.readthedocs.io/en/latest/
Вот тут у меня в гите небольшой пример реализиции
https://github.com/alex-pancho/nav4it
п.с. имхо в питоне даже проще чем в примере

<?php
class FirstCest 
{
    public function frontpageWorks(AcceptanceTester $I)
    {
        $I->amOnPage('/');
        $I->see('Home');
    }
}

то же на behave:

Scenario: Acceptance Test
When I on page "/"
Then I see "Home"

Я бы порекомендовал готовый seleniumbase - GitHub - seleniumbase/SeleniumBase: Python browser automation framework for creating reliable end-to-end tests. , только встроенный отчёт убрал и прикрутил allure
Сейчас использую на проекте, полностью устраивает. Долго ковырялся чтобы настроить под себя, но сейчас очень им доволен. Ручной режим и диалоги не использую.

1 лайк

О, это уже немного ближе. Не могли бы вы пример обычного Вашего теста сбросить? На сколько читаему. Examples из гитхаба какие-то упрощенные совсем.

кстати да, а если к нему pytest\unittest прикрутить …

1 лайк

Его не нужно прикручивать там все уже есть

У меня ведь уже многослойная архитектура Page Object, сложно сбросить спишимся через личку могу рассказать о нем подробнее

Очень много проресерчив остановился на SeleniumBase. Всем спасибо.