Size: a a a

Selenide на русском

2020 June 10

ИМ

Илья Мороз in Selenide на русском
чтобы в кукумбере шаги выглядели так :
Тогда пользователь нажимает "Кнопка"
а не так :
Тогда пользователь нажимает "*//&#@&@@#&&@@"
источник

ИМ

Илья Мороз in Selenide на русском
ну это грубый пример но думаю понятно)
источник

AV

Alexei Vinogradov in Selenide на русском
Илья Мороз
чтобы в кукумбере шаги выглядели так :
Тогда пользователь нажимает "Кнопка"
а не так :
Тогда пользователь нажимает "*//&#@&@@#&&@@"
а какая связь между аннотацией и шагами в кукумбере?
источник

AV

Alexei Vinogradov in Selenide на русском
сделайте $(byText(buttonText)).click(); будет примерно тоже самое
источник

ИМ

Илья Мороз in Selenide на русском
Alexei Vinogradov
сделайте $(byText(buttonText)).click(); будет примерно тоже самое
а если нет текста на элементе
источник

AV

Alexei Vinogradov in Selenide на русском
Илья Мороз
а если нет текста на элементе
а как пользователь нажимает на "Кнопка", если на элементе нет "Кнопка"?
источник

AV

Alexei Vinogradov in Selenide на русском
Что делает @ElementTitle? ищет по аттрибуту title=текст?
источник

AV

Alexei Vinogradov in Selenide на русском
Переслано от Roman (rpwheeler)
Мне очень понравилось сказанное в одном видео "аннотации это магия". Слово "магия" применительно к коду давно вызывает у меня мысленную дрожь -- опытные программисты давно объяснили, показали, рассказали что магия штука капризная, просто так не работает, и многое с магией это метод "научного тыка".

Как-то раз в прошлом году интереса ради попробовали (двое, независимо) вкрутить ломбок в один проект. Магия не сработала. Выкинули, проект живёт дальше.

Если бы мне видео, объясняющее что аннотации это магия, и потенциальные сложности с ломбоком, попалось раньше, я бы, пожалуй, и не пробовал.

Возможно когда-нибудь что-то подобное добавят на уровне кора, и совершенно затестируют -- но по состоянию на этот год по-моему ни работоспособности ломбока, ни его совместимости с другими библиотеками и проектами не гарантируется.
источник

AV

Alexei Vinogradov in Selenide на русском
тоже к слову.
источник

ИМ

Илья Мороз in Selenide на русском
Alexei Vinogradov
а какая связь между аннотацией и шагами в кукумбере?
в пейдже описаны элементы
@ElementTitle("Кнопка")
@FindBy(xpath = "*//@$$##@$$#@")
private SelenideElement button;

в степе описано потипу :
getByElementTitle(param)
а в кукумбере уже парам передается как "Кнопка"
источник

ИМ

Илья Мороз in Selenide на русском
Alexei Vinogradov
Что делает @ElementTitle? ищет по аттрибуту title=текст?
нет просто присваивает вашему элементу в проекте русскоязычное название по которому можно потом обращаться
источник

ИМ

Илья Мороз in Selenide на русском
какое угодно язычное)
источник

AV

Alexei Vinogradov in Selenide на русском
аа, ну окей, понял магию
источник

AV

Alexei Vinogradov in Selenide на русском
"пользователь нажимает на "кнопка"" - это конечно изящный общий метод вызвать $().click() в Геркине, но кажется старейшины не рекомендуют копировать код теста "человеским" Геркином, типа не для того слово Behavior придумали.
Кмк более целесообразные степы типа пользователь идёт на checkout, кладёт товар в коризну, очищает корзину, и т.п.

Ну правда я сам BDD  не очень ценю, и на нём не пишу.
источник

AV

Alexei Vinogradov in Selenide на русском
Но если бы ценил, то наверное бы не заморачивался, и писал прямолинейные степы:

пользователь чего-то там делает (пускай себе и на кнопку жмёт)

= $().click();

польльзователь на другую кнопку жмёт - $(другой).click()

Их просто понимать, и никаких зависимостей от лишних библиотек. Как будто кукумбера и селенида мало 🙂
источник

BO

Boris Osipov in Selenide на русском
Илья Мороз
кто нибудь пробоавл использовать библиотеку sbtqa.pagefactory совместно с Selenide?
уже который день бьюсь что то не получается.
основная цель обращаться к элементам по аннотации @ElementTitle("Кнопка")
если у кого то есть проект на гитхабе , пожалуйста дайте посмотреть
хз как там вкорячить selenide. попробуй https://github.com/alfa-laboratory/akita

если уж хочется BDD
источник

AV

Alexei Vinogradov in Selenide на русском
Простые библиотеки без проблем работают с Селенида, эта я думаю использует PageFactory, наверное тоже модифицированный, чтобы эти аннотации считать и как-то обработать. Наверное как-то и к Selenide привяжется - но это скорее к разработчиком библиотеки вопросы.
источник

YK

Yasha Kramarenko in Selenide на русском
Ребят, я уже пиарил тут свои селенайд-курсы 🙂 Которые больше о программировании чем о селенайде. Просто примите к сведению что до трети курса я планирую выложить бесплатно. А половина этой трети выложена уже сейчас:

http://autotest.how/java/sdet-intro-ru

Так что кто там стартует разбираться с автоматизацией и селенайдом – велкам 😉
Вдруг что - пишите в приват. Что бы тут не флудить.
источник

VB

Vlad Bak in Selenide на русском
Илья Мороз
в пейдже описаны элементы
@ElementTitle("Кнопка")
@FindBy(xpath = "*//@$$##@$$#@")
private SelenideElement button;

в степе описано потипу :
getByElementTitle(param)
а в кукумбере уже парам передается как "Кнопка"
пробуй избавиться от аннотаций, на прошлом проекте расширили By класс, добавили описание для элементов, чтобы красивые отчетики были:
   final SelenideElement loginField = $(ExBy.cssSelector("input.text",  "Поле логина"));
источник

ИМ

Илья Мороз in Selenide на русском
понял, спасибо всем большое
источник