How do I create and use public methods? ("Unable to resolve class" error)

Using the @Keyword tag I can accomplish what I need, but that’s incredibly wordy, and I like to use the Script view. I tried just making a groovy class file, but I have problems importing it. What am I doing wrong?

The class:

package tryMePlease(regular imports)public class tempClass {	static void doSomething(){		println("I did something!")	}}

The TC:

import static tryMePlease.*(regular imports)doSomething()

The error:

Script1536829300374.groovy: 1: unable to resolve class tryMePlease @ line 1, column 1.   import static tryMePlease.*   ^2 errors	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)	at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:946)	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:593)	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:542)	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)	at com.kms.katalon.core.main.ScriptEngine.getScript(ScriptEngine.java:188)	at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:183)	at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:108)	at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:294)	at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:285)	at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:264)	at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:256)	at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:200)	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:99)	at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:90)	at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:149)	at TempTestCase1539331251342.run(TempTestCase1539331251342.groovy:22)	at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:263)	at groovy.lang.GroovyShell.run(GroovyShell.java:518)	at groovy.lang.GroovyShell.run(GroovyShell.java:507)	at groovy.ui.GroovyMain.processOnce(GroovyMain.java:653)	at groovy.ui.GroovyMain.run(GroovyMain.java:384)	at groovy.ui.GroovyMain.process(GroovyMain.java:370)	at groovy.ui.GroovyMain.processArgs(GroovyMain.java:129)	at groovy.ui.GroovyMain.main(GroovyMain.java:109)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)	at java.lang.reflect.Method.invoke(Method.java:498)	at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:109)	at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:131))

Discussion moved to a more appropriate place. Will update here if I find an answer.

Hi,
have you tried the import without wildcard (… import static tryMePlease.tempClass…)?

Hi,

It turned out that I couldn’t use a wildcard, and I don’t know why…

It worked with this:
import tryMePlease.tempClass as tempClass

Also, I had to restart Katalon Studio. Without restarting, nothing worked.