Перейти к содержимому

Фотография

"Хорошие" локаторы


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 Dob3r

Dob3r

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Dober


Отправлено 05 марта 2018 - 12:22

Наткнулся вот на такую статью:

 

http://automation-re.../2017/locators/

 

Хотел бы узнать мнение других людей по этому поводу. Кто как думает?

 

Я вот думаю, а что делать с динамически изменяющимися локаторами (то есть например перегрузил страницу и id поменялся)? 


  • 0

#2 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 55 сообщений


Отправлено 05 марта 2018 - 12:52

имхо писал не очень опытный человек, который не разбирается в написании локаторов от слова совсем. холивар что лучше css или xpath, просто холивар.

что касается динамических айди то привязывайтесь к чему то постоянному


  • 1

#3 Dob3r

Dob3r

    Новый участник

  • Members
  • Pip
  • 27 сообщений
  • ФИО:Dober


Отправлено 05 марта 2018 - 13:03

имхо писал не очень опытный человек, который не разбирается в написании локаторов от слова совсем. холивар что лучше css или xpath, просто холивар.

что касается динамических айди то привязывайтесь к чему то постоянному

а сколько вы в среднем тратите на разработку хорошего локатора? 


  • 0

#4 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 05 марта 2018 - 13:13

 

 

Хотел бы узнать мнение других людей по этому поводу. Кто как думает?

 

Я вот думаю, а что делать с динамически изменяющимися локаторами (то есть например перегрузил страницу и id поменялся)? 

Массовые расстрелы не спасут нашу индустрию. 

 

Надо пробовать напалм и ковровые артобстрелы термобарическими боеприпасами. 


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#5 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 55 сообщений


Отправлено 05 марта 2018 - 13:44

 

имхо писал не очень опытный человек, который не разбирается в написании локаторов от слова совсем. холивар что лучше css или xpath, просто холивар.

что касается динамических айди то привязывайтесь к чему то постоянному

а сколько вы в среднем тратите на разработку хорошего локатора? 

 

если обычный не сложный то меньше минуты. но бывают такие что ну его нафиг


  • 0

#6 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 05 марта 2018 - 13:48

У меня при прочтении этой статьи также сложилось мнение, что человек не слишком опытен, не очень хорошо знает css / xpath (раз ему приходится "тратить кучу времени", даже чтобы просто привести в адекватный вид, то, что ему и так софтина нашла уже).

Динамические айди - это два варианта:

1. Договориться с разработчиками про айдишники

2. Как уже предложили - искать выше / рядом по DOM что-то фиксированное и однозначное, от чего можно плясать дальше в сторону нужного элемента. 

 

А на тему "нет смысла сейчас тратить 5-10 минут на то, что может никогда и не случиться"... В моём представлении, красивый, лаконичный, однозначный локатор - это не расчет на "то что может никогда и не случиться", это культура и аккуратность кода.

Можно с тем же успехом сказать "мне влом придумывать нормальные названия методов и переменных и делать красивые отступы, на случай, если кто-то ещё мой код будет смотреть / дорабатывать, потому что этого может и не случиться", в результате шпарить код вроде

public void weoqwrou2qor837u() {
lswhjfkswurhekw.sendKeys(sdlfksdlfk.skldhfjksdjhfk());
}

Да, может не и понадобится, но выглядит то все равно ужасно и нечитабельно.


  • 0

#7 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 05 марта 2018 - 15:30

"Код пишется не для машины. Код пишется для человека."

© Влад Балин.

 

Подписываюсь.


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#8 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 05 марта 2018 - 16:19

Вообще, в коде человек оперирует красивыми и лаконичными идентификаторами локаторов в page object. Какая разница, как выглядел локатор, если он стабильно находит нужный элемент и из названия локатора однозначно ясно какой именно элемент он должен находить?

Ну и не забываем про контекст, что русскому лекарство, то немцу смерть. Если вы за 2 года исправляли 3 локатора - это одна ситуация. А если вы их правите по 15 раз в день - другая. Но что-то мне подсказывает, что во 2-м случае проблема не в локаторах.
  • 0

#9 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 55 сообщений


Отправлено 06 марта 2018 - 12:28


2. Как уже предложили - искать выше / рядом по DOM что-то фиксированное и однозначное, от чего можно плясать дальше в сторону нужного элемента. 

 

