Hi, I am reading the book 'Groovy in Action' and this code is based on that.
My base script stores 'DynamicXPath' like this. abstract class AxesBaseScript extends Script { public DynamicXPath bootStrap(String initialPath ){ this.binding.dxp.bootStrap initialPath } } And here I want to execute a dynamic DSL command 'dsl ' by storing it in the binding as 'DslCommand'. def evaluatexpath( String dsl ){ def binding = new Binding( dsp: new DynamicXPath(), DslCommand: dsl ) def shell = new GroovyShell(this.class.classLoader, binding) shell.evaluate ''' @BaseScript(com.automation.script.AxesBaseScript) import groovy.transform.BaseScript DslCommand ''' } Looks like the DSL string I pass 'bootStrap somestring' is returned as it is as a string by evaluate. Can I not execute 'bootStrap somestring' ? The relevant section in the book is '*Listing 19.12 Using a custom base script class'* *My '*DslCommand' replaces 'move left' which you see at the end of the listing. I just want to pass my DSL commands to the evaluate method as parameters through the binding. Thanks, Mohan