0

Я знаю, что этот вопрос может быть сложным, возьмет помощь/предложения. если duplicate/bad, pls lemme знает через комментарии, я удалю.Selenium DOM Поиск заказа

Я хотел бы понять, как Selenium ищет внутри древовидной структуры DOM.

(Причина, по которой я спросил, я только что переключился с Testcomplete. Testcomplete ищет снизу вверх. Самые нижние элементы поиска ищутся быстрее. Также, если есть 10 элементов с одним и тем же идентификатором, и мы пытаемся findelement, а не наклейки, он даст нижний элемент самого элемента)

So Selenium - начинается ли оно сверху или снизу ветки дерева ?. Посмотрим, что дерево ниже

<div> 
    <section1> 
     <h1> 
     </h1> 
     <h2> 
     </h2> 
    </section1> 
    <section2> 
     <i1> 
     </i1> 
    </section2> 
    <section3> 
     <j1> 
      <k1 id='something'> 
      </k1> 
     </j1> 
     <j2> 
     </j2> 
    </section3> 
</div> 

Я ищу элемент id = что-то.

  1. Он в первую очередь ищет Section 1, h1 тег, а затем проходит? или он начинается с тега Section 3 j2 и начинается вверх ?. Причина в том, что на очень длинной странице AngularJs поиск таблицы вверх дает более быстрые результаты, а таблица внизу занимает около 15 секунд.
  2. Второй - поиск по порядку? или по вертикали ?.

    Серийно - Поиск Section1, h1, h2, section2, i1 т.д.

    Вертикально - Поиск Section1, section2, section3, а затем h1,h2,i1 и т.д.

Понимая это будет пройти долгий путь в создании эффективной стратегии элемента локатора.

+1

Ответ на этот вопрос будет очень похожим на: http://stackoverflow.com/a/34645549/3124333 – SiKing

+0

Хм да, хороший. Я соберу их. будет пытаться протестировать различные страницы. –

+0

Можете ли вы посмотреть на один из моих вопросов о настройке дженкинсов ??? –

ответ

1

Если вы нашли findElement в Selenium, он предоставит вам элемент, который сначала появится на странице в том же логическом порядке, что findElement вернется, если вы сделали это в JavaScript.

Очевидно, что существует несколько способов сделать поиск, и точная реализация будет зависеть от реализации драйвера (FireFox, Google, IE и т. Д.). Но я всегда получал то, что я ожидал бы, и ничего подобного wacky TC.

Мой ответ основан на моем собственном опыте с продуктом. Я не могу найти точного авторитетного источника, который бы документировал это для вас.

+0

Я бы не сказал, что ТС дурацкая. Просто реализация Javascript и TC будут перечислены в определенном порядке. И, кстати, они используют JScript - реализацию javascript в Microsoft. Во-вторых, я не могу понять, если вы ответили за прохождение порядка тегов. его очень важно, я нахожу его, потому что, если есть какой-то вертикальный поиск, мы можем сузить его быстрее, используя xpath. Я пытаюсь, хотя –

+0

. Мой опыт в том, что он находится в порядке списка HTML. Глубина первого поиска. XPath, если вы можете это сделать, может быть быстрее на миллисекундах. Не то, о чем я буду беспокоиться, кроме указания того, какой элемент вы ищете. –

+0

Лемм попытается проверить это. Мне нужно, вероятно, создать пользовательский Html для этого –