QA The Other WayОбеспечение качества в эпоху AI-автоматизации. QA The Other Way.
Практическое QA

Проверьте значение варианта и его подпись.

Явно задайте договор выбора, когда видимое имя отличается от отправляемого значения.

5 мин. чтенияQA The Other Way
Выбранный вариант с отдельными видимой подписью и значением.
Авторская редакционная иллюстрация.
Иллюстративное видео к этой статье. английский экранный текст; выберите субтитры для этого языка.

Переведенное издание. Технические идентификаторы остаются в своей первоначальной форме.

Явно задайте договор выбора, когда видимое имя отличается от отправляемого значения.
Локальный пример с вымышленными данными, не интерфейс клиента или поставщика.

Список показывает Weekly, а значение варианта weekly_demo. Тест выбирает Weekly и записывает значение как ту же строку. Отчёт теряет различие между читаемым именем и хранимым значением. Оба могут быть важны.

Руководство по действиям поддерживает выбор по value или label. Locator API говорит, что строка совпадает с обоими, объект указывает поле явно. Используйте его, когда различие влияет на случай, затем проверяйте состояние.

Назовите поле выбора

Вымышленный нативный select имеет подпись Delivery cadence и варианты с разными именами и значениями. Не создаёт заказ, подписку или доставку. Выбираем недельное значение и отдельно проверяем текст.

const cadence = page.getByLabel('Delivery cadence');
await cadence.selectOption({ value: 'weekly_demo' });
await expect(cadence).toHaveValue('weekly_demo');
await expect(cadence.locator('option:checked')).toHaveText('Weekly');

Нужны раннер и импорт expect. Целью служит нативный select, не похожее собственное окно. option:checked проверяет выбранный вариант внутри элемента. Для одного выбора ожидается ровно один вариант.

Второй локальный случай выбирает Monthly по подписи и проверяет возвращённое monthly_demo. Записывает input и change. Это механизм фикстуры, не способ сохранения выбора каждым приложением на сервере.

Проверьте последствия смены подписи

При локализации имя может меняться, значение оставаться. Выбор по значению работает даже при неправильной видимой подписи. Проверяйте её, если формулировка часть требования. Выбор только по подписи не доказывает правильный сохранённый идентификатор.

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

Документация говорит, что selectOption ждёт появления вариантов и вызывает input и change после выбора. Это не доказывает принятие изменения приложением. Проверьте интерфейс и требуемое разрешённое серверное подтверждение. Слепая задержка не заменяет данные.

Укажите тип и количество

Собственный combobox может требовать другого взаимодействия. Изучите устройство и доступное поведение до копирования API. Внешнее сходство не доказывает одинаковый контракт.

Множественный выбор меняет ожидание. Используйте подходящий список значений и утверждения вместо переноса проверки одного текста без ревью. Пример намеренно ограничен одним вариантом для читаемого результата.

При ревью запишите тип, поле сопоставления, нужное значение, видимую подпись и требования сохранения. AnyTest описывает исследование и тесты для человека; конкретный механизм select не заявлен. Отделяйте идентификатор и подпись в отчёте.

Если имя и значение сегодня совпадают, сохраняйте явное поле при соответствующем контракте. Это упрощает рассмотрение будущего переименования и не позволяет тихо изменить основу идентичности варианта.

Общие вопросы

Строка выбирает только по значению?

Нет. Она сопоставляет значения и подписи; при необходимости используйте явный объект.

Работает ли selectOption с каждым выпадающим элементом?

Нет. Здесь нативный select; собственный элемент проверяйте отдельно.

Источники