02-21-2012 11:14 AM
Hi,
I have several copies of the same sequence file (to test on the different release of our product). Whenever I need to modify a particular test step, I need to manually update that step for all the sequence files.
Could there be a easier solution to this?
Much appreciated!
ph2
02-21-2012 01:16 PM
ph2,
A couple of options for you:
1- Create a new step type that is set up exactly how you want it. Place it in MyTypes.ini file. Make sure and rev it. Now go make all of the steps that type.
More on managine types: http://zone.ni.com/devzone/cda/tut/p/id/7060
Best Practices: http://zone.ni.com/devzone/cda/tut/p/id/8300
How to make one: http://zone.ni.com/devzone/cda/tut/p/id/2772
2- Get the step setup how you want and drag it to your templates. Open the other sequence files and replace the steps with the template.
Look for the section on Step Templates: http://zone.ni.com/devzone/cda/tut/p/id/5871
Personally I like option 2 because then you don't have to maintain types. However, option 1 is going to be more what you are looking for.
Regards,
02-21-2012 02:47 PM
Thanks Jigg!
I'll try both ways to see which works best.
Do you think it's possible to put all the steps in a library (like you said about the MyTypes.ini file), and when I make an update on the step, somehow magically, TestStand will re-generate the sequence files per release. But it probabely won't know how to organize the steps in the sequence file..
Best Regards,
ph2
02-21-2012 03:42 PM
Step definitions are just like data type definitions. Whenever a sequence file tries to load it will use the highest rev...sorta...at least it will ask you which one you want to use. So basically if a step type is defined in MyTypes.ini then when a sequence file loads that has that step in it then it will automatically update to that version. Reading the links I posted earlier should help clarify some of that. If you are a text based programmer you can think of it like a struct or class. Then when you create an instance of that class or struct in your code it is now linked to that definition. Once that definition changes then all instances update to reflect that. If you use LabVIEW it would be like making a custom control and changing it to a Type Def. Each instance is linked to it and will change as it changes. So basically in your MyTypes.ini you are defining it. Each time you have a step of that type it would be an instance. When you change that defnition the next time those steps are loaded into memory they will update.
Be careful though because with TestStand it saves a copy of the definition to the sequence file itself. If you open it on a machine that doesn't have the MyTypes.ini with the update then the step won't update.
Hope this helps,
02-22-2012 10:05 AM
Thanks for the great explanation! Our step definition were created by a 3rd-party vendor, and they're all DLL files (the source code is C#).
I'll see if I can figure this out first.
Thanks again!
ph2