Size: a a a

Selenide на русском

2020 April 18

AS

Andrei Solntsev in Selenide на русском
Заведи конечно
источник

AS

Andrei Solntsev in Selenide на русском
А, ну да, про это @barancev рассказывал. Свойства vs атрибуты.
источник

AB

Alexei Barantsev in Selenide на русском
да, это фича
источник

AB

Alexei Barantsev in Selenide на русском
и она, естественно, документирована
источник

AB

Alexei Barantsev in Selenide на русском
"More exactly, this method will return the value of the property with the given name, if it exists. If it does not, then the value of the attribute with the given name is returned. If neither exists, null is returned."
источник

YK

Yasha Kramarenko in Selenide на русском
оооо, как то я закопался а в оф доку вебдрайвера не посмотрел) стыжусь
источник

YK

Yasha Kramarenko in Selenide на русском
завел тикет еще один
https://github.com/selenide/selenide/issues/1123
все лучшее селениду, родному
у себя скриншоты лень было добавлять
источник

AV

Alexei Vinogradov in Selenide на русском
The zamorochka
источник

YK

Yasha Kramarenko in Selenide на русском
хм, посмотрел еще раз на ошибку в селенде - там все хорошо…
ну типа… если упадет… то разобраться почему - можно…

хотя тогда и запись

$$("#filters>li>a").get(1).shouldHave(attribute("href", "#/active"))

теряет очевидность…
я бы может попробовал что-то придумать что бы не конфузило
источник

YK

Yasha Kramarenko in Selenide на русском
Alexei Barantsev
да, это фича
а есть еще где об этой теме property/attribute почитать, кроме докстринга к методу вебэлемента getAttribute?
источник

YK

Yasha Kramarenko in Selenide на русском
ну например в чем задумка… почему смешали вместе…
почему например не два метода отдельных - для проперти и атрибьют
вот в питоне их то два
и тогда вопрос - зачем под атрибутом подразумевать и проперти… особенно когда есть и то и то отдельно (в питоне… а в джаве - могло бы быть если термины оба существуют)… и значения разные…
может это обсуждалось, уже. Так что извиняюсь вдруг что… Может просто ссылку мне где почитать… Или тут в истории чата искать?
источник

AS

Andrei Solntsev in Selenide на русском
Я таки думаю, что это бага, и на самом деле должно быть два метода. Но раз её задокументировали, она превратилась в фичу.
источник

AB

Alexei Barantsev in Selenide на русском
да, так исторически сложилось
источник

YK

Yasha Kramarenko in Selenide на русском
ясно… Андрей, ну давай тогда в селениде это исправим) Мы то “новую историю пишем” 🙂
Сделаем что бы кондишенов было два - property и attribute
и добавим опцию в конфиг
по умолчанию пусть будет наконфигурированно так что “бага” фиксится и кондишен атрибут - именно что с атрибутами работает только (получается через джеес)
а тем кто уже “привык” к этой фиче в селениум вебдрайвере - можно будет такое “историическое” поведение и в селениде включить…

ну можно и наоборот конечно - по умолчанию - как в селениуме, и с возможностью включить как “натурально”
но я за вариант когда в селениде мы такого рода вещи по умолчанию сразу фиксим
источник

AB

Alexei Barantsev in Selenide на русском
ага, чтобы у всех тесты попадали существующие :)
источник

AB

Alexei Barantsev in Selenide на русском
легаси править просто так нельзя
источник

AB

Alexei Barantsev in Selenide на русском
в Selenium 4 будет второй метод, а скорее всего даже два — getProperty и getHtmlAttribute
источник

AB

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

YK

Yasha Kramarenko in Selenide на русском
🙂
ну оно врядли попадает)
ведь идея в том что бы та строка которая сейчас не работает - начала работать)
Но конечно, протестить стоит) может у кого то и вылезти) Это можно придумать как решить)

Вдруг что оставить по умолчанию как есть и добавить опцию “как лучше”

будет круто если будет два метода, и будет отлчиаться имя getHtmlAttribute от getAttribute
можно будет феншуйно все порешать
источник

AS

Andrei Solntsev in Selenide на русском
@yashaka я в целом за то, чтобы "писать новую историю". Да, наверное, можно было бы два метода сделать.
источник