Как идентифицировать сценарии и шаги с числовыми идентификаторами в cucumber?

#testing #automation #cucumber #bdd #uniqueidentifier

#тестирование #автоматизация #cucumber #bdd #уникальный идентификатор

Вопрос:

Изучаю хороший подход для идентификации сценариев и шагов с числовыми идентификаторами в cucumber

  • Не хотите использовать для этого номер строки кода, который может измениться после редактирования функций.
  • Я уже использую теги для идентификации / группировки сценариев, но клиенту требуется уникальный номер, чтобы ссылаться на них.
  • Идеальным решением было бы позаботиться об этом автоматически, возможно, с помощью cucumber gem с какой-то поддержкой сохранения.

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

 @login @tc10100
Scenario: Login with wrong credentials
  Given I am not logged in
  And I go to the user signin page
  #and so on...
  

Заметки об этом решении с временными тегами (@tc10100):

  • tc расшифровывается как тестовый пример (клиент привык к этому термину)
  • 10100 — это просто некоторый начальный номер обращения
  • поскольку хорошо разработанный сценарий не будет включать более 9 шагов, номера шагов будут подсчитываться автоматически, начиная с шагов 1, 2, 3… Итак, @tc10100 шаг 2 — «И я перехожу на страницу входа пользователя»

Ответ №1:

Лучшим решением здесь может быть создание идентификаторов сценариев на основе названия сценария.

Есть ли у вас какие-либо ограничения относительно максимальной длины идентификатора?

Если нет, мы можем начать думать о каком-то уникальном хэше сценария, применяющем md5 или что-то в этомроде к названию сценария.

Комментарии:

1. Идентификатор должен быть легко читаемым, например, идентификаторы трафика # 321 # 232 … предпочтительно не более 5 цифр, возможно, перезапуск подсчета после выполнения определенного количества спринтов или, возможно, за веху. спасибо 😉

2. Теперь, когда я думаю об этом, ваше решение довольно эффективно, я должен рассмотреть случай, когда кто-то изменяет название сценария, чтобы обновить его или улучшить его описание, и это должно сработать.