2015-03-23 2 views
-1

Является ли хорошей практикой делать все xpaths в скрипте Data Driven? Я хочу получить все xpaths из excel и не сохранять xpaths в скрипте, и если какие-либо изменения происходят в xpath, нам просто нужно внести изменения в xpath в excel, а не в скрипт.Selenium xpath: Является ли хорошей практикой делать все xpaths в скрипте Data Driven?

+0

Не будет изменений в производительности. Но Data data - это хорошая практика, а не установка xpaths в код. –

ответ

0

Обычно я загружаю свой xpath из файла свойств (или ini-файла при использовании C#). Вы могли бы использовать xml или json, хотя я тоже полагаю.

Не думал об использовании excel, но я подозреваю, что может произойти некоторое снижение производительности при загрузке этого файла.

0

Мы сделали это в нашем проекте. У нас был XML (не Excel), а тесты, управляемые данными, просто зацикливались и тестировали приложение.
Одним из мотивов этого решения было то, что в конечном итоге ребята из QA вручную обновили бы XML-файл, а разработчики автоматизации обработали бы эту фреймворк.
Работал как шарм.

0

Абсолютно его хорошая практика, потому что, если какой-то Locater получает изменения, вам придется пройти весь тестовый код, чтобы настроить локатор везде, где это необходимо, что сложнее, чем пересечение файла Excel. Также его код Тестовый код не является хрупким, Уменьшает зависимости между тестовым кодом и определенно улучшает читаемость.

0

Данные, которые приводятся в действие, - это, безусловно, способ предотвратить набор тестов, чтобы стать хрупким, но я согласен, что вам не нужно использовать excel, есть множество способов справиться с этим. Например, вы также можете просто создать словарь в наборе тестов и указать там все xpaths. Вот пример python:

locators['homepage.add_class'] = '//*[@id="contentmain"]/div/div[2]/div/div/h3' 
locators['navigator.logout'] = '//*[@id="flyout-navigation"]/div[3]/div/div' 
locators['login.failed']  = '//*[@id="main-alerts"]/div/div/div' 
... 
Смежные вопросы