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