Добрый день! Я фанат и пропагандист Selenide) Вопрос заключается в том, что мне необходимо через автотест реализовать проверку, что всё отработало корректно во вкладке network в инструментах разработчика. Сейчас это делают ручные тестеры руками, на каждой странице, хотелось бы снять с них эту работу и исключить человеческий фактор. Я говорю о проверки на отсутствие вот этих красных строк. (я не особо шарю, что это, что падает джава скрипты или аякс скрипты)
Я попытался реализовать это двумя путями, первый путь по аналогии с примерами тестов на прокси селенида, но как я понимаю это отлавливание только рест апи запросов. (работает шикарно, моё почтение) но этого не достаточно.
package test.back.fullApplication;
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.proxy.SelenideProxyServer;
import io.qameta.allure.Story;
import org.assertj.core.api.SoftAssertions;
import org.testng.annotations.Test;
import test.TestBaseWeb;
import static org.assertj.core.api.Assertions.assertThat;
import java.util.ArrayList;
import java.util.List;
import static com.codeborne.selenide.Selenide.open;
import static com.codeborne.selenide.WebDriverRunner.getSelenideProxy;
public class HealthCheckTest2 extends TestBaseWeb {
private final List<String> responses = new ArrayList<>();
@Story("https://") // Добавить номер тест-кейса
@Test(description = "") // Название тест-кейса
public void fullApplication200TextAndCodeCheck() throws Exception {
Configuration.proxyEnabled = true;
open("about:blank");
SelenideProxyServer selenideProxy = getSelenideProxy();
open("http://ya.ru/");
// act.sleep(10000); мб тут нужен слип?
selenideProxy.addResponseFilter("proxy-usages.response", (response, contents, messageInfo) -> {
String url = messageInfo.getUrl();
// responses.add(url + "\n\n" + contents.getTextContents());
responses.add(response.status().code() + " = " + url);
});
act.sleep(10000);
int size = responses.size();
System.out.println("Всего запросов на странице " + responses.size());
System.out.print('\n');
System.out.println("Все запросы и коды ответа на странице: " + responses);
System.out.print('\n');
Второй вариант это выгрузка через source селенида всей страницы при открытие, но как я понимаю там не пишутся ошибки (те, которые красные во вкладке network в инструментах разработчика).