#holywar #locators #локаторы
Давайте резюмирую:
1. обе технологии (css / xpath) полезно знать
2. в том или ином моменте css локатор может быть лучше чем xpath и наоборот: под лучше понимать точность определения состояния элемента, лаконичность и стойкость к изменениям
3. Разница между этими локаторами не принципиальна, а иметь строгое мнение на этот счет скорее карго-культизм и невежество, обе технологии достаточно консервативны в своих интерфейсах и +- без багов, перформанс соизмерим.
4. Время на изучение теории по локаторам ощутимо меньше, чем потенциально затраченное время на применение этих знаний в современной автоматизации
Придумайте более спорный момент, а то сейчас обсуждение выглядит как "я люблю молоток с гвоздодером" "а я люблю молоток с резиновой рукояткой"
Лямбда катое через среднее плечо на третью ногу поперек горла семилинейным функционалом (извинитИ)
1) Обе технологии полезно знать.
2.1) Есть _стандартный_ вопрос на собеседованиях "где css не пляшет против xpath". Я этот вопрос и отвечал и спрашивал. Это тоже полезно знать, в не последних компаниях спрашивается.
Мой ответ на это был что в случаях когда нужно лазить вверх и вниз по иерархии DOM — это прерогатива Xpath, а не CSS, и если надо привязаться к тексту элемента, то в CSS стандартах никогда не было хороших средств работы по тексту (может отстал, последний раз когда смотрел по W3C примерам тоже не нашёл, удивите меня).
2.2) Есть видео от
@barancev которое я советую всем (
https://www.youtube.com/watch?v=_TNh2ydpoOw ), Прошу учесть что я бука, не знаком лично с Баранцевым, и редко что-то советую всем. Там Алексей рассказывает не только какие локаторы, но и _зачем_ и _почему_ выбирать те или иные локаторы. Знать причины для выбора локаторов очень даже имеет рациональный смысл.
2.3) Есть популярное мнение автомейшен сообществ (не только этого) что содранные не очень смарт плагинами локаторы типа html/div/div/div/div это зло. Причины изложены _в_том_числе_ в видео Баранцева. Но совершенно независимо от Баранцева я полагаю это мнение достойным осознания и распространения.