Size: a a a

Selenide на русском

2020 November 30

DB

Denis Bodnya in Selenide на русском
Ne to i ne eto
источник

AV

Alexei Vinogradov in Selenide на русском
Vlad Bak
Есть небольшая проблема с поиском элемента в сафари.
    val formCampaign = `$`("#campaignForm")
   val statusCampaignText = formCampaign.`$`(byTestId("campaignStatus"))
В хром и фаерфокс элемент statusCampaignText в автотестах виден, в сафари: NoSuchElementException. На скриншоте элемент присутствует.

в консоли во всех трех браузерах элемент "#campaignForm [data-testid="campaignStatus"]" единственный на странице.
Это особенность работы сафари+селениум или куда-то еще нужно копать?
Вряд ли. Скорее всего где-то есть разница.
источник
2020 December 01

SR

Sergey Rybakin in Selenide на русском
Vlad Bak
Есть небольшая проблема с поиском элемента в сафари.
    val formCampaign = `$`("#campaignForm")
   val statusCampaignText = formCampaign.`$`(byTestId("campaignStatus"))
В хром и фаерфокс элемент statusCampaignText в автотестах виден, в сафари: NoSuchElementException. На скриншоте элемент присутствует.

в консоли во всех трех браузерах элемент "#campaignForm [data-testid="campaignStatus"]" единственный на странице.
Это особенность работы сафари+селениум или куда-то еще нужно копать?
попробуйте подождать этот элемент с помощью
waitUntil(visible, 5000);
источник

VB

Vlad Bak in Selenide на русском
у меня и так таймаут стоял 6 секунд=)
источник

VB

Vlad Bak in Selenide на русском
я просто переписал локатор на xpath без контейнера и все взлетело
источник

VB

Vlad Bak in Selenide на русском
просто это было очень-очень странное поведение сафари
источник
2020 December 03

S

Stanislav in Selenide на русском
Всем привет. Подскажите плиз, возможна ли интеграция healenium (https://github.com/healenium) в селенид?
источник

B

Bola in Selenide на русском
что это? )
пошел смотреть на хеалениум
источник

BO

Boris Osipov in Selenide на русском
Stanislav
Всем привет. Подскажите плиз, возможна ли интеграция healenium (https://github.com/healenium) в селенид?
ну вопрос наверно к ним, а не к нам
источник

S

Stanislav in Selenide на русском
Вот тут автор этого фреймворка утверждает что они могут работать с селенидом https://youtu.be/mrUf0QclkSY?t=1907
источник

AB

Alexei Barantsev 🗹... in Selenide на русском
SelfHealingDriver extends WebDriver, поэтому просто делаете в селениде кастомную фабрику драйверов и всё должно работать
источник

AS

Andrei Solntsev in Selenide на русском
Мы обсуждали это с Аней на конференциях.
Технически возможно, но встаёт принципиальная проблема: при отсутствии элемента селенид пытается его дождаться, а healenium пытается подобрать более правильный локатор - а для этого ожидание вредно. Получается, у них противоречивые цели. Как они вообще должны работать вместе?
источник

AB

Alexei Barantsev 🗹... in Selenide на русском
противоречия не будет. просто селенид дождётся того элемента, который ему отдаст хилениум
источник

AB

Alexei Barantsev 🗹... in Selenide на русском
но, да, фичи селенида остаются невостребованными, эксплуатируется только его API
источник

AB

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

AB

Alexei Barantsev 🗹... in Selenide на русском
сделать пару статических функций $ и $$ можно и без селенида
источник

S

Stanislav in Selenide на русском
А совместить не получится? Пусть селенид ждет появление элемента, как только таймаут ожидания заканчивается - начинает искать более правильный локатор и опять ждать его до оканчания таймаута ожидания  и так далее пока не закончит перебирать все правильные локаторы и только после этого выкидывать No Such Element Exception.
источник

AB

Alexei Barantsev 🗹... in Selenide на русском
Stanislav
А совместить не получится? Пусть селенид ждет появление элемента, как только таймаут ожидания заканчивается - начинает искать более правильный локатор и опять ждать его до оканчания таймаута ожидания  и так далее пока не закончит перебирать все правильные локаторы и только после этого выкидывать No Such Element Exception.
теоретически, наверное, возможно. вопрос — как селениду донести эту мысль, что он должен не сразу исключение кидать, а обратиться к стороннему инструменту. и как селениду объяснить, что локаторы он должен использовать те, которые этот инструмент предоставляет (и обновляет)
источник

AB

Alexei Barantsev 🗹... in Selenide на русском
придётся хорошо поработать молотком и напильником :)
источник

AS

Andrei Solntsev in Selenide на русском
Теоретически возможно. В селениде теперь можно плагины делать, в том числе и такой.
источник