Является ли хорошей практикой делать все xpaths в скрипте Data Driven? Я хочу получить все xpaths из excel и не сохранять xpaths в скрипте, и если какие-либо изменения происходят в xpath, нам просто нужно внести изменения в xpath в excel, а не в скрипт.Selenium xpath: Является ли хорошей практикой делать все xpaths в скрипте Data Driven?
ответ
Обычно я загружаю свой xpath из файла свойств (или ini-файла при использовании C#). Вы могли бы использовать xml или json, хотя я тоже полагаю.
Не думал об использовании excel, но я подозреваю, что может произойти некоторое снижение производительности при загрузке этого файла.
Мы сделали это в нашем проекте. У нас был XML (не Excel), а тесты, управляемые данными, просто зацикливались и тестировали приложение.
Одним из мотивов этого решения было то, что в конечном итоге ребята из QA вручную обновили бы XML-файл, а разработчики автоматизации обработали бы эту фреймворк.
Работал как шарм.
Абсолютно его хорошая практика, потому что, если какой-то Locater получает изменения, вам придется пройти весь тестовый код, чтобы настроить локатор везде, где это необходимо, что сложнее, чем пересечение файла Excel. Также его код Тестовый код не является хрупким, Уменьшает зависимости между тестовым кодом и определенно улучшает читаемость.
Данные, которые приводятся в действие, - это, безусловно, способ предотвратить набор тестов, чтобы стать хрупким, но я согласен, что вам не нужно использовать 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'
...
- 1. Является ли хорошей практикой делать вложенный класс в python?
- 2. Является ли хорошей практикой делать глобальные переменные среды?
- 3. Является ли хорошей практикой, как правило, делать тяжеловесные классы несъемными?
- 4. Является ли декларация заголовка MIME хорошей практикой?
- 5. Является ли настройка класса обертки хорошей практикой?
- 6. JavaScript: Является ли window.spam хорошей практикой?
- 7. Является ли расширение классов хорошей практикой?
- 8. Является ли хорошей практикой единичные тестовые свойства?
- 9. Является ли объект отличной хорошей практикой?
- 10. Является ли хорошей практикой переопределять реализацию ServletContextListener?
- 11. Является ли это хорошей практикой безопасности Ajax?
- 12. Является ли хорошей практикой передавать ядро Ninject?
- 13. Является ли частичная неизменность хорошей практикой?
- 14. Является ли работа на стволе хорошей практикой?
- 15. Является ли хорошей практикой возврат недействительных методов?
- 16. Является ли индексирование массива буквальной хорошей практикой?
- 17. Является ли кеширование фрагмента хорошей практикой?
- 18. Является ли использование функций хорошей практикой?
- 19. Object.create ({}): Является ли это хорошей практикой?
- 20. Является ли статическая инициализация хорошей практикой программирования?
- 21. Является ли это хорошей практикой для векторизации?
- 22. Является ли пирамида «SELECT IN» хорошей практикой?
- 23. Является ли мой код хорошей практикой WPF?
- 24. Является ли цепочка критериев запросом хорошей практикой?
- 25. Исключения: Является ли это хорошей практикой?
- 26. Является ли www субдомен хорошей практикой?
- 27. Является ли метод/свойство цепью хорошей практикой?
- 28. Является ли «пока» с назначением хорошей практикой?
- 29. Является ли использование многих переменных хорошей практикой?
- 30. Является ли NSManagedObject делегатом хорошей практикой?
Не будет изменений в производительности. Но Data data - это хорошая практика, а не установка xpaths в код. –