Shared steps can have parameters however, before adding iterations of data there are considerations you need to take into account.
If you consider logically how this works, adding a bunch of parameters and data to a Shared Step will have that step repeat running through the data you added. Then once all iterations of the shared step complete your next test case step would run. Make sense.
- What if I want the Shared Step parameters to run with other parameters in my Test Case?
- What if I want to add data to my Test Case Shared Step parameters months later?
The cleanest and most flexible way I believe and have found is to add data (iterations) to my Shared Step parameters from within the Test Case. Remember a Shared Step can be used in any Test Case and therefore needs to be flexible.
Example:
A Shared Step with Parameters > no data (iteration) added.
Shared Step with Parameters (userid & password) inside the Test Case
Above there are three parameters of which two belong to the Shared Step, the other the test case. You can add many parameter iterations to this test case without affecting any other test case that contains the same shared step. (If the UserID and Pswd’s were in the shared step that step would keep opening and login for each iteration before doing the test case step two.)
I have seen cases where testing always uses the same UserID and Pswd for login. In that case having these as parameters set within a Shared Step makes sense. If a new set of credentials is issued you can easily change them in one place, quick and simple.
Note: now this is confusing. I set my parameters in a Shared Step added the Shared Step to a Test Case. In the Test Case the shared step parameters display however they do not show any data.
[I will try a scenario where parameters are set in the Shared Step and in the Test Case to see what happens! - will let you know the outcome]
Comments on this subject are welcome. If you have found a different way to handle a combination of parameters in shared steps and test cases or situations you have come across – lets learn together.
Testa :-)