2017-08-31 22 views
0

Si j'ai un scénario outilne comme ceci:Concombre: répéter une seule étape plusieurs fois

Scenario Outline: test 
Given I am on page X 
When I fill the <name> on field <fieldID> 
And I click on Ok button 
Then I should see something 

Examples: 
name | fieldID | 
"Jhon" | "name1"| 
"Max" | "name2" | 
"Paul" | "name3"| 

puis-je exécuter seulement les « Quand » étape 3 fois, puis cliquez sur OK? ou dois-je écrire toutes les 3 étapes diferent? J'ai besoin de ces 3 informations pour cliquer sur ok, n'est pas comme une connexion que je teste 3 fois avec différentes valeurs de connexion

Répondre

1

Vous pouvez écrire votre scénario comme aussi:

Scenario Outline: test 
Given I am on page X 
When I fill in the following names 
name | fieldID | 
"Jhon" | "name1" | 
"Max" | "name2" | 
"Paul" | "name3" | 
And I click on Ok button 
Then I should see something 

Le tableau sera alors fourni sous forme de tableau à la mise en œuvre des étapes pour votre instruction WHEN.

Une question que je pourrais poser ici est de savoir si les noms réels ont vraiment de l'importance? Si ce n'est pas le cas, vous pouvez aussi simplement écrire When I fill in 3 names et utiliser simplement la méthode steps pour remplir certains noms arbitraires.

+0

Merci! Et tu me fais voir que les noms n'ont pas d'importance, lol! Deux réponses en une – Mucida

0

Vous n'avez pas besoin de 3 étapes différentes car le scénario générera automatiquement différents tests dépend des données dans "Exemples: ". Dans votre exemple, SpecFlow générera 3 tests différents car vous avez 3 lignes dans "Exemples:". Grande histoire courte, vous avez besoin d'un seul scénario et il sera exécuté n fois, où n est le nombre de lignes dans "Exemples:".

0

Vous devez écrire trois étapes avec des paramètres différents et si vous utilisez le plan du scénario, toutes les étapes sont répétées pour chaque scénario. Selon vos besoins, vous pouvez essayer les étapes suivantes.

Scenario: test 
    Given I am on page X 
    When I fill the "John" on field "name1" 
    When I fill the "Max" on field "name2" 
    When I fill the "Paul" on field "name3" 
    And I click on Ok button 
    Then I should see something