jkrier
7 years agoRegular Contributor
Can't invoke external groovy script with test case variables
I have an external script that I want to use to store values in for a JDBC query request. I am getting the following error
groovy.lang.MissingMethodException: No signature of method: library.getAccount.GetAccount.ab_complete_newconnect_retail() is applicable for argument types: (org.apache.log4j.Logger, com.eviware.soapui.impl.wsdl.panels.support.MockTestRunContext, com.eviware.soapui.impl.wsdl.panels.support.MockTestRunner) values: [org.apache.log4j.Logger@15b10f62, [ThreadIndex:0, log:org.apache.log4j.Logger@15b10f62, ...], ...] error at line: 2
I have other external scripts that I call the same way (far as I can tell) and they work without issue. Here is the script I am trying to invoke
package library.getAccount class GetAccount { def account( log, context, testRunner ) { def inputs = [ beam_number_in :'', customer_type_in :'', device_platform_id_in :'4', device_status_id_in :'2', device_type_id_in :'', ext_svc_agreement_ref_seq_in :'0', external_transaction_refseq_in :'0', facade_owner_in :'PROVISIONING', fcd_transaction_status_id_in :'3', fcd_transaction_type_in :'add', from_date_in :'5', rate_name_in :'', sales_channel_id_in :'', sales_channel_type_id_in :'1', satellite_name_in :'', state_in :'', to_date_in :'0', transaction_status_id_in :'6', transaction_type_in :'new', zip_in :'', ] for ( item in inputs ) { log.info item.key + ' : ' + item.value testRunner.testCase.testSteps[ 'Properties' ].setPropertyValue(item.key, item.value) } } }
And I am invoking it with this script
def setGetAccountInputs = new GetAccount() setGetAccountInputs = setGetAccountInputs.account( log, context, testRunner )
I believe it's failing at the invoking script. It looks to me like SoapUI isn't recognizing the variables. Has anyone else seen this before and or am I calling the external script incorrectly?