Найти в Дзене

Codeceptjs для начинающих. Зачем и для чего.

В этом цикле статей речь пойдет об использовании фреймворка Codeceptjs для создания автотестов.

В первую очередь я буду рассказывать о своем опыте создания end-to-end тестов, т.е. тестов, которые можно писать не имея никакого доступа к коду продукта. Подобное тестирование называется еще тестированием черного ящика. Мы смотрим на функционал продукта, также как смотрит на него конечный пользователь. Например, возьмем страницу поисковой системы ya.ru. Есть у нас доступ к ее коду? Конечно, нет. Можем мы написать тест, проверяющий ее работу? Конечно, да.

Подобные автотесты могут быть написаны на любом языке программирования. Фреймворк Codecеptjs использует java script.

Но использовать этот фреймворк могут тестировщики, даже абсолютно не знакомые с программированием. Встроенные методы codeceptjs интуитивно понятны, их легко читать и использовать. К примеру возьмем такой кусочек кода:

Фича "Тестируем работу поисковой системы ya.ru"

в которой содержится сценарий "test something"

с шагами (степами):

  1. Я нахожусь на странице ya.ru
  2. Я вижу на этой странице текст "найти"
  3. Я заполняю поле, определяемое элементом с классом input__control текстом "станиславский"
  4. Я кликаю на текст "Найти"
  5. Я жду 5 секунд
  6. Теперь я вижу на странице текст "Станиславский, Константин Сергеевич"
Как найти класс нужного поля
Как найти класс нужного поля

До тех пор пока яндекс-разработчики не поменяют класс поля ввода поискового запроса ваш тест будет работать.

Это простой позитивный тест (positive case), сценарий которого можно записать еще так:

Given я на странице

When я ввожу в поле значение

  • And я кликаю на кнопку "Найти"
  • And я жду 5 секунд

Then я вижу текст "Станиславский, Константин Сергеевич"

В этом сценарии есть предусловие, которое описано в секции Given, условие - в секции When. И проверка в секции Then.

В следующих статьях разберемся, как установить codeceptjs (и Selenium WebDriver) на свой комп, создать сценарий теста и запустить его.

А кто не хочет ждать, может уже идти и начинать вместе с мануалом на официальном сайте: https://codecept.io/webdriver/#what-is-selenium-webdriver