Автоматизация тестирования UI — это всегда непростая задача, особенно в условиях активной разработки и постоянного изменения требований. Как мы решали эту проблему в mall.my.com. Как и почему пришли к BDD. Какие инструменты выбрали. И что из этого вышло.
15. BDD
Behavior-driven development - это методология разработки
программного обеспечения, являющаяся ответвлением
от методологии разработки через тестирование
Red Green Refactor
18. Описание сценариев
#language: ru
@merchant
Функция: Поиск продуктов
Контекст:
Допустим я нахожусь на странице со списком продуктов
@smoke
Сценарий: Сброс поска продуктов по текстовым параметрам
Допустим я ищу продукты по "Group ID" "Some group id"
Когда я удаляю чипсу "Search results for "Some group id"
То на странице отображается список продуктов без примененного
поиска по фильтру "search-by"
19. Step definitions
When('я ищу {word} по фильтру/фильтрам {string} {array}',
function when(_, label, value) {
value.forEach(individualValue =>
this.filtersPanel
.setFilter(label, individualValue)
.then(xhr => cy.wrap(xhr).as('xhr')));
});
Then('на странице отображается список {word} без примененного поиска по
фильтру/фильтрам {string}',
function then(_, filter) {
expect(this.xhr.filters).not.to.have.property(filter);
});