fredag 10 augusti 2012

Dela groovyscript mellan testsviter i soapUI free

Eftersom det är festligt att kunna dela på script mellan sina testfall utan att behöva köpa soapUI Pro så tänkte jag komma ihåg hur man gör det. Ett par enkla steg är allt som behövs för att slippa härja.

Börja med att skapa en testsvit som man t.ex. kan kalla för 'script library'. Därefter skapar man med fördel ett testfall för varje paket man känner att man vill gruppera sina groovyscript i, för enkelhetens skulle kallar vi vårt demopaket för 'demo' som vi adderar ett ett teststeg till i form av ett groovyscript, här kallat 'DemoUtil' som jag enkelt väljer att fylla med följande stuff:

//Addera klassens instans till propsen
context.setProperty("demoUtil", new DemoUtil())
import com.eviware.soapui.SoapUI
public class DemoUtil {
  def static hello(log, testRunner) {
    log.info "Hello from DemoUtil"
  }
}

Sen kan man med ett enkelt handgrepp plocka upp den från propsen i sina andra testfall och exekvera hello om man vill med ett fint groovyscript som gör följande:

//Initiera lite o kör metoden
scripts = testRunner.testCase.testSuite.project.testSuites["script library"]
scripts.testCases["demo"].testSteps["DemoUtil"].run(testRunner, context)
context.demoUtil.hello(log, testRunner)

Och så krossas kakan. Bob blir din farbror och så vidare. Bra att ha kommaihåg prylar.