t.me/atinfo_chat Telegram группа по автоматизации тестирования

Не могу параметризовать действие в behave @given('Текст {param} ')

Теги: #<Tag:0x00007f748868c550> #<Tag:0x00007f748868c438>

Здравствуйте. Начал свое знакомство с BDD, в частности с Behave. Нужно параметризовать шаг сценария “Дано Выполнен переход на страницу “http://yandex.ru””. Перечитал доку, искал примеры, но у меня почему то не хочет работать.

features/main_page_features.feature

# language: ru
Функционал: Главная страница

  Сценарий: Открыть главную страницу
    Дано Выполнен переход на страницу "http://yandex.ru"

  Сценарий: Открыть главную страницу версия 2
    Дано Выполнен переход на страницу "http://google.ru"

features/steps/basic_steps.py

from selene.browser import *
from behave import *

use_step_matcher("re")

@given('Выполнен переход на страницу "{url}"')
def step_impl(context, url):
    open_url(url)

Ошибка такая:

(venv) D:\GitHub\eg>behave
Функционал: Главная страница # features/main_page_features.feature:3

  Сценарий: Открыть главную страницу                     # features/main_page_features.feature:5
    Дано Выполнен переход на страницу "http://yandex.ru" # None

  Сценарий: Открыть главную страницу версия 2            # features/main_page_features.feature:8
    Дано Выполнен переход на страницу "http://google.ru" # None


Failing scenarios:
  features/main_page_features.feature:5  Открыть главную страницу
  features/main_page_features.feature:8  Открыть главную страницу версия 2

0 features passed, 1 failed, 0 skipped
0 scenarios passed, 2 failed, 0 skipped
0 steps passed, 0 failed, 0 skipped, 2 undefined
Took 0m0.000s

You can implement step definitions for undefined steps with these snippets:

@given(u'Выполнен переход на страницу "http://yandex.ru"')
def step_impl(context):
    raise NotImplementedError(u'STEP: Given Выполнен переход на страницу "http://yandex.ru"')


@given(u'Выполнен переход на страницу "http://google.ru"')
def step_impl(context):
    raise NotImplementedError(u'STEP: Given Выполнен переход на страницу "http://google.ru"')

Если делать так “@given(‘Выполнен переход на страницу “http://google.ru”’)” то все работает. Никак не могу параметризовать. Подскажите что может быть не так?

Разобрался.
Делаем вот так и все работает:
feature

Функционал: Новый

  Сценарий:
    Когда Клик по региону "регион"

step

from behave import use_step_matcher

use_step_matcher('re')

@step('Клик по региону "(.+)"')
def step_impl(context, name):
    mp.click_cell_region_by_name(name)