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
- Создаем 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>
- В GitLab Epic будет выглядить следующим образом
Напишем сценарий
Здесь добавим given
Здесь добавим when
Здесь добавим then
Наименование | Что-то |
---|---|
Первый | 1 |
Второй | 2 |
Третий | 3 |
- После установки 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
)
- После запуска теста сформируется .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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a13b30c9d7e5b0179be29ade8081ce570c142dcc5a4f5f59aec9d4b875dcba7 |
|
MD5 | 914294a7c7e877d7cfa43f965db8f598 |
|
BLAKE2b-256 | 2810435dfbb32b86ec8fcfefbc91394cc4f0a37d50dcd19f7fee3f32061ff8eb |
File details
Details for the file generator_cucumber-0.0.22-py3-none-any.whl
.
File metadata
- Download URL: generator_cucumber-0.0.22-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0e75d50fa006d1a3f42a59c0b948e46233855eca13b548100a7b2d7c56e131 |
|
MD5 | 094dbddb02ed9a4a5e4e47eafdff2344 |
|
BLAKE2b-256 | ee2e9e5aff2bc74b44ec8eabc1f8b22ff8b3f8ee7a94be1aad5d2cc6ee6df738 |