When creating a Selenium integration test case with Selenium steps by importing a JSON test script into DevTest Workstation, the first (Get) step is always defined like below:
The action for the Selenium step is defined as "type" with value "get" in this "JSON Object:" field. And the parameter for get action is the "url", the value of "url" is substituted by the property "ENDPOINT" in "JSON Object:" field like:
the property definition for "ENDPOINT" is in the project.config file.
The value of a parameter can be substituted by a property. So I tried to add the "ACTION" property which value is "get" in the project.config file
and also change the "JSON Object:" field like this:
to substitute the value of "type" by the property.
But I get error messages like below when playing back with Interactive Test Run:
============================================================================
| Error executing Selenium Step :
[{"negated":false,"type":"get","url":"http://myserver/mypath"}]
============================================================================
| Step: Get
----------------------------------------------------------------------------
| Message: No implementation class for step type "get" could be found.
----------------------------------------------------------------------------
| Trapped Exception: No implementation class for step type "get" could be found.
| Trapped Message: java.lang.RuntimeException: No implementation class for step type "get" could be found.
----------------------------------------------------------------------------
STACK TRACE
java.lang.RuntimeException: No implementation class for step type "get" could be found.
at com.sebuilder.interpreter.factory.StepTypeFactory.getStepTypeOfName(StepTypeFactory.java:96)
at com.sebuilder.interpreter.factory.ScriptFactory.parseStep(ScriptFactory.java:99)
at com.itko.lisa.glass.SeleniumStep.execute(SeleniumStep.java:321)
at com.itko.lisa.test.TestNode.executeNode(TestNode.java:981)
at com.itko.lisa.test.TestCase.execute(TestCase.java:1294)
at com.itko.lisa.test.TestCase.execute(TestCase.java:1198)
at com.itko.lisa.test.TestCase.executeNextNode(TestCase.java:1183)
at com.itko.lisa.editor.WalkThruPanel.prepAndExecNode(WalkThruPanel.java:1085)
at com.itko.lisa.editor.WalkThruPanel.access$900(WalkThruPanel.java:72)
at com.itko.lisa.editor.WalkThruPanel$10.doCallback(WalkThruPanel.java:992)
at com.itko.util.swing.panels.ProcessingDialog$2.run(ProcessingDialog.java:194)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.sebuilder.interpreter.steptype.get
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.sebuilder.interpreter.factory.StepTypeFactory.getStepTypeOfName(StepTypeFactory.java:89)
... 11 more
============================================================================
Is this usage supported?
No, in the Selenium step it is not supported to substitute a property for the value of "type".