Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Небольшой фреймворк для написания и запуска selenium тестов (Java + TestNG + ExtentReports)

java
testng
selenium
Теги: #<Tag:0x00007fedbbaef780> #<Tag:0x00007fedbbaef5a0> #<Tag:0x00007fedbbaef370>

(Вячеслав Бульба) #1

Привет! Вашему вниманию предлагается небольшой фреймворк для написания и запуска selenium тестов, написанный мной.

Сам проект находится здесь: https://github.com/ViacheslavBulba/slava-selenium-test-framework.git

Краткая инструкция по использованию приводится ниже.

Я использую систему сборки MAVEN.

Выполнение каждого теста начинается с открытия url, указанного в CONFIG\tests.properties

Там же можно указать адрес грида:

url = https://www.consumerreports.org/cro/a-to-z-index/products/index.htm
;seleniumGrid = http://10.8.11.55:4444/wd/hub

В папку DRIVERS надо подкладывать актуальные версии драйверов. На данный момент тесты будут работать только в CHROME, для других браузеров код пока не писал.

В папку LOGS сохраняется отчёт о прогоне тестов — LOG.HTML

В папку PAGESOURCES сохраняется HTML код страницы в случае падения теста.

В папку SCREENSHOTS сохраняется скриншот страницы в случае падения теста. Скриншоты также можно увидеть в отчёте LOG.HTML

Классы PAGE OBJECT нужно располагать в SRC\TEST\JAVA\PAGES

Классы тестов нужно располагать в SRC\TEST\JAVA\TESTS

В папке UTILS расположены вспомогательные классы (внутренности фреймворка).

В корне проекта лежит TESTNG.XML, в котором нужно прописывать какие классы с тестами запускать.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Consumer Reports Tests" parallel="methods" thread-count="2" data-provider-thread-count="2">
    <listeners>
        <listener class-name="utils.TestListener" />
        <listener class-name="utils.SuiteListener" />
    </listeners>
    <test name="tests">
        <classes>
            <class name="tests.ConsumerReportsAZProductsPageTests" />
        </classes>
    </test>
</suite>

Тесты можно запускать через IDE или цель мавена TEST.
В IntelliJ IDEA тесты можно запустить через меню RUN — EDIT CONFIGURATIONS, добавив необходимую конфигурацию (например, TestNG — Suite).

Тесты запускаются параллельно.

Может кому пригодится.


(Yaroslav Pernerovskyy) #2

Есть куда расти.

Посмотри в сторону https://github.com/bonigarcia/webdrivermanager что бы не таскать за собой драйвер браузера (который в твоем случае будет работать только на винде):

System.setProperty("webdriver.chrome.driver",
                               userDir + fileSeparator + "drivers" + fileSeparator + "chromedriver.exe");

Также глянь в сторону https://github.com/qatools/properties что бы не городить свой костыль с вычиткой пропертей из файла.

Ну и как вишенка на торте - Log4j и Allure для логов и репортинга.

Во всем остальном лучше использовать http://ru.selenide.org/ ))) что бы не отгребать с ожиданиями.


(Вячеслав Бульба) #3

Да то всё понятно, не в этом была цель :grin: