Стабильная версия:
<dependency>
<groupId>ru.yandex.qatools.properties</groupId>
<artifactId>properties-loader</artifactId>
<version>1.4</version>
</dependency>
Работу библиотеки легче всего продемонстрировать на несложном примере конфигурирования прокси.
В примере будет использоваться стандартная стурктура директорий, которую декларирует maven:
|-pom.xml
|-src
|-test
|-java
| |-ProxyProperties.java
|-resources
|-proxy.properties
Для начала, в ресурсах создаем файл proxy.properties
для конфигурации прокси:
proxy.host=proxy.yandex.ru
proxy.port=3133
proxy.use=false
Далее, в исходниках создадим класс ProxyProperties
, который имплементирует настройки прокси:
@Resource.Classpath("proxy.properties") //для иницализации класса будет использоваться файл proxy.poerties
public class ProxyProperties {
public ProxyProperties() {
PropertyLoader.populate(this); //инициализация полей класса значениями из файла
}
@Property("proxy.host") //ключ проперти, по которой переменной будет выставлено значение
private String host;
@Property("proxy.port") //ключ проперти, по которой переменной будет выставлено значение
private int port;
@Property("proxy.active") //ключ проперти, по которой переменной будет выставлено значение
private boolean active;
public String getHost() {
return host;
}
public int getPort() {
return port;
}
public boolean isActive() {
return active;
}
}
Если создавать проперти-файл вам не нужно, а вы хотите задать значения переменных по умолчанию в коде и при необходимости перегружать их значениями из системных проперти, то просто не аннотируйте класс:
public class ProxyProperties {
public ProxyProperties() {
PropertyLoader.populate(this);
}
@Property("proxy.host")
private String host = "localhost"; //определено дефолтное значение <localhost>
...
}
Matchers library to work with WebDriver WebElement
interface.
<dependency>
<groupId>ru.yandex.qatools.matchers</groupId>
<artifactId>webdriver-matchers</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Matchers library to work with collections.
<dependency>
<groupId>ru.yandex.qatools.matchers</groupId>
<artifactId>collection-matchers</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Decorators which allows handle additional condition issues (e.g. timeouts) directly in the assertion statement.
<dependency>
<groupId>ru.yandex.qatools.matchers</groupId>
<artifactId>matcher-decorators</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
Maven dependencies for Html Elements core:
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-java</artifactId>
<version>1.11</version>
</dependency>
And for Html Elements matchers:
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-matchers</artifactId>
<version>1.11</version>
</dependency>
And for Thucydides integration:
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-thucydides</artifactId>
<version>1.11</version>
</dependency>
Or you can include both modules at once if needed:
<dependency>
<groupId>ru.yandex.qatools.htmlelements</groupId>
<artifactId>htmlelements-all</artifactId>
<version>1.11</version>
</dependency>