Спор возник - 2: как проверить активность/неактивность таба в веб-интерфейсе?

Как говорится, в споре рождается истина. У нас с коллегой возник второй спор.
Итак, помогите нам разобраться в одном маленьком, но важном вопросе.

Есть веб-страница, на которой имеются табы с различным контентом внутри.
При клике на нужный таб - он меняет свой цвет (допустим, становится текст красным), остальные становятся серыми. Ну и, конечно, меняется отображаемый на экране контент (контент проверяется отдельно). При клике на таб, этому элементу присвается определенный класс, скажем: “active”. Собственно, этот класс и содержит стили для изменения цвета таба.

И есть сценарий теста, где на определенном шаге нужно проверить, что таб стал активным (буквально звучит так: “Вкладка такая-то подсвечивается”), а остальные - стали серыми, не более того. Только этот факт.

И вот тут наши мнения разделились, какой же подход использовать:

  1. кликаем на таб и проверяем по-честному цвет текста в табе (некий cssvalue текста таба на соответствие определенному цвету, например, “color” == “красный”);
  2. кликаем на таб и проверяем, что у этого таба появился класс “active”. Раз есть этот класс => значит таб стал “красным”.

Вопрос, как лучше, как правильно и как бы вы лично проверяли такой шаг сценария?

PS: мы обсуждаем только вот эту одну проверку.

Что мешает и проверке правильности CSS стиля, и активации аттрибута?
Если требование четкое - проверить что таб стал активным - то это аттрибут. У вас же функциональность табы не на цвет завязана, а на аттрибут.

3 лайка

Проверяй и то, и другое.

1 лайк

Исходя из формулировки задачи проверять нужно цвет таба, т.к. присвоение класса “active” никак не гарантирует того, что цвет таба изменится на ожидаемый.
Если в css допущена ошибка, из-за которой табу отрисовывается синий цвет вместо красного и вы проверяете присвоение класса “active”, то ваш тест пройдет успешно, но ошибку он не найдет.

1 лайк

“Вкладка такая-то подсвечивается” - почему синий цвет невалиден? Тут цвет не указан ведь.
Уж если проверять, что подсвечивается - то проверять, что из серого стал какого-то другого цвета…
А у меня вопроc, насколько вообще корректна в UI тестах проверка прямо цветовой схемы (конкретный цвет)?

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

2 лайка

Нет у нас отдельных гуищнегов и функциональщиков.

Цвет не указан в этом посте, а в документации, думаю, указан.