Selenide. Не работает очистка консоли через Javascript

Добрый день!
Есть страничка, которую я открываю в айфрейме. Переключаюсь в айфрейм и после определенных действий на этой страничке получаю логи и проверяю их.

Хочу очищать периодически логи в консоли.
Делаю это следующим образом:

JavascriptExecutor executor = (JavascriptExecutor)WebDriverRunner.getWebDriver();
executor.executeScript("console.clear());

Как итог: логи не очищаются)
Возможно, дело в фрейме. Но по идее это не должно как-то координально влиять.
Подскажите куда копать. Возможно, что-то сталкивался

Попробуйте через селенидовский метод
Selenide.executeJavaScript("console.clear()");

Не работает. Но опытным путем выяснила, что если не переключаться в айфрейм, то все работает корректно.
Честно говоря, выглядит как баг какой-то)

Честно говоря, не знаю, почему по фрейме не очищает логи.

Но я бы спросил, а зачем вообще в тесте очищать логи? Обычно это не нужно. Наоборот, в тесте нужно получить как можно больше всяких логов.

У меня отправляются евенты в сторонний сервис при определенных действиях на странице.
Ввод суммы, выбор реквизита клиентом и тд логируется.
Соответственно, выбрав, например, реквизит, я хочу проверить, что евент отправлен именно на это действие. Т.е. перед тем самым действием я хочу логи очистить)

А как вы проверяете отправку event?

Получаю из логов браузера

Это я уже понял :slight_smile: а как сама проверка осуществляется полученных логов?

Я если честно, не очень понимаю ваш вопрос)
Получили логи

WebDriverRunner.getWebDriver().manage().logs().get(LogType.BROWSER).getAll()

Нашли нужный нам, проверили содержимое

@rid00dle

  1. А зачем для этого очищать логи? Просто ищите нужный лог из всех имеющихся. Ну в крайнем случае запомните, сколько логов было ДО действия, и ищите только среди новых.
  2. А вообще кажется, что проверять логи слишком уж ненадёжно: вдруг код логи пишет, но ничего не посылает. Или посылает кривые запросы. Логичнее проверять сами запросы, например, через прокси.
2 лайка