Структура компонентов инфраструктуры автоматизации в проекте Maven - PullRequest
0 голосов
/ 02 ноября 2018

Я разработал фреймворк автоматизации селена на основе огурца и использовал Page Object с Page Factory в качестве шаблона проектирования. Ниже приведены различные компоненты моей инфраструктуры автоматизации:

  1. Объекты страницы.
  2. POJOs
  3. sharedutilities
  4. Файлы функций
  5. Файл конфигурации
  6. Папка ожидаемых данных
  7. Экстент config.xml
  8. chromedriver.exe
  9. Папка отчетов

Я не совсем удовлетворен тем, как я расположил эти компоненты в проекте maven. Существует несколько исходных папок для Maven, таких как src / test / java, src / main / java, src / test / resources, src / main / resources, есть какой-то стандартный набор рекомендаций о том, что помещать в эти 4 папки в зависимости от компоненты, которые я упомянул выше?

1 Ответ

0 голосов
/ 03 ноября 2018

Общие рекомендации:

  • src/main/java содержит код вашего приложения (файлы .java)

  • src/main/resources содержит любые не кодовые файлы, которые идут с вашим приложением. например, файлы свойств экземпляра или файлы конфигурации для вашего приложения (если они не являются файлами конфигурации Java, такими как ваш config.xml).

  • src/test/java содержит любой тестовый код (файлы .java) для вашего приложения. Если вы зеркально отобразите структуру вашего пакета из src/main/java, то такие среды тестирования, как Junit, могут автоматически найти нужные классы для тестирования, не указывая для них импорт. В случае с Cucumber здесь идут ваши определения шагов, а также любой другой код, который помогает вам выполнять тесты Cucumber (например, объекты страницы в вашем примере).

  • src/test/resources содержит любые не кодовые файлы, которые идут с вашими тестами. В случае с Cucumber, сюда идут файлы объектов. Если у вас есть отдельный тестовый файл config.xml, который можно найти здесь.

Если у вас есть только тестовый код, у вас может не быть папки src/main. Я бы рекомендовал размещать ваш тестовый код в том же хранилище, что и система, которую вы собираетесь тестировать, поскольку это облегчит получение быстрой обратной связи.

По вашему вопросу:

  1. Объекты страницы -> src/test/java

  2. POJO - в зависимости от того, являются ли они POJO приложения или тестовыми POJO -> src/main/java или src/test/java соответственно

  3. sharedutilities - если это код для ваших тестов -> src/test/java

  4. Файлы функций -> src/test/resources

  5. Файл конфигурации -> зависит от того, предназначено ли это для приложения или теста, а также от его кода или xml.

  6. Папка ожидаемых данных - не знаю, что вы имеете в виду. Тестовые файлы (например, .json или что-то) могут быть в src/test/resources

  7. Экстент config.xml - вероятно, src/test/resources

  8. chromedriver.exe - может находиться в корневом каталоге. (Я бы рекомендовал не включать .exe в ваш проект; как вы собираетесь работать с разными ОС?)

  9. Папка отчетов -> возможно, перейдет в целевую папку?

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...