I am currently evaluating Eggplant for our testing you & I can’t seem to find an answer to one of my questions. I apologize if it has been asked before or if there is a simple answer somewhere but I couldn’t find anything.
Basically once I have my tests written I want to be able to run them on multiple SUTs concurrently. Basically connect to SUT 1 run the tests & then at the same time connect to SUT 2 & run the same tests. Is it possible to do this? If so how?
It should be noted that the SUT will all be Windows machines (2K, XP, Vista) & have a VNC server running on them.
It is possible because:
- You use the command line tool runscript
- You have multiple licenses which you purchase from Redstone
- The Results/mytests folder has a timestamp-derived, unique name to store results of each concurrent run.
We do this all the time and it works flawlessly.
Eggplant Purple offers this functionality from directly within a script using the connect command. This feature is not available in Eggplant Green.
Here is an example script:
set connectionList to ( \
repeat for each item connection in connectionList
connect (ServerID: connection)
runWithNewResults "MyTestScript" -- Run this generating independent results
The script Jonathan posted here is a great example of what we call a “master control script” that runs other scripts using the RunWithNewResults command.
Just to be sure it’s clear, though: This approach will run the script against each SUT sequentially. If you want to run multiple scripts concurrently you’ll need multiple licenses, as pointed out by edwindjb.
Thanks for the info it was really helpful but it leads to another question. Assuming I get the multiple licenses necessary how would I actually run my tests on those multiple machines?
Most likely I would be using a master control script. Would I simply connect to all the SUTs that I want to run the tests on & then start running the tests? Or is it done in another fashion?
One thing to keep in mind, a license is good to run an Eggplant instance, concurrently. So you can buy one GUI license and one CLI Only license, queue up sequential runs of scripts to run against a series of hosts, and continue to work on news tests while known working tests crunch and report away. This scenario would be what we call a Dual Stream.
If you get to the point where you are in need of more concurrent testing to occur, maybe running on 2+ Mac systems, testing against one current SUT each, more CLI licenses for those other hosts would be in order. In this case, with one developer, and possibly running on multiple concurrent hosts running tests, your needs would dictate the purchase of what are called 4 packs (1x GUI, 3x CLI Only).
And as you scale bigger, more rollout, more legacy regression testing, and possibly with more development test folks in your squad of developers, you may want to buy multiple GUI and dozens of CLI licenses. If you are going to develop a business model where you run tests and get paid for it, this is where business really gets started.
In the end each customer needs are unique, and different. That is why we don’t usually talk about this on the forums, but we highly recommend you talk to the Redstone Sales Group. They will be happy to sit and chat with you about what your very specific needs are, and how each licensing offering we have can be taken or combined to meet your business model.