Hi all,
     I made some potentially troublesome changes.  In order to make an 
Assertion model, I needed Controllers to act more consistently.  To that end, 
I created two types of controllers - logical and generative.  Logical 
controllers simply change the behavior of the test.  Generative controllers 
generate test samples.  

Previously, you could create a Web Test controller and add many UrlConfigs to 
it to create multiple test samples.  This, in effect, was like saying 
UrlConfigs, which are ConfigElements, could create test samples.  I've 
changed it so that this does not happen anymore - every individual test 
sample must be represented by a Web Test controller.

The benefits are:
1. Easier to code controllers since there more common code that now lives in 
parent classes (AbstractGenerativeController, and LogicController).
2. Assertions can be added at one point, consistently (ie, to a Controller - 
no need for a special case dealing with UrlConfig elements).
3. It's not any harder to create tests - it's a one-to-one replacement of Web 
Test controllers for UrlConfigs.
4. Tangentially, making an image-retrieving UrlConfig or a Multipart-form Url 
now is only a matter of clicking on a checkbox

The disadvantage is:
1. If you have previous test saved, they can be loaded into JMeter, but 
JMeter will no ignore all those UrlConfigs that you thought were test 
samples.  To update your old tests, you'll have to convert the base Web Test 
controller into a LogicController (and add a UrlConfig representing the 
common data you had put into the Web Test's default Url), and then convert 
each UrlConfig into a WebTest controller with the same data.

Manually, this would be a pain.  I'd like to make some more automated way of 
converting old test plans into the new version.  I think the best place to do 
it would be at the loading stage (when the XML is being parsed, or 
immediately following the parsing).

Also, on another note, does everyone really like all the log4j debug 
statements?  To be honest, they seem to mostly obfuscate the code - kind of 
like littering your code with comments everywhere.  I have a hard time 
believing that many log statements is really useful (and typically, when I'm 
debugging a problem, I have to add my own print statements anyway, but I take 
them out when I'm done, mostly).

-- 
Mike Stover
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to