Skip to main content

Generation gitlab/github => .feature file

Project description

Cucmber generator

Для формирования .feature файлов на основе html tags. Необходимую информацию для .feature файлов берем из epic/issue GitLab и GitHub.

Установка

Вводим в терминал следующую команду

pip install generator-cucumber

или вносим в requirements.txt

generator-cucumber==<version>

Пример работы generator-cucumber

  1. Создаем epic и добавляем специальные tags (дублирующие ключевые слова языка Gherkin)

<src-1>
<src-1-1>

<scenario>Напишем сценарий</scenario>

<given>Здесь добавим given</given>
<when>Здесь добавим when</when>
<then>Здесь добавим then</then>

<group>

<then>Таблица THEN<groupin> </groupin> </then>

Наименование Что-то
<examples>Первый</examples> 1
<examples>Второй</examples> 2
<examples>Третий</examples> 3

</group>

</src-1-1>
</src-1>

  1. В GitLab Epic будет выглядить следующим образом

Напишем сценарий

Здесь добавим given
Здесь добавим when
Здесь добавим then

Таблица THEN
Наименование Что-то
Первый 1
Второй 2
Третий 3
  1. После установки generator-cucumber создаем тест (например test_example.py)
from generator_cucumber import Generator

Generator.URL_GIT = 'https://gitlab.com/' # url развернутого gitlab
Generator.PRIVATE_TOKEN_GIT = 'gsdff-sdx5DkswkqSDFSSQnVL' #'здесь необходим ваш access token (для примeра)

Generator.create_cucumber(
    group_id=100, # номер группы в которой написан epic
    epi_iid=1, # номер  epic
    name_file='test_lib', # наименование файла .feature (любое удобное)
    scenario_number='src-1-1', # текст к которому относиться тест
    ssl_verify=True # если все ок с ssl, по умолчанию false
)
  1. После запуска теста сформируется .feature файл и папка featurecache для контроля изменений в тексте
# https://gitlab.com/python_epic/test_pr/-/epic/1
# Di
# 2024-08-01T01:48:53.366Z

Feature: Тестируем lib

    Scenario: Напишем сценарий

        Given Здесь добавим given

        When Здесь добавим when

        Then Таблица THEN  "<col_1>", "<col_2>", "<col_3>"
 
            Examples: col_1, col_2, col_3
                | col_1 | col_2 | col_3 |
                | Первый | Второй | Третий |

Html tags

gherkin equivalent HTML equivalent
"and" <and></and>
"background" <background></background>
"but" <but></but>
"examples" <examples></examples>
"feature" <feature></feature>
"given" <given></given>
"scenario" <scenario></scenario>
"scenarioOutline" <scenariooutline></scenariooutline>
"then" <then></then>
"when" <when></when>

Html tags ➕

gherkin equivalent HTML equivalent (tags) Описание
"groupin" <groupin></groupin> Место куда поставиться examples
"scr-1-1" <scr-1-1></scr-1-1> Для ограничения места для генерации (номер условный)

Стуктура проекта

# Проект по генерации .feature
├── 📁 generator_cucumber/
|   ├── 🐍 api_github.py        # для работы с github (не реализован)
|   ├── 🐍 api_gitlab.py        # Для работы с gitlab
|   ├── 🐍 bdd_generator.py     # Для работы с .py и подготовка шаблона bdd
|   ├── 🐍 cache_file.py        # создание файлов cache
|   ├── 🐍 create_file.py       # Обработка файлов cache и .feature
|   ├── 🐍 cucumber_text.py     # Формирование .feature текст
|   └── 🐍 generator.py         # входная точка
└── ... 

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

generator_cucumber-0.0.22.tar.gz (69.6 kB view details)

Uploaded Source

Built Distribution

generator_cucumber-0.0.22-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

Details for the file generator_cucumber-0.0.22.tar.gz.

File metadata

  • Download URL: generator_cucumber-0.0.22.tar.gz
  • Upload date:
  • Size: 69.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.19

File hashes

Hashes for generator_cucumber-0.0.22.tar.gz
Algorithm Hash digest
SHA256 0a13b30c9d7e5b0179be29ade8081ce570c142dcc5a4f5f59aec9d4b875dcba7
MD5 914294a7c7e877d7cfa43f965db8f598
BLAKE2b-256 2810435dfbb32b86ec8fcfefbc91394cc4f0a37d50dcd19f7fee3f32061ff8eb

See more details on using hashes here.

File details

Details for the file generator_cucumber-0.0.22-py3-none-any.whl.

File metadata

File hashes

Hashes for generator_cucumber-0.0.22-py3-none-any.whl
Algorithm Hash digest
SHA256 ad0e75d50fa006d1a3f42a59c0b948e46233855eca13b548100a7b2d7c56e131
MD5 094dbddb02ed9a4a5e4e47eafdff2344
BLAKE2b-256 ee2e9e5aff2bc74b44ec8eabc1f8b22ff8b3f8ee7a94be1aad5d2cc6ee6df738

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page