Skip to content

Commit

Permalink
CI configured
Browse files Browse the repository at this point in the history
  • Loading branch information
Achitheus committed Nov 19, 2023
1 parent 7d8d85d commit a99e4e6
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 9 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/test-And-Report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Tests run with Allure Report
run-name: ${{ github.actor }} is running tests and creating Allure report 🚀

on:
push:
branches-ignore:
- '!main'

jobs:
autotests:
name: Run tests and generate Allure Report
runs-on: ubuntu-latest
steps:
- name: Clone repository
uses: actions/checkout@v3

- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: 11
cache: 'maven'
distribution: 'zulu'

- name: Start selenoid
uses: Xotabu4/selenoid-github-action@v2

- name: Run Test
run: ./mvnw verify -e -P env-test
continue-on-error: true

- name: Get Allure history
uses: actions/checkout@v3
if: always()
continue-on-error: true
with:
ref: gh-pages
path: gh-pages

- name: Allure Report action from marketplace
uses: simple-elf/allure-report-action@v1.7
if: always()
with:
allure_results: target/allure-results
allure_history: allure-history

- name: Deploy report to Github Pages
if: always()
uses: peaceiris/actions-gh-pages@v2
env:
PERSONAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: allure-history
3 changes: 3 additions & 0 deletions src/main/java/helpers/DataProvider.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,20 +20,23 @@ public static Stream<Arguments> checkSearchResultsByEnumFilter() {
String serviceTitle = "Маркет";
String section = "Электроника";
String category = "Смартфоны";
Map<String, Set<String>> enumFilters0 = Map.of("Производитель", Set.of("ASUS", "Black Shark", "OnePlus", "Apple", "Google", "Seals"));
Map<String, Set<String>> enumFilters1 = Map.of("Производитель", Set.of("ASUS"));
Map<String, Set<String>> enumFilters2 = Map.of("Производитель", Set.of("Black Shark"));
Map<String, Set<String>> enumFilters3 = Map.of("Производитель", Set.of("OnePlus"));
Map<String, Set<String>> enumFilters4 = Map.of("Производитель", Set.of("Apple"));
Map<String, Set<String>> enumFilters5 = Map.of("Производитель", Set.of("Google"));
Map<String, Set<String>> enumFilters6 = Map.of("Производитель", Set.of("Seals"));

Map<String, Set<String>> enumCheckSets0 = Map.of("Производитель", enumFilters0.get("Производитель"));
Map<String, Set<String>> enumCheckSets1 = Map.of("Производитель", enumFilters1.get("Производитель"));
Map<String, Set<String>> enumCheckSets2 = Map.of("Производитель", enumFilters2.get("Производитель"));
Map<String, Set<String>> enumCheckSets3 = Map.of("Производитель", Set.of("OnePlus", "One Plus"));
Map<String, Set<String>> enumCheckSets4 = Map.of("Производитель", Set.of("Apple", "IPhone"));
Map<String, Set<String>> enumCheckSets5 = Map.of("Производитель", enumFilters5.get("Производитель"));
Map<String, Set<String>> enumCheckSets6 = Map.of("Производитель", enumFilters6.get("Производитель"));
return Stream.of(
Arguments.of(url, serviceTitle, section, category, enumFilters0, enumCheckSets0),
Arguments.of(url, serviceTitle, section, category, enumFilters1, enumCheckSets1),
Arguments.of(url, serviceTitle, section, category, enumFilters2, enumCheckSets2),
Arguments.of(url, serviceTitle, section, category, enumFilters3, enumCheckSets3),
Expand Down
21 changes: 13 additions & 8 deletions src/test/java/ru/bellintegrator/BaseTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import com.codeborne.selenide.logevents.SelenideLogger;
import helpers.TestProperties;
import io.qameta.allure.selenide.AllureSelenide;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.TestInfo;
Expand All @@ -21,6 +22,13 @@
public class BaseTest {
public static final Logger log = LoggerFactory.getLogger(BaseTest.class);

/**
* Настройка тестов и окружения в зависимости от Maven профиля. Тесты запускаются из-под профиля хрома,
* если соответствующее значение проперти {@link TestProperties#useBrowserProfile()}
* установлено в {@code true}. То же относится и к использованию {@code Selenoid} и режима {@code headless}
*
* @author Юрий Юрченко
*/
@BeforeAll
public static void setup() {
SelenideLogger.addListener("AllureSelenide",
Expand All @@ -44,14 +52,6 @@ public static void setup() {
}
}

/**
* Настройка тестов и окружения. Тесты запускаются из-под профиля хрома, если соответствующее
* значение проперти {@link TestProperties#useBrowserProfile()} установлено в {@code true}.
* Перед запуском каждого теста выводит его название в лог.
*
* @param testInfo Объект, содержащий информацию о запускаемом тесте.
* @author Юрий Юрченко
*/
@BeforeEach
public void options(TestInfo testInfo) {
log.info(" <<<<<<<<< " + testInfo.getDisplayName() + " is running >>>>>>>>>");
Expand All @@ -67,4 +67,9 @@ public static String editedUserAgent() {
return editedUserAgent;
}

@AfterEach
public void afterEach() {
Selenide.closeWebDriver();
}

}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package ru.bellintegrator.ru.yandex.market;

import io.qameta.allure.Feature;
import io.qameta.allure.Owner;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
Expand Down Expand Up @@ -42,9 +43,10 @@ public class MarketTest extends BaseTest {
* @param enumCheckSets Наборы проверочных слов для проверки соответствия товаров установленным фильтрам {@code enumFilters}.
* @author Юрий Юрченко
*/
@Owner("Юрий Юрченко")
@Feature("Поиск товаров")
@DisplayName("Соответствие результатов поиска установленным фильтрам")
@ParameterizedTest(name = "{displayName} : {arguments}")
@ParameterizedTest(name = "[{index}]: {arguments}")
@MethodSource(value = "helpers.DataProvider#checkSearchResultsByEnumFilter")
public void marketTest(String url, String service, String section, String category,
Map<String, Set<String>> enumFilters, Map<String, Set<String>> enumCheckSets) {
Expand Down

0 comments on commit a99e4e6

Please sign in to comment.