Size: a a a

Selenide на русском

2020 January 15

AS

Andrei Solntsev in Selenide на русском
Sergey
А если версии отличаются только локаторами да и то далеко не для всех элементов, есть ли смысл хранить 99% идентичного кода в двух ветках?
А как вы думаете, как разработчики этих двух версий решают эту проблему?
источник

S

Sergey in Selenide на русском
Andrei Solntsev
А как вы думаете, как разработчики этих двух версий решают эту проблему?
Я не думаю что у дэвов идентичность кода двух версий 99%)
источник

AS

Andrei Solntsev in Selenide на русском
Какая разница. Вы вообще слышали про гит и ветки?
источник

SS

Ser Sh in Selenide на русском
я думаю что тут может идти речь о одновременных версиях запущенных на сервере. например разный дизайн одной страницы
источник

SS

Ser Sh in Selenide на русском
это может быть что-то типа исследования для изучения конверсии с разных страницы
источник

SS

Ser Sh in Selenide на русском
а тесту необходимо обработать страницу при любом дизайне
источник

AS

Andrei Solntsev in Selenide на русском
Разный дизайн - разные тесты.
источник

V

Vlad in Selenide на русском
Допустим есть два фронта, фунционально одинаковых, но написаных на разных фреймворках. Локаторы разные. Допустим в гите есть две ветки с тестами для каждого из них. Но тогда придётся "вести" одновременно две ветки, не факт что изменения программистами будут идти синхронно и там, и там - с точки зрения как обслуживания этих веток, настройки CI/CD на прогон тестов - вам не кажется что всё-таки вариант с FindAll менее трудоемкий и более гибкий, чем с двумя отдельными ветками в гите?
источник

AS

Andrei Solntsev in Selenide на русском
Если у них есть одинаковые куски - их можно выносить в методы/классы и переиспользовать. Технология стара как мир.
источник

AV

Alexei Vinogradov in Selenide на русском
Vlad
Допустим есть два фронта, фунционально одинаковых, но написаных на разных фреймворках. Локаторы разные. Допустим в гите есть две ветки с тестами для каждого из них. Но тогда придётся "вести" одновременно две ветки, не факт что изменения программистами будут идти синхронно и там, и там - с точки зрения как обслуживания этих веток, настройки CI/CD на прогон тестов - вам не кажется что всё-таки вариант с FindAll менее трудоемкий и более гибкий, чем с двумя отдельными ветками в гите?
а какой вообще смысл долгосрочно возить с собой два фронта с одинаковым функционалом на разных платформах. Скорее один из них закопают, и тесты вместе с ним.
источник

AV

Alexei Vinogradov in Selenide на русском
Sergey
Всём привет. Нашёл на форуме пример как Не использовать @FindBy в селениде. А как можно в селениде реализовать функционал @FindAll?
Но вернёмся к исходному вопросу:

@FindAll({
  @FindBy(className = "class1")
  @FindBy(className = "class2")
})
WebElement button;

лёгким движением руки превращается в

SelenideElement button=$(".class1,.class2");
источник

AV

Alexei Vinogradov in Selenide на русском
Еще вопросы?
источник

B

Bola in Selenide на русском
Sergey
Две версии UI. Для одного элемента на странице два локатора в зависимости от версии. @FindAll найдёт либо один либо другой
нехорошо так делать
источник

AV

Alexei Vinogradov in Selenide на русском
Для любителей XPath:

@FindAll({
  @FindBy(xpath = "//input/div[@id='small']")
  @FindBy(xpath = "//input/div[@id='large']")
})
WebElement button;

запишем так:

SelenideElement button=$x("//input/div[@id='small'] | //input/div[@id='large']");
источник

B

Bola in Selenide на русском
я так делал когда-то - ведет к веселым спецэффектам )
источник

AK

Andrey K in Selenide на русском
Открывается портал в ад?
источник

B

Bola in Selenide на русском
инферно
источник

B

Bola in Selenide на русском
особенно когда такое

```
SelenideElement button=$x("//input/div[@id='small'] | //input/div[@id='large'] | //input/div[@id='medium'] | //input/div[@id='very-large'] | //input/div[@id='very-small']");
```
источник

S

Sergey in Selenide на русском
Вопрос закрыт. Спасибооооо
источник

V

Vlad in Selenide на русском
Alexei Vinogradov
а какой вообще смысл долгосрочно возить с собой два фронта с одинаковым функционалом на разных платформах. Скорее один из них закопают, и тесты вместе с ним.
С точки здравого смысла, согласен, смысла нет. С точки зрения разработки - бывает что разработка функционала затягивается.
источник