Building The Ultimate Test Automation Suite

Sigh… Ok I’ll give you my recipe! Heck I even give my Double Tree Hotel Cookie recipe and that is top secret!

So this is it, you weaseled you way through the interview, they hired you and now you’re scared! They want you to be amazing, to create the Ultimate Test Automation.


True Automation will have the following attributes:


  1. Able to reset upon restart of the project
    There will be things you’ll need to do upon start & end of a test run. Thus you as the developer will want these two testSuites for your use. My teardown allows for termination of an account and prompts with some results. Whereas my SETUP has allot of code to reset everything from scratch.

    • You will need a SETUP testSuite where you want your property value resets, disables/enable scripts etc…
    • That being said – You MUST know GROOVY SCRIPT! You can’t just get away with property transfer. There is no way to transfer values from one TestSuite to another without Groovy Scripting.

    This is why my first TestSuite is named “SETUP” and my last is named “TEARDOWN”


  2. Able to work in the Free Version
    • There are many features that Pro Version has, yet no company will just buy a large amount of licenses. Pro Version is a must have for development SO SPEND THE MONEY! If your company still won’t buy it, I suggest you buy it yourself to make your life stress free. Thus why groovy scripting is essential because if others use it in a free version with Pro features – YOU FAIL.

  3. Contain Groovy Script test boxes for data entry that will setPropertyValue instead of manually populating them.

  4. Using items like the “dropdown” or “textbox” so that you can make a scenario-based type of testing. See Groovy Script section on this site. Here are a couple quick examples that you can just copy & paste into a groovy script step and run it.

    result = com.eviware.soapui.support.UISupport.prompt("Text that displays above dropdown", "GUI Header", ['Select 1', 'Select 2'])
    def result = com.eviware.soapui.support.UISupport.getDialogs().prompt("Field", "Header")

  5. “Contains” property value automation.  Example you can be annoying and over prompt for firstName, lastName, address, userName, email address etc… OR be awesome and automate this in Groovy Script.
    • Example: I have a script that uses the Month for the first Name [FName = new Date().format("MMMM")],
    • Day for the Last Name [LName= new Date().format("dd")],
    • Then break down the date & time for the username/email [Time= new Date().format("HHmmss")] for my unique username: [testRunner.testCase.testSuite.setPropertyValue( "userName", FName+LName+"_"+Time )]

  6. Transfer via Groovy Script, needed values from previous testSuites… i.e. sending values from one testSuite property to another for use in other APIs (testSteps).

All the above is just what you need to do – but HOW is explained in the various menu options for SoapUI