не обязательно. возможно в нужном элементе есть какие то не изменяемые аттрибуты


  • 0

#10 Freiman

Freiman

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 591 сообщений
  • ФИО:Андрей Адеркин
  • Город:Йошкар-Ола

Отправлено 06 марта 2018 - 12:42

Вообще у любого продукта есть такая характеристика, как Testability (тестируемость). Ну и как одну из подхарактеристик можно использовать и стабильность и качество кода, в том числе HTML-кода.
  • 0

#11 TatyanaV

TatyanaV

    Опытный участник

  • Members
  • PipPipPipPip
  • 388 сообщений
  • ФИО:Воробьева Татьяна


Отправлено 06 марта 2018 - 13:42

 


2. Как уже предложили - искать выше / рядом по DOM что-то фиксированное и однозначное, от чего можно плясать дальше в сторону нужного элемента. 

 

не обязательно. возможно в нужном элементе есть какие то не изменяемые аттрибуты

 

"Фиксированное и однозначное" это не совсем тоже самое, что "неизменяемые аттрибуты". Если у элемента никогда не изменяется, к примеру, класс - это вполне "не изменяемый аттрибут". Но если на странице еще 33 элемента с таким же классом - это уже не "однозначный" признак элемента, надо завязываться на что-то ещё - более "однозначное".


  • 0

#12 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 55 сообщений


Отправлено 07 марта 2018 - 07:29

 

 


2. Как уже предложили - искать выше / рядом по DOM что-то фиксированное и однозначное, от чего можно плясать дальше в сторону нужного элемента. 

 

не обязательно. возможно в нужном элементе есть какие то не изменяемые аттрибуты

 

"Фиксированное и однозначное" это не совсем тоже самое, что "неизменяемые аттрибуты". Если у элемента никогда не изменяется, к примеру, класс - это вполне "не изменяемый аттрибут". Но если на странице еще 33 элемента с таким же классом - это уже не "однозначный" признак элемента, надо завязываться на что-то ещё - более "однозначное".

 

так это вроде же очевидно, не?


  • 0

#13 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 07 марта 2018 - 07:52

"Очевидно" в аналитике и тестировании - это стоп-слово, означающее, что вы находитесь в месте где что-то продолбали/продолбают.
  • 2

#14 lapa

lapa

    Новый участник

  • Members
  • Pip
  • 55 сообщений


Отправлено 07 марта 2018 - 08:57

"Очевидно" в аналитике и тестировании - это стоп-слово, означающее, что вы находитесь в месте где что-то продолбали/продолбают.

:)))) не сказал бы. очевидно что локатор должен находить только один элемент, кроме случая когда нужна коллекция


  • 0

#15 Little_CJIOH

Little_CJIOH

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 1 515 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 07 марта 2018 - 09:56

"Очевидно" в аналитике и тестировании - это стоп-слово, означающее, что вы находитесь в месте где что-то продолбали/продолбают.

:)))) не сказал бы. очевидно что локатор должен находить только один элемент, кроме случая когда нужна коллекция

А когда пятый с конца?
  • 0

#16 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 07 марта 2018 - 10:44

На habrahabr.ru была хорошая статья про "стоп слова". 

"Очевидно", "Каждый", "Любой", ...

Если не найдете статью, есть мой доклад на SQADays-10, где я об этом говорил.

 

А еще просмотрите    Я своим ученикам даю этот ролик. Для тестировщика очень полезно. 


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 


#17 SALar

SALar

    Профессионал

  • Members
  • PipPipPipPipPipPip
  • 2 298 сообщений
  • Город:Москва


Отправлено 07 марта 2018 - 10:50

Вообще у любого продукта есть такая характеристика, как Testability (тестируемость). Ну и как одну из подхарактеристик можно использовать и стабильность и качество кода, в том числе HTML-кода.

Здесь полностью соглашусь с Андреем. Крайне важная характеристика. Только про нее все забывают. 

PS. Если что: ГОСТ 25010.  Очень хороший гост. 

 

PSS. Лучше бы вы не Савина, а этот ГОСТ читали.


  • 0

-- 

Сергей Мартыненко

Блог 255 ступеней (байки для оруженосца)

facebook (Дети диаграммы Ганта)

ВебПосиделки клуба имени Френсиса Бэкона 

 



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных