Запуск файла объектов несколько раз без передачи значения из файла объектов - PullRequest
0 голосов
/ 30 марта 2020

У меня есть такой файл функций.

Feature: Verify captured document values against CMS for 
@test
Scenario: Verify user can open and view document
    Given user is in QueueHandling home page Dashboard
    And user has batches assigned to himself/herself
    When user selects a batch from batch list
    Then selected batch is opened in a new window
    And user views all identified documents

@test
Scenario Outline: Verify data in document
    When user selects "<documentType>" document and compare data

Examples:
| documentType         |
| Settlement Coversheet|
| AssetLoanAgreement   |

@test
Scenario: Verify user navigates back to QueueHandling home page Dashboard
    Given user navigates back to QueueHandling home page Dashboard

Я хочу запустить его несколько раз в коде.

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

Я пытался добавить al oop в BeforeFeature следующим образом.

[BeforeFeature]
        [Obsolete]
        public static void BeforeFeature()
        {
            while (queueNumberCurrentIndex < 2)
            {
                string featureAddOnText = queueNumberList[queueNumberCurrentIndex];
                feature = extent.CreateTest(FeatureContext.Current.FeatureInfo.Title + "  \"" + featureAddOnText + "\"", FeatureContext.Current.FeatureInfo.Description);
                Hooks.testlog = extentLog.CreateTest(Properties.getProperty("projectname"));
                feature.AssignCategory("Regression");               
            }
        }

Но это продолжается вечно. Что мне делать?

1 Ответ

0 голосов
/ 04 апреля 2020

Cucumber не является средой для программирования.

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

Большую часть времени откладывать программирование - это самый простой ответ. Если вы реализуете определение шага как один вызов, вы в конечном итоге окажетесь в довольно мощной среде программирования на своем языке выбора. Здесь вы можете l oop, сопоставлять, подключаться к внешним ресурсам и т.д. c. et c.

В вашем примере программирование сосредоточено на том, как что-то делается. Первый шаг к этому - понять, ЧТО пытается сделать ваш сценарий и ПОЧЕМУ это важно. В настоящее время ваш сценарий не может это сделать. Он утверждает, что это то, что a user can open and view a document. Если бы это было на самом деле так, ваш сценарий был бы

Given the user has a document
When they open their document
Then they should see their document

Но ваш сценарий всецело связан с расчетом проверки партий, кредитами. Вы не добьетесь никакого прогресса, не представив гораздо более четкого описания ЧЕГО объединенные эффекты всех этих взаимодействий, и ПОЧЕМУ эта конкретная комбинация взаимодействий важна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...