Selenide: как подключить логирование стандартных методов?

selenide
Теги: #<Tag:0x00007fedb841e1c0>

(Андрей Чорняк) #1

Коллеги, здравствуйте! Я начал использовать selenide и хотел бы добавить логирование. Находил инфу на оф. сайте, как подключить через property System.setProperty(“java.util.logging.SimpleFormatter.format”, “%1$tT %4$s %5$s%6$s%n”); Логирование появилось:
12:59:16 INFO BrowserName=chrome Version=51.0.2704.106 Platform=XP
12:59:16 INFO Selenide v. 3.7
12:59:16 INFO Selenium WebDriver v. 2.53.1 build time: 2016-06-30 19:26:09
12:59:16 INFO Create webdriver in current thread 1: ChromeDriver -> ChromeDriver: chrome on XP (dd6679a56b089c439203b6e86f5019e5)
Но стандартные методы open(), shouldBe() и тд не логируются. Можете плиз подсказать, как так сделать чтобы и стандартные методы логировались? В исходниках того же метода open() смотрел там есть логер
SelenideLog log1 = SelenideLogger.beginStep(“open”, url);
Заранее спасибо!


(asolntsev) #2

А прямо такого уж логирования в selenide и нет. Он логирует какие-то события, но не все - например, open(url) не логирует.

Я думаю, что в тестах это и не нужно. Не нужно читать логи при запуске тестов. Когда тесты зелёные, логи вообще нафиг не нужны. А когда тест падает, нужно читать сообщение об ошибке. А вот в нём содержится вся нужная информация, так что опять же, логи нафиг не нужны.

P.S. В Selenide есть “отчёт” или “профайлер” - возможно, это то, что вам нужно.
См. http://ru.selenide.org/2015/11/30/selenide-2.25

Чтобы включить профайлер в JUnit:

  @Rule
  public TestRule report = new TextReport();

Чтобы включить профайлер в TestNG:

  @Listeners(TextReport.class)
  public class GoogleTestNGTest {
    ...
  }