Конфигурационные параметры

Инструкция

Перед тем как перейти к следующим примерам, нужно рассмотреть, как можно задавать некоторые конфигурационные параметры.

В исходных файлах фреймворка по адресу allurium-default.properties лежит файл allurium-default.properties.

На момент написания он содержит следующие параметры по умолчанию:


localization=en
step.detailing=2
highlighter.start=[
highlighter.end=]
page.load.strategy=normal
page.load.timeout=30000
retry.amount=10
retry.interval.ms=1000
      

Для начала рассмотрим 4 из них:

Присваивая значения:


page.load.strategy=normal
page.load.timeout=30000
      

это будет аналогично вызову в коде при инициализации теста:


Configuration.pageLoadStrategy = "normal"
Configuration.pageLoadTimeout = 30000
      

Если же непосредственно в коде тестов вы укажете эти значения, то они будут приоритетнее и перезапишут значения по умолчанию.

Далее, значения:


retry.amount=10
retry.interval.ms=1000
      

Это способ указать фреймворку, по какому принципу строить большинство ожиданий, элементов, значений и параметров. Например, если необходимо найти какой-то элемент в списке, при вызове метода employeesList.get("Robert") будет выполнено 10 попыток с интервалом в 1 секунду между ними.

В контексте ожиданий Selenide это будет эквивалентно коду:


Configuration.timeout = retryAmount * retryIntervalMs;
      

Таким образом, ожидания Selenide и прочие ожидания, строящиеся во фреймворке, будут согласованы. Если в коде вы зададите собственное значение Configuration.timeout, оно перезапишет значение из файла, в то время как retry.amount и retry.interval.ms сохранят свои значения. Это может привести к рассинхронизации между ожиданиями, поэтому рекомендуется задавать значения через файл.

Остальные параметры будут рассмотрены в следующих примерах, но сначала о том, как использовать файл properties.

Как было указано в описании "Быстрый старт", достаточно просто указать зависимость в pom.xml или build.gradle — и всё сразу будет работать. Но вы также можете подложить в проект собственный файл allurium.properties, который перезапишет вшитый в библиотеку файл allurium-default.properties.

Для этого можно скачать образец отсюда: allurium.properties

Имя файла строго должно быть allurium.properties и его следует поместить в каталог {your_project}/src/main/resources.

Если файл allurium.properties существует, фреймворк будет брать значения из этого файла, никаких дополнительных настроек указывать не нужно.