Cypress — популярный фреймворк для сквозного тестирования веб-приложений. В нем нет встроенных перечислений, специфичных для самого инструмента, но вы можете создавать собственные перечисления в JavaScript, чтобы помочь организовать код автоматизации тестирования и управлять им. Перечисления, сокращение от enumerations, — это способ определить набор именованных констант, которые представляют отдельные элементы в коллекции.
Вот несколько примеров перечислений, которые могут быть полезны при автоматизации тестирования с использованием Cypress:
Тестовая среда:
const TestEnvironment = { LOCAL: 'local', STAGING: 'staging', PRODUCTION: 'production', };
Роли пользователей:
const UserRole = { ADMIN: 'admin', EDITOR: 'editor', VIEWER: 'viewer', };
Типы браузеров:
const BrowserType = { CHROME: 'chrome', FIREFOX: 'firefox', EDGE: 'edge', SAFARI: 'safari', };
Статус теста:
const TestStatus = { PASSED: 'passed', FAILED: 'failed', SKIPPED: 'skipped', PENDING: 'pending', };
Типы наборов тестов:
const TestSuiteType = { SMOKE: 'smoke', REGRESSION: 'regression', SANITY: 'sanity', PERFORMANCE: 'performance', };
Приоритет теста:
const TestPriority = { CRITICAL: 'critical', HIGH: 'high', MEDIUM: 'medium', LOW: 'low', };
Состояние элемента:
const ElementState = { VISIBLE: 'visible', HIDDEN: 'hidden', ENABLED: 'enabled', DISABLED: 'disabled', };
Метод запроса API:
const RequestMethod = { GET: 'GET', POST: 'POST', PUT: 'PUT', DELETE: 'DELETE', PATCH: 'PATCH', };
Стратегия поиска:
const LocatorStrategy = { CSS: 'css', XPATH: 'xpath', ID: 'id', CLASS: 'class', NAME: 'name', TAG: 'tag', };
Категория теста:
const TestCategory = { FUNCTIONAL: 'functional', INTEGRATION: 'integration', UNIT: 'unit', ACCESSIBILITY: 'accessibility', SECURITY: 'security', };
Чтобы использовать эти перечисления в тестах Cypress, вы можете ссылаться на значения по имени и свойству перечисления. Вот пример использования перечисления TestCategory
:
describe('Login Tests - Functional', () => { const category = TestCategory.FUNCTIONAL;
Использование перечислений в коде автоматизации тестирования может помочь улучшить читаемость, удобство сопровождения и согласованность тестовых сценариев. Перечисления помогут обновить один и тот же набор кода в нескольких местах одним изменением.
Реализация Enums будет разной для каждого языка, но основные концепции почти одинаковы.
Не стесняйтесь хлопать в ладоши, если вам нравится контент. Удачного тестирования автоматизации :) Ура. 👏