Повторное использование примеров огурцов в различных функциях / сценариях

Некоторое время я употребляю огурец и столкнулся с проблемой:

Актуальный вопрос:

Есть ли решение для импорта примеров из одного файла / базы данных с использованием огурца в качестве примеров? Или, в качестве альтернативы, есть способ определить переменную уже в шаге, чтобы быть примером? Или, в качестве альтернативы, есть ли возможность отправить примеры в виде переменных при запуске файла / сценария функции?

Проблема:

У меня есть несколько сценариев, в которых я хотел бы снова и снова использовать одни и те же примеры.

Это звучит довольно просто, но таблица примеров очень большая (точнее, она содержит все страны мира и соответствующие им континенты). Таким образом, повторение было бы очень хлопотным, особенно если таблица нуждается в изменении (мне нужно будет изменить все экземпляры таблицы отдельно)

Осложнение:

У меня есть функция повторного запуска, которая знает, когда конкретный пример не удался, и повторно запускает его после завершения теста.

Ограничения:

Я не хочу редактировать свой файл повтора

По теме:

Я заметил, что здесь уже идет открытая дискуссия об импорте его из csv: Импортируете CSV в качестве тестовых данных в Cucumber?

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

Спасибо!


person Daniel D.    schedule 23.01.2014    source источник


Ответы (1)


Вы можете использовать CSV и другие внешние файловые системы с QAF, используя разные синтаксис BDD.

Если вы хотите использовать шаги огурца или бегунок огурца, вы можете использовать QAF-cucumber и BDD2 ( предпочтительно) или синтаксис Gherkin. QAF-cucumber включит внешние тестовые данные и другие функции qaf с огурцом.

Ниже приведен пример файла функций, в котором используется синтаксис BDD2. Его можно запустить с помощью TestNG. или бегун Cucumber.

Feature: feature uses external data file

@datafie:resources/${env}/testdata.csv
@regression 
Scenario:  Another scenario exploring different combination using data-provider
    Given a "${precondition}"
    When an event occurs
    Then the outcome should "${be-captured}"   

Файл testdata.csv может выглядеть так:

TestcaseId,precondition,be-captured
123461,abc,be captured
123462,xyz,not be captured

Вы можете запустить, используя TestNG или Огурец бегун. Вы можете использовать любой из встроенного поставщика данных. или custom.

person user861594    schedule 22.12.2019