[Webtest] custom step example

Stefan Ruff webtest@lists.canoo.com
Wed, 17 Sep 2003 10:02:21 +0200


This is a MIME-formatted message.  If you see this text it means that your
mail software cannot handle MIME-formatted messages.

--=_0_27443_1063785741
Content-Type: text/plain; format=flowed; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

Hi all 

To test our application with webtest we had to use a lot of invoke steps 
(because of the framework and the html design). Invoke steps have some 
disadvantages:
 -	setXY steps can’t be used before the invoke
 -	hidden fields from the last response must be set manually for the new 
request
 -	it is possible to set fields which are not in the last response
 -	it is possible to set wrong values for selectfields 

To improve the quality of our tests we decided to write a custom step.
See the description in the attachment.
To use it, modify your  webtestTaskdefs.properties with 
‘performaction=com.winterthur.webtest.steps.request.PerformAction’ and copy 
performAction.jar to the same directory where you have the webtest.jar.
We are using webtest build 362. 

Stefan, Chris 


--=_0_27443_1063785741
Content-Disposition: attachment; filename=performaction.zip
Content-Type: application/zip; name=performaction.zip
Content-Transfer-Encoding: base64

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

--=_0_27443_1063785741--