Forum Discussion

bewen's avatar
Occasional Contributor
2 years ago

Changing the values of a variable in a scenario script when used again later in a test run

Hi there, I'm not sure if this has been asked before but couldn't find anything in the community or in the documentation for what I'm looking to do. 


I'm looking to run a Login BDD scenario I have made which has a Login script that takes projects variables to log the user in. However, I want to be able to run this script twice in one test run, so log user A in do some stuff and logout, then log user B in and do some stuff. I was looking to do this by including my login scenario twice within my execution plan. Is it possible to be able to change what project variables the scenario/script will use later in the execution plan to be able to log the second user in?


Thank you for any help 🙂 

4 Replies

  • rraghvani's avatar
    Champion Level 3

    If it's BDD, then you want to use Examples,

    Feature: User is able to successfully add an item to cart on the SmartStore website
      Scenario Outline: Add item to cart and verify price (data-driven test)
        Given I have launched the website ""
        When I search for item <item>
        And I navigate to the Product page
        And I add the item to the cart
        Then the item <item> must be added to cart
        And price should equal <price>
          | item              | price       |
          | "Soccer Football" | "$59.90"    |
          | "Airypods"        | "$1,014.00" |
  • bewen's avatar
    Occasional Contributor

    rraghvani, I see, so if I was to use the examples and ran the scenario at the beginning of the execution plan and used the item "Soccer Football" and then towards the end of the execution plan I ran this scenario again would it then use the "Airypods" item next?

    • Kitt's avatar
      Regular Contributor

      Cucumber will run all scenario examples automatically - you would not have to run the scenario again. Additionally, you can use tags to help organize your run criteria [see here].