Инструкция
Перед тем как перейти к следующим примерам, нужно рассмотреть, как можно задавать некоторые конфигурационные параметры.
В исходных файлах фреймворка по адресу
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
page.load.timeout
retry.amount
retry.interval.ms
Присваивая значения:
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
существует, фреймворк будет брать значения из этого файла, никаких дополнительных настроек указывать не нужно.