Size: a a a

Selenide на русском

2020 January 24

AV

Alexei Vinogradov in Selenide на русском
Olga Che
Добрый вечер, подскажите пожалуйста, как лучше всего решить такую задачу:

есть веб приложение, где есть хидер, футер, меню и чат они присутсвуют всегда, меняется только контент отдельных пейджей

как лучше ревализовать взаимодействие с хидером, что бы не дублировать элементы на каждой странице?
public class Header{

SelenideElement foo=$();

public void dosmth(){
..}
...
источник

AV

Alexei Vinogradov in Selenide на русском
Наследование - зло
источник

OC

Olga Che in Selenide на русском
спасибо
источник

OC

Olga Che in Selenide на русском
Alexei Vinogradov
Наследование - зло
а как это аргументировать другим? )
источник

OC

Olga Che in Selenide на русском
я сама против него, но интересно мнение опытных людей
источник

AV

Alexei Vinogradov in Selenide на русском
Olga Che
а как это аргументировать другим? )
Наследование создаёт ненужное сцепление (coupling). Если другие знают что это такое.
В результате изменение частей усложняется, потому что затрагиваются зависимые компоненты.
источник

AV

Alexei Vinogradov in Selenide на русском
Есть принципы KISS и бритвы Оккама. Делать просто, и если можно достигать того же самого с наследованием и без, то наследование лишнее - а значит его режем.
источник

AV

Alexei Vinogradov in Selenide на русском
Эти кейсы отлично решаются без наследования самыми базовыми функциями языка - класс, метод, поле.
источник

OC

Olga Che in Selenide на русском
Спасибо
источник

SR

Stas Rusakov in Selenide на русском
По мимо Оккама, можно ещё сослаться на GOFов. Кажется это они высказали принцип - предпочитать композицию наследованию. Аргументируя это тем что при наследование наследуется много быть может не нужного. И это трудно контролировать. И вносить изменения в родителя трудно. А в композиции контроль доступа, замену и прочее легче обеспечить.
+ ещё аргумент - молоденький язык который разработала Google что бы он соответствовал современным реалиям тоже отказался от наследования в пользу композиции. Язык Golang.
источник

y

yura in Selenide на русском
Alexei Vinogradov
Есть принципы KISS и бритвы Оккама. Делать просто, и если можно достигать того же самого с наследованием и без, то наследование лишнее - а значит его режем.
Алексей, но ведь наследование всегда можно обойти, пусть и посредством дублирования кода и перегрузкой, так может и не нужно оно, наследование то?
источник

UQ

Upgrade QA in Selenide на русском
привет . селениде и Prometheus как то могут взаимодействовать?
источник

BO

Boris Osipov in Selenide на русском
Upgrade QA
привет . селениде и Prometheus как то могут взаимодействовать?
источник

UQ

Upgrade QA in Selenide на русском
о спасибо - посмотрю . для меня это очень важно)
источник

UQ

Upgrade QA in Selenide на русском
еще вопрос - на гитхабе есть примеры и ехампле , где поднимаются тесты сначало в хромБраузере, затем в мозиле?
источник

AK

Andrey K in Selenide на русском
Это решается сменой 1 значения, какие вам примеры нужны? Configuration.browser = "firefox";
источник

UQ

Upgrade QA in Selenide на русском
Andrey K
Это решается сменой 1 значения, какие вам примеры нужны? Configuration.browser = "firefox";
не работает
источник

UQ

Upgrade QA in Selenide на русском
Andrey K
Это решается сменой 1 значения, какие вам примеры нужны? Configuration.browser = "firefox";
ищу рабочий пример
источник

V

Vel in Selenide на русском
Подскажите на сколько подход хорош хранить проверки в отдельном классе? И на сколько чейны в тесте норм?  вот пример теста
public void check1() {
   new Form()
           .selectItem1(ITEM_1)
           .selectItem2(ITEM_2)
           .setValue"200");
   new Asserts()
           .elementShouldNotBeVisible("item1")
           .elementShouldNotBeVisible("item2");
}
источник

V

Vel in Selenide на русском
может я что то перемудрил и есть KISSee варианты )))
источник