Size: a a a

Selenide на русском

2019 November 20

YO

Yaroslav Osmyslitelny in Selenide на русском
Кейс чисто пока хром / хром-ремоут.
Хром - дефолт набор капабилитей + мои
Хром-ремоут - дефолт хром + дефолт ремоут +  мои.
При паблике: Я расширяю ChromeDriverFactory. Использую super(). Меняю все оверайдом, подсовываю в фабрику свою фабрику (или через конфиг, не важно). Дальше работает Selenide код.
Плюсы: я почти ничего не пишу. Не будет рассинхрона с новыми версиями.
Сейчас: Танцы с бубном от кофига (хром опшенс / мапы, имена переменных которые у вас захардкоданы (system.chrome-options etc).
Или с 0 пилить свой креэйтор (дублирование 80-90% кода из ChromeDriverFactory. Или через конфиг пропихивать, опять же новая версия -> шансы проколоться и с синтаксисом. и архитектурой. Варианы пропихивания тоже, от CreateDriverCommand, до AbstractDriverFactory. (Убирая каждый слой -> шанс проколоться в будущем и упустить ваши фичи).
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
как-то так. Надеюсь нормально описал, сори если что
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
А. ну и ремоут мой, можно законектить с  MyChromeDriverFactory напрямую, сейчас это абсолютно разные штуки.  и мне за ними следить надо как за разными будет
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
С румоутем пока шаткое представление (ток мимолетом продумывал) т.к. кучу нюансов с ChromeDriverFactory, с ремоутом знаю что будет тоже самое + еще что-то.
источник

BO

Boris Osipov in Selenide на русском
а чем WebDriverProvider не устраивает. если так надо свое пилить так пилите.
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
мой - это ваши фабрики + 2-3 строчки. Но т.к. я не могу расширить фабрики, мне придется их чуть ли не копипастить на 100%
источник

BO

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

YO

Yaroslav Osmyslitelny in Selenide на русском
понялпринял, спасибо👍
источник

LY

Lev Yarushin in Selenide на русском
Yaroslav Osmyslitelny
мой - это ваши фабрики + 2-3 строчки. Но т.к. я не могу расширить фабрики, мне придется их чуть ли не копипастить на 100%
Так а в чём проблема? Место заканчивается? )
Берём WebDriverProvider и хоть на голове стоять можно.
источник

AB

Alexei Barantsev in Selenide на русском
см. объяснение выше — кода писать больше
источник

AB

Alexei Barantsev in Selenide на русском
хочется переиспользовать код, который уже написан в фабриках
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Lev Yarushin
Так а в чём проблема? Место заканчивается? )
Берём WebDriverProvider и хоть на голове стоять можно.
Если я туда смотрю, мне даже с ним бубен нужен. По дефолту он используется, если не используется любая другая фабрика. Т.е. я не смогу свой chrome через конфиг указать. MyCrome придется. Это опять что то писать, обходить и блаблабла
источник

𝕆

𝕆𝕝𝕫𝕙𝕒𝕤 in Selenide на русском
Stepan Shalagin
actions().sendKeys("1234567890").perform();
Помогло
источник

𝕆

𝕆𝕝𝕫𝕙𝕒𝕤 in Selenide на русском
Этот метод нормально и быстро отправляет, думаю дело в самих формах на сайте, в некоторых работает sendKeys по икспасу, а в других через actions получилось
источник

AS

Andrei Solntsev in Selenide на русском
Yaroslav Osmyslitelny
понялпринял, спасибо👍
На самом деле изначально я делал все классы protected - именно для того, чтобы любой кусочек селерида можно было бы кастомизировать.
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Ну я понял, мне уже отписали. просто предпочитаю кастомизацию делать на основе базы максимально, меньше кода - меньше кода. ибо одна из причин перехода - за N лет фреймворк настолько кастомизировался, что потерял связь с базой, и по факту там лютая мешанин вышла от 'свое', 'важные зависимости', 'не важные зависимости', 'непонятно зачем тут'. А т.к. селенид активно сапортится, думал 'ух, 2-3 строчки, а об остальном не мы будем заботится'
источник

LY

Lev Yarushin in Selenide на русском
"-И есть за меня будете?
-Агаа!"
источник

AV

Alexei Vinogradov in Selenide на русском
Yaroslav Osmyslitelny
Ну я понял, мне уже отписали. просто предпочитаю кастомизацию делать на основе базы максимально, меньше кода - меньше кода. ибо одна из причин перехода - за N лет фреймворк настолько кастомизировался, что потерял связь с базой, и по факту там лютая мешанин вышла от 'свое', 'важные зависимости', 'не важные зависимости', 'непонятно зачем тут'. А т.к. селенид активно сапортится, думал 'ух, 2-3 строчки, а об остальном не мы будем заботится'
я тут не углублялся - а можно краткое саммари, зачем нужно изменять-дополнять фактори драйверов?
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Alexei Vinogradov
я тут не углублялся - а можно краткое саммари, зачем нужно изменять-дополнять фактори драйверов?
Расширять. Так проще менять. Конкретнее - проще менеджить ситуацию оставаясь в рамках вашего фрейма, не выпадая из него. В основном капабилити. Я с этим столкнулся из-за многопоточки. Каждый поток свои нюансы имеет. Это без лишних деталей
источник

YO

Yaroslav Osmyslitelny in Selenide на русском
Lev Yarushin
"-И есть за меня будете?
-Агаа!"
Есесно. Мы тут что б самим не есть (писать свой селенид)
источник