Hi Dierk,
this was the second time that I felt into this trap and tried various things
without coming to an result. Probably because I'm still used to static
languages and compilers that tell me: "Don't do that, wrong syntax!" ;-)
Anyhow, to avoid making this mistake again and to allow parameter injection for
scripts, I tried to extend the GroovyStep to accept a Closure. This was the
next trap. It took some time until I realized that AntBuilder uses Closures to
create Nodes (which is pretty obvious...).
Is there any easy approach to parameterize a Step with a closure?
What I tried:
Extending AntBuilder to create specific Nodes ("groovy") with Closures as
Attributes (Default: child nodes).
Unfortunately, this does not seem to be a valid approach because ant only
allows a very restricted set of types for attributes:
http://ant.apache.org/manual/develop.html#set-magic
It is time for holidays :)
Kind Regards
Matthias
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dierk König
Sent: Freitag, 25. Juli 2008 21:57
To: [email protected]; Pfau, Matthias
Subject: RE: [Webtest] Groovy Step (XML/Groovy)
Well, if you have a groovy step inside a Groovy webtest,
you have to provide the Groovy code as a String (or even
better in an external file, which I would recommend):
groovy '''
print 'methods of step:'
print step.class.methods.name
'''
cheers
Dierk
| -----Original Message-----
| From: [EMAIL PROTECTED]
| [mailto:[EMAIL PROTECTED] On Behalf Of Pfau, Matthias
| Sent: Freitag, 25. Juli 2008 16:57
| To: [email protected]
| Subject: [Webtest] Groovy Step (XML/Groovy)
|
| Hi,
| after a few hours I finally gave up. I simply do not
| understand why one testcase works as XML and not as
| Groovy-Code. The XML looks like:
| <?xml version="1.0"?>
|
| <!DOCTYPE project SYSTEM "../dtd/Project.dtd">
|
| <project default="test">
| <target name="test">
|
| <webtest name="check the groovy evaluation">
| <groovy>
| print 'methods of step:'
| print step.class.methods.name
| </groovy>
| </webtest>
|
| </target>
| </project>
|
| The Groovy-Code looks like:
| import com.canoo.webtest.WebtestCase
|
| class SimpleTest extends WebtestCase {
| void testWebtestOnGoogle() {
| webtest("check Groovy evaluation") {
| groovy {
| print 'methods of step:'
| print step.class.methods.name
| }
| }
| }
| }
|
| Exception:
|
| testWebtestOnGoogle(SimpleTest)groovy.lang.MissingPropertyExce
ption: No such property: step for class: SimpleTest
|
| I tested against the latest build. Any ideas what went wrong?
|
| Kind Regards
| Matthias
| _______________________________________________
| WebTest mailing list
| [email protected]
| http://lists.canoo.com/mailman/listinfo/webtest
|
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest