Когда я выполняю набросок сценария, он выполняется несколько раз из заданных операторов (Cucumber-JVM) - PullRequest
0 голосов
/ 20 ноября 2018

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

@Workflow
Scenario Outline: Perform
   Given I click on Maglink 
   When I Click AllMagLink & Select Exception  on Advanced Filters 
   And I Send the Value After Reading Form ExcelSheet
   And I Click on Search
   And I Click on subregLink
   And I Get The xxxx From xxxx Tab
   Then I Click on <Tabs> and Validate it in AllTasks

   Examples: 
   |Tabs        |
   |Apple       |
   |Mango       |
   | PineApple  |

Ответы [ 2 ]

0 голосов
/ 12 января 2019

A Scenario Outline: будет повторять все шаги в сценарии для каждого примера.Если вы хотите повторить только последний шаг для каждой вкладки, вам нужно переписать свой сценарий:

@Workflow
Scenario Outline: Perform
   Given I click on Maglink 
   When I Click AllMagLink & Select Exception  on Advanced Filters 
   And I Send the Value After Reading Form ExcelSheet
   And I Click on Search
   And I Click on subregLink
   And I Get The xxxx From xxxx Tab
   Then I Click on Apple and Validate it in AllTasks
   And I Click on Mango and Validate it in AllTasks
   And I Click on PineApple and Validate it in AllTasks

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

0 голосов
/ 26 ноября 2018

Схема сценария - это способ запустить несколько сценариев из одного письменного определения.Для каждого примера сценарий будет запускаться с самого начала как один сценарий.Между каждым сценарием (каждым примером) все сбрасывается, так что предыдущие сценарии не влияют на текущие.

Вот как работает сценарий и работает в течение последних 10 лет.Они работают правильно, и это не изменится.Вы только что неправильно поняли, как они работают.

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

When 'I do many different things' do
  @results = []
  @results << do_first_thing
  @results << do_second_thing
end

Then "I should see I've done different things" do
  # examine @results
end

ПРИМЕЧАНИЕ: код выше Ruby

...