Есть вот такая штука - ДатаПул. Вроде бы полезная и примеры есть прямо в местележания, но как-то непонятно с чего начать прикручивать и как использовать.
Допустим есть тесты. Все из себя на Джаве + ТестНГ + мавен + что-нибудь ещё. Приступим:
1. Добавить зависимость
Допустим есть тесты. Все из себя на Джаве + ТестНГ + мавен + что-нибудь ещё. Приступим:
1. Добавить зависимость
Версию конечно же нужно проставить актуальную на текущий момент.
2. Создать/найти пакет entities (или что-то подобное) . Допуская, что нам нужны данные тестовых пользователей добавляем что-то вроде
package ru.test.automation.entities;
import com.griddynamics.qa.datapool.DataTypeFactory;
import com.griddynamics.qa.datapool.datatype.IDataType;
/**
* Represents a BitBucketUser entity.
*/
public interface BitBucketUser extends IDataType {
static BitBucketUser newUser(){
return DataTypeFactory.create(BitBucketUser.class);
}
Integer getId();
String getLogin();
String getPassword();
}
Поля у объекта конечно же могут быть и не такими.3. Создать/найти директорию /resources/data и добавить туда собственно файл с данными
!DataTypeKey 'interface ru.test.automation.entities.BitBucketUser':
- !IDataType {id: 1, login: Uzvr_Odin, password: Klu4slovo}
- !IDataType {id: 2, login: uzvr-Dva, password: derParrollen}
- !IDataType {id: 3, login: uzvr-Tri, password: AEtoKto?}
Пусть этот файл зовётся ls.yml4. Наверняка в тестах есть какой-нибудь BaseTest, туда можно-нужно-стоит добавить
import ru.test.automation.entities.BitBucketUser;
import com.griddynamics.qa.datapool.DataPool;
import static com.griddynamics.qa.datapool.FilterCriterion.by;
import static com.griddynamics.qa.datapool.matchers.StandardMatchers.CONTAINS;
...
@BeforeSuite
protected void loadData() {
ClassLoader classLoader = getClass().getClassLoader();
DataPool.load(Paths.get(classLoader.getResource("data/ls.yml").getPath()));
// TODO: Switch to the approach below when Data-pool 1.0.2 is released.// DataPool.load("data/ls.yml");
}
//TODO: Think about moving into a separate data-access class.
protected BitBucketUser getUserByLogin(String partOfLoginName) {
return DataPool.find(BitBucketUser.class, by("login", CONTAINS, partOfLoginName)).get(0);
}
5. И наконец! В нужном месте, в нужном тесте можно сделать так
BitBucketUser usr = getUserByLogin("Uzvr_Odin");
loginPage().login(usr.getLogin(), usr.getPassword());
Комментариев нет:
Отправить комментарий