Size: a a a

Selenide на русском

2019 November 21

AK

Andrey K in Selenide на русском
удобно вам?
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Я думаю не я один где нибудь да использует в коде подобные вещи. Если нет - то ок. Это мое мнение, на абсолютное не претендует
источник

AB

Alexei Barantsev in Selenide на русском
передавать "параметры" в коде через system env — это, извините, извращение. они предназначены для других целей — чтобы при запуске можно было их устанавливать опцией -D
источник

AB

Alexei Barantsev in Selenide на русском
а если приходится в коде их устанавливать, потому что другого способа нет — надо бить того, кто проектировал API
источник

AB

Alexei Barantsev in Selenide на русском
конечно люди злоупотребляют. каждый первый, наверное, знает, что для указания пути к хромдрайверу надо установить свойство "webdriver.chrome.driver", так вот — это неправильно! так делать в коде не надо! системные свойства — для опции -D
источник

AB

Alexei Barantsev in Selenide на русском
а правильно так:
new ChromeDriver(new ChromeDriverService.Builder().usingDriverExecutable(....).build())
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Возможно меня не так понял, или я не так понял, но я вот про это говорил (например с хромдрайверсервиса)
 public static final String CHROME_DRIVER_VERBOSE_LOG_PROPERTY =
     "webdriver.chrome.verboseLogging";
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
public static final String SELENIDE_BASE_URL = "selenide.baseUrl";
источник

AB

Alexei Barantsev in Selenide на русском
константы конечно иметь хорошо, с этим я не спорю. я агитирую против использования System.setProperty в коде. клиентам эти константы можно не показывать, сделать их приватными
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
я с ними связался исключительно из-за того, что дефолтный SelenideConfig на них
источник

AB

Alexei Barantsev in Selenide на русском
за способ конфигурирования я селенид отдельно не люблю :)
источник

AB

Alexei Barantsev in Selenide на русском
а некоторые, наоборот, за него как раз и любят
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
чем богаты говорится. В общем взялся из-за того что SelenideConfig на них. Приходится делать агрегатор env / properties / еще одна ерунда. (Чтоб где нибудь да взял параметр). И вот пришлось копипастить "константы" стринговых параметров селенида, сопстно обычно эти вещи (как в хром драйвер сервисе, например) вынесены, решил написать. Пережить то переживу, но опять же - думаю не я первый кто этим занимается. Селенид это не ломает никак вообще. Ну и придется если там параметр добавится - добавлять тоже. мое желание было поделиться, может скажут "да, норм, сделаем" :)
источник

BO

Boris Osipov in Selenide на русском
Yaroslav Osmyslitelny
чем богаты говорится. В общем взялся из-за того что SelenideConfig на них. Приходится делать агрегатор env / properties / еще одна ерунда. (Чтоб где нибудь да взял параметр). И вот пришлось копипастить "константы" стринговых параметров селенида, сопстно обычно эти вещи (как в хром драйвер сервисе, например) вынесены, решил написать. Пережить то переживу, но опять же - думаю не я первый кто этим занимается. Селенид это не ломает никак вообще. Ну и придется если там параметр добавится - добавлять тоже. мое желание было поделиться, может скажут "да, норм, сделаем" :)
ты чего-то велосипед изобретаешь имхо. что значит "SelenideConfig на них."?
зачем делать какой-то "агрегатор env / properties "
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
что значит "SelenideConfig на них."
private boolean headless = Boolean.parseBoolean(System.getProperty("selenide.headless", "false"))
=======
зачем делать какой-то "агрегатор env / properties "
Ну вот так вот, нюансы старой реализации. Это мой кейс (так что это не суть), общий кейс в том, что захочу я узнать значение selenide.remote вне конфига - придется писать свою хард стрингу
источник

BO

Boris Osipov in Selenide на русском
захочу я узнать значение selenide.remote вне конфига ну да. если тебе это нужно ты должен страдать
источник

AB

Alexei Barantsev in Selenide на русском
а зачем это узнавать, в самом деле?
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Я не уверен что, стоит расписывать всю архитектуру моей прилаги, с её историческими велосипедами и кастомизациями, я ж сюда написал по теме selenide, а не - "сделай сам / стреляем себе в ноги". В кратце - чем больше кастомизации, тем больше костылей с ситуациями "нужно узнавать". Практика констант решила б проблему, и она вроде не незаконная. Я лишь поделился, так то все хорошо 👌
источник

BO

Boris Osipov in Selenide на русском
>Практика констант решила б проблему,
так проблемы нет, чтобы ее решать. эти константы нужны только вне кода. ради каких-то "историческими велосипедами и кастомизациями, " не думаю что нужно что-то делать))
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
понялпринял :)
источник