package ru.stqa.training.selenium;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import test.utils.Login;
import test.utils.Url;

import java.util.List;

import static org.junit.Assert.assertTrue;

/**
 * [x] Задание 17. Проверьте отсутствие сообщений в логе браузера
 * <br>
 * Сделайте сценарий, который проверяет, не появляются ли в логе браузера
 * сообщения при открытии страниц в учебном приложении, а именно -- страниц
 * товаров в каталоге в административной панели.
 * <br>
 * Сценарий должен состоять из следующих частей:
 * <br>
 * 1) зайти в админку
 * <br>
 * 2) открыть каталог, категорию, которая содержит товары
 * <br>
 * 3) последовательно открывать страницы товаров и проверять, не появляются ли в логе браузера сообщения (любого уровня)
 * <br>
 * Можно оформить сценарий либо как тест, либо как отдельный исполняемый файл.
 * <br>
 * -----
 * <br>
 * Уложите созданный файл, содержащий сценарий, в ранее созданный репозиторий. В качестве ответа на задание отправьте ссылку на свой репозиторий и указание, какой именно файл содержит нужный сценарий.Created by ilya on 21/02/2017.
 */
public class AdminCatalogProducts extends TestBase {
    @Override
    public void before() {
        super.before();
    }

    @Test
    public void getBrowserLogs(){
        // 1) зайти в админку
        // 2) открыть каталог, категорию, которая содержит товары
        Login.adminLogin(driver, Url.ADMIN_CATALOG);
        driver.manage().logs().get("browser").forEach(l -> System.out.println(l));
        assertTrue(driver.manage().logs().get("browser").getAll().isEmpty());
        // 3) последовательно открывать страницы товаров и проверять, не появляются ли в логе браузера сообщения (любого уровня)
        List<WebElement> pencils = driver.findElements(By.cssSelector(".fa-pencil"));
        for (int i = 0; i < pencils.size(); i++) {
            pencils = driver.findElements(By.cssSelector(".fa-pencil"));
            pencils.get(i).click();
            driver.manage().logs().get("browser").forEach(l -> System.out.println(l));
            assertTrue(driver.manage().logs().get("browser").getAll().isEmpty());
            driver.navigate().back();
        }
    }

    @Override
    public void after() {
        super.after();
    }
}

@@ -122,16 +122,63 @@
 lement;%0A
+import org.openqa.selenium.logging.LogEntries;%0A
 import t
@@ -1513,24 +1513,131 @@
 OG);%0A       
+ // %D1%81%D0%BE%D1%85%D1%80%D0%B0%D0%BD%D1%8F%D0%B5%D0%BC %D0%BB%D0%BE%D0%B3%D0%B8 %D0%B2 %D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%83%D1%8E, %D1%82.%D0%BA. %D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5 %D0%BB%D0%BE%D0%B3%D0%BE%D0%B2 %D0%BE%D1%87%D0%B8%D1%89%D0%B0%D0%B5%D1%82 %D1%81%D0%BF%D0%B8%D1%81%D0%BE%D0%BA%0A        LogEntries catalogLogEntries =
  driver.mana
@@ -1654,32 +1654,59 @@
 ).get(%22browser%22)
+;%0A        catalogLogEntries
 .forEach(l -%3E Sy
@@ -1750,45 +1750,25 @@
 rue(
-driver.manage().logs().get(%22browser%22)
+catalogLogEntries
 .get
@@ -2163,32 +2163,63 @@
 k();%0A           
+ LogEntries productLogEntries =
  driver.manage()
@@ -2240,16 +2240,47 @@
 rowser%22)
+;%0A            productLogEntries
 .forEach
@@ -2336,45 +2336,25 @@
 rue(
-driver.manage().logs().get(%22browser%22)
+productLogEntries
 .get

fix getBrowserLogs test