Size: a a a

QA — Автоматизация

2020 April 06

A

Alex in QA — Автоматизация
Alexei Vinogradov
ну это ж проверить быстрее, чем рассуждать сработает или нет. Проверь и нам расскажи) У меня хром был.
Через стандартный селениумовский setSize не сработало
источник

AV

Alexei Vinogradov in QA — Автоматизация
Alex
Через стандартный селениумовский setSize не сработало
и селенид у тебя запретили уже? бедненький...
источник

A

Alex in QA — Автоматизация
Alexei Vinogradov
и селенид у тебя запретили уже? бедненький...
Зачем мне селенид?
источник

СС

Сказочный Сникерс in QA — Автоматизация
Alexei Vinogradov
и селенид у тебя запретили уже? бедненький...
так тонко что аж толсто
источник

EB

Evgenii B in QA — Автоматизация
Нет фреймворка кроме Селенида, и Виноградов — пророк его ☺️
источник

AS

Andrei Solntsev in QA — Автоматизация
Alexei Barantsev
например, он сделает это в методе инициализации фикстуры, а потом решит запускать тесты в многопоточном режиме, и у него инициализация выполнится в другом треде, и тест упадёт
Как раз нет, всё будет работать. При инициализации Page Object в селениде не идёт обращений к вебдрайверу.
источник

ON

Oleg Nazarov in QA — Автоматизация
Evgenii B
Нет фреймворка кроме Селенида, и Виноградов — пророк его ☺️
сколько вам платят?
источник

AS

Andrei Solntsev in QA — Автоматизация
Alexei Vinogradov
Не, там ж нет статика. Но я зато не топлю против статика как "универсального зла". Ну статик и статик) И топлю против того, чтобы писать код, без которого можно легко обойтись. Абстрактные "потому что, мне так удобнее" - это не наш метод.
Конечно есть. Любой вызов $ внутри ПО - это уже статик.
источник

EB

Evgenii B in QA — Автоматизация
Oleg Nazarov
сколько вам платят?
мне много, но это никак не связано с Селенидом. Да и селенидом я не пользуюсь. Да и на джаве не пишу
источник

AV

Alexei Vinogradov in QA — Автоматизация
Andrei Solntsev
Конечно есть. Любой вызов $ внутри ПО - это уже статик.
ну в конструкторе нет, сам написал ж. Потом - конечно есть, там вся библиотека так работает.
источник

AS

Andrei Solntsev in QA — Автоматизация
@barancev Ну а есть же нестатический вариант для page:

var driver = new SelenideDriver();
var loginPage = driver.page(LoginPage.class);


Тогда уже не зло?
источник

AB

Alexei Barantsev in QA — Автоматизация
Andrei Solntsev
Как раз нет, всё будет работать. При инициализации Page Object в селениде не идёт обращений к вебдрайверу.
может быть. значит вы молодцы, если так аккуратно обходите ограничения, которые накладывает static. но "в общем" (как говорит Сергей) это опасно, потому что легко нарваться на неприятности
источник

AB

Alexei Barantsev in QA — Автоматизация
Andrei Solntsev
@barancev Ну а есть же нестатический вариант для page:

var driver = new SelenideDriver();
var loginPage = driver.page(LoginPage.class);


Тогда уже не зло?
так меньше зла :)
источник

AS

Andrei Solntsev in QA — Автоматизация
Ну а хоть какое-то зло осталось? Давай уж совсем его искореним.
источник

AB

Alexei Barantsev in QA — Автоматизация
давай. к чёрту рефлекшен! передавайте хотя бы конструктор в качестве параметра
источник

AB

Alexei Barantsev in QA — Автоматизация
ну то есть Supplier
источник

AB

Alexei Barantsev in QA — Автоматизация
var loginPage = driver.page(LoginPage::new);
источник

AS

Andrei Solntsev in QA — Автоматизация
Так есть и такой вариант:

var driver = new SelenideDriver();
var loginPage = driver.page(new LoginPage());
источник

AB

Alexei Barantsev in QA — Автоматизация
так тоже хорошо, да
источник

AS

Andrei Solntsev in QA — Автоматизация
Просто у предыдущего варианта есть такое преимущество, что конструктор можно сделать приватным.
источник