Как проверить, что все javascript-ы(?) на веб странице загрузились корректно?

Добрый день! Я фанат и пропагандист 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 в инструментах разработчика).

Через прокси можно получить только сетевые запросы, но не JavaScript ошибки.

Тебе нужно это: Как получить логи браузера

2 лайка