Еnum-перечисления в тестировании на Java | OTUS

Еnum-перечисления в тестировании на Java

Очень часто логика работы приложения предполагает заполнение регистрационной формы. Давайте представим, что у нас есть форма для клиента, где надо указать страну, город и номер телефона.

Для выполнения нашего примера уменьшим количество используемых в форме стран до трех: пусть это будет Австрия (AT), Эстония (EE) и Испания (ES). При этом каждая из стран будет обладать 3-мя свойствами: — наименование страны; — список городов; — код страны для телефонного номера (используя код, мы получим возможность сформировать тестовый телефонный номер).

Для перечисления стран воспользуемся объектом Enum:

1-1801-0efc8e.png

Итак, в первую очередь мы указываем перечень допустимых значений для констант стран, плюс допустимые значения для вышеуказанных свойств стран. Также мы определяем типы свойств (properties), объявляя cities, label и phoneNumberPrefix. Такими типами являются: String, List<String> и int.

Идем дальше. Для формирования значений Enum внутри кода используется конструктор. Например, AT имеет свойства, а порядок этих свойств соответствует порядку параметров из конструктора. У свойства label — значение «Австрия», у свойства cities — список городов, которые относятся к Австрии: «Вена», «Зальцбург», «Инсбрук», у свойства phoneNumberPrefix — значение «43».

У нас есть возможность получить свойство, которое соответствует константе Enum, сделав это так: Country.CONSTANT.propertyName.

Или, к примеру, Country.AT.label даст нам возможность получить свойство «Австрия». То есть свойства Country статичны.

Итак, у нас есть регистрационная форма. В ней страна выбирается из дроп-дауна, город — из другого раскрывающегося списка, а телефонный номер вводится в поле. При этом класс Page включает в себя информацию по определенной стране и содержит ряд записей:

2-1801-4c045f.png

Обратите внимание, что метод countrySelect() возвращает нам функцию Select со ссылкой на дроп-даун стран. Точно так же и метод citySelect() возвращает функцию Select со ссылкой на дроп-даун городов. Что касается ввода номера, то тут используется элемент WebElement phoneNumberField.

По материалам https://blog.testproject.io/2020/08/04/using-java-enums-in-test-automation/.

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
0 комментариев
Для комментирования необходимо авторизоваться
Популярное
Сегодня тут пусто