Еnum-перечисления в тестировании на Java
Очень часто логика работы приложения предполагает заполнение регистрационной формы. Давайте представим, что у нас есть форма для клиента, где надо указать страну, город и номер телефона.
Для выполнения нашего примера уменьшим количество используемых в форме стран до трех: пусть это будет Австрия (AT), Эстония (EE) и Испания (ES). При этом каждая из стран будет обладать 3-мя свойствами: — наименование страны; — список городов; — код страны для телефонного номера (используя код, мы получим возможность сформировать тестовый телефонный номер).
Для перечисления стран воспользуемся объектом Enum:
Итак, в первую очередь мы указываем перечень допустимых значений для констант стран, плюс допустимые значения для вышеуказанных свойств стран. Также мы определяем типы свойств (properties), объявляя cities, label и phoneNumberPrefix. Такими типами являются: String, List<String> и int.
Идем дальше. Для формирования значений Enum внутри кода используется конструктор. Например, AT имеет свойства, а порядок этих свойств соответствует порядку параметров из конструктора. У свойства label — значение «Австрия», у свойства cities — список городов, которые относятся к Австрии: «Вена», «Зальцбург», «Инсбрук», у свойства phoneNumberPrefix — значение «43».
У нас есть возможность получить свойство, которое соответствует константе Enum, сделав это так: Country.CONSTANT.propertyName.
Или, к примеру, Country.AT.label даст нам возможность получить свойство «Австрия». То есть свойства Country статичны.
Итак, у нас есть регистрационная форма. В ней страна выбирается из дроп-дауна, город — из другого раскрывающегося списка, а телефонный номер вводится в поле. При этом класс Page включает в себя информацию по определенной стране и содержит ряд записей:
Обратите внимание, что метод
По материалам https://blog.testproject.io/2020/08/04/using-java-enums-in-test-automation/.