Size: a a a

Selenide на русском

2021 October 26

AS

Andrei Solntsev in Selenide на русском
Нет, твой способ надёжный, конечно, спору нет. Просто ты по сути руками делаешь ту работу, которую должен за тебя делать билд тул. Где же тут хвалёный прогресс?
источник

BO

Boris Osipov in Selenide на русском
не факт) может вылезти какой-нить com.sila.zemli:awesome-cucumber:1.2.3 который притащит старый селениум и окажется раньше в класспасе.

но в целом уже лучше чем ничего.
источник

DS

Denis Sln in Selenide на русском
в метод больше нельзя передать на вход SelenideElement element?
java: cannot access org.openqa.selenium.interactions.Locatable
 class file for org.openqa.selenium.interactions.Locatable not found
источник

BO

Boris Osipov in Selenide на русском
покажите код.
источник

СР

Саша Росолько... in Selenide на русском
а разве Locatable класс не переезжал в другое место в 4 селениуме?
источник

BO

Boris Osipov in Selenide на русском
переезжал. так скорее всего в класспасе мешанина из 3-4 селениума(
источник

DS

Denis Sln in Selenide на русском
public void selectFromList(SelenideElement field, String type) {
       if (!type.isEmpty()) {
           log.info("Select from list {}", type);
           field.shouldBe(visible)
                   .click();
           $x(String.format("//div[contains(text(),'%s')]", type))
                   .click();
       } else
           log.info("No data specified");
   }
источник

BO

Boris Osipov in Selenide на русском
разберись с версиями селениума. у тебя в проекте и 3 и 4.
источник

DS

Denis Sln in Selenide на русском
👌
источник

DS

Denis Sln in Selenide на русском
allure-selenide тянет зависимость 5.24.2
источник

YO

Yaroslav Osmysliteln... in Selenide на русском
Апосля вчерашнего видоса и мыслей юры, про кастом элементы, возникло желание глянуть этот вопрос т.к. реально в каждом проекте с этим сталкиваюсь, и если делать как мр, то сопстно вопрос, как насчет такого вариант (в плане удобства/кашенрности)?
MyCustomElement x = Selenide.$("...", MyCustomElement.class)
и дальше работа не с SelenideElement, а с MyCustomElement? MyCustomElement где-то будет расширять SelenideElement, (пока на хай лвл вопрос..)
источник

AS

Andrei Solntsev in Selenide на русском
Так это и сейчас можно делать :)
источник

AS

Andrei Solntsev in Selenide на русском
Только вместо доллара "page".
источник

YO

Yaroslav Osmysliteln... in Selenide на русском
окей. тогда щас недостаток только по кастом командам?
x.doMyAction("...")
источник

AS

Andrei Solntsev in Selenide на русском
Да нет, это же твой объект. Создавай в нём какие хочешь _кастомные_ методы.
источник

YO

Yaroslav Osmysliteln... in Selenide на русском
хм, окей. page никогда не видел (столько раз туда ходил..) полажу гляну. может все уже есть))
источник

YO

Yaroslav Osmysliteln... in Selenide на русском
добрался, посмотрел. это ж пэйджфабрика.. (если я правильно уловил). А тут вопрос про компонент (htmlElement или как их называют, в видосе вроде компонентами назвали). Для компонентов же сейчас ничего? только MySelenideElemetn example, который свой MySelenideFramework делать надо, все верно?
источник

BO

Boris Osipov in Selenide на русском
а чем "компонентов" фундаментально отличается от "пэйдж". и какую задачу он должен решать.
источник

YO

Yaroslav Osmysliteln... in Selenide на русском
> а чем "компонентов" фундаментально отличается от "пэйдж"
допустим или ни чем или тем же чем SelenideElement от page.
(вроде как дублирую мысль вчерашнюю)

задача расширение и повторения компонентов с разных странц. Когда в 80%
хочется иметь SelenideElement, который есть на 10рых страницах, и который умеет делать doAction() & getHisButtonWithText('...').
и сейчас насколько знаю или пишется и везде засовывается execute, или делается MySelenideElement + MyFramework.1й как будто для частных случаев клевое решение, 2й клево, но не хочется MyFramework городить

как-то так
источник

AS

Andrei Solntsev in Selenide на русском
Не, городить MyFramework почти никогда не нужно.
источник