class use_Objects{
def param( String1,String2,String3)
{
TestObject any = new TestObject('dynamic')
any.addProperty('name', ConditionType.EQUALS, String1)
any.addProperty('tag', ConditionType.EQUALS, String2)
any.findProperty('name').setActive(true)
println(String1,String2,String3);
WebUI.click(any)
WebUI.setText(any, String3)
}
}
param(“ctl01$cphMain$answercontrolb1337459bb244e7989effbf59d6cb1c7$txtx02ecc523-2b8f-4e40-a475-84acb1bc5e02”,“input”,“3/17/2020”)
The biggest clue to what is wrong will be contained in the error message. Please post it.
Reason:
groovy.lang.MissingPropertyException: No such property: cphMain for class: Script1585043704472
at Use_Object.run(Use_Object:45)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:337)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:307)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:299)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:233)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:114)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:105)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1585167297192.run(TempTestCase1585167297192.groovy:23)
This error is caused by the following line:
param("ctl01$cphMain$answercontrolb1337459bb244e7989effbf59d6cb1c7$txtx02ecc523-2b8f-4e40-a475-84acb1bc5e02","input","3/17/2020")
You need to pay attention to $
character. It has a special meaning in a String literal enclosed with “double quotation marks”. See the Groovy Language documentation, “String interplation” section:
Possibly you want to escape a $
to \$
as follows:
param("ctl01\$cphMain\$answercontrolb1337459bb244e7989effbf59d6cb1c7\$txtx02ecc523-2b8f-4e40-a475-84acb1bc5e02","input","3/17/2020")
1 Like
Alternatively you can use ‘single quotation marks’.
param('ctl01$cphMain$answercontrolb1337459bb244e7989effbf59d6cb1c7$txtx02ecc523-2b8f-4e40-a475-84acb1bc5e02',"input","3/17/2020")
In a String enclosed by single quotation marks, $
is just a character. No string interpolation would be done.