Clone Test Step into Multiple Test Cases Using Groovy
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Clone Test Step into Multiple Test Cases Using Groovy
I have a Test Step that I need to clone into all the Test Cases I have within all the Test Suites. Would the following script work when ran against each Test Suite individually:
def slaveTestStep = testRunner.testCase.testSuite.project.getTestSuiteByName("Test Suite").getTestCaseByName("Name") testRunner.testCase.testSuite.project.getTestSuiteByName("Test Suite").get TestCaseByName("Name").cloneTestStepByName(slaveTestStep,"NewName") Tags (0) Add tags
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Have you tried the script? Easiest way to find out if it works is to try it on a small dummy testsuite surely?
Then if it doesnt work you can post any error response you get to assist the diagnosis?
Just a suggestion....whenever im passing anything to qnt variables, u always add logging to ensure its working and to assist diagnosis if it doesnt
Ta
Rich
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Example Result:
def slaveTestStep = testRunner.testCase.testSuite.project.getTestSuiteByName("AdminTestSuite").getTestCaseByName("Authenticate") testRunner.testCase.testSuite.project.getTestSuiteByName("AdminTestSuite").getTestCaseByName("AppBundles(addBundle)").cloneTestStepByName(slaveTestStep,"Authenticate")Tags (0) authentication
Exception thrown
groovy.lang.MissingPropertyException: No such property: testRunner for class: cloneAuthenticateStep
at cloneAuthenticateStep.run(cloneAuthenticateStep.groovy:1)
Note: I'm attempting to use the GroovyConsole tool withing SoapUI Pro
I'm hoping this might help: https://community.smartbear.com/t5/SoapUI-Pro/SoapUI3-5-No-such-property-testRunner-for-clases-Scrip...
"...the assertion script does not have access to the testRunner variable..."
def testCase = messageExchange.modelItem.testCase
def ResponseMessage = testCase.testSteps["Step1"].testRequest.response.contentAsString
log.debug 'response is :::: ' + ResponseMessage
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Added def testCase - messageExchange.modeItem.testCase
def testCase = messageExchange.modelItem.testCase def slaveTestStep = testRunner.testCase.testSuite.project.getTestSuiteByName("AdminTestSuite").getTestCaseByName("Authenticate") testRunner.testCase.testSuite.project.getTestSuiteByName("AdminTestSuite").getTestCaseByName("AppBundles(addBundle)").cloneTestStepByName(slaveTestStep,"Authenticate")Tags (0) authentication
Now this is the Exception:
Exception thrown groovy.lang.MissingPropertyException: No such property: messageExchange for class: cloneAuthenticateStep at cloneAuthenticateStep.run(cloneAuthenticateStep.groovy:1)
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is this a groovyscript or script assertion?
I know testrunner isnt available in script assertions so you need to use messageExchange instead.
It looks like youve mixed and matched...when you define the testcase variable try using testrunner instead (assuming this is groovy step) of messageExchange.
Nice one,
Rich
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you, Rich. This is to be a Groovy Script. I'll give your recommendation a shot.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you richie.
@socaltester , please keep us informed of your progress with solving this one. Thanks.
Sonya Mihaljova
Community and Education Specialist
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi @socaltester,
Was the original issue resolved? Please let us know if you still need assistance.
Tanya Yatskovskaya
SmartBear Community and Education Manager
