On Thursday 06 June 2002 04:39 am, A. Keyton Weissinger wrote:
> Give it a shot. I am in the midst of a biggie refactor in response to
> Ken's feedback and to add stuff like POP3 test action support and the
> like. I want the thing to be commercial-grade and better so I try
> very diligently to respond quickly to user requests.

Keyton,

Thanks for the thorough review. You might consider putting that on 
your web site for the time being.

I have to admit that I have Purcell's same reaction: I hate XML. My 
hate has at least two sources:

* Syntax. For example, the <double>double</double> tagging of 
everything and boneheaded rules, like <tag foo=4> is considered 
unreadble (gimme a break!).

* Lack of programming. XML is not a programming language, but Python 
is. I'd prefer to work with Python when constructing the test cases. I 
think you can achieve the same declarative nature (by providing a 
framework) while still having full access to the Python language and 
libraries, which are invaluable.


Would you consider a Pythonic approach for Puffin specs? Here's a 
translation from your last example to what I'm thinking. It's probably 
not "right", but you get the idea and could do a better translation 
yourself.

from puffin.Plan import Plan

class MyPlan(Plan):

    def work(self):
        while not self.condition('*'):
            self.makeTask('login', actions=['resetInventory', 'login'])
            for i in range(4):
                self.makeTask('makeDecision', depends='login', actions=[
                   'selectRandomCategory',
                   'getItemLists',
                   'selectItem'])
                while self.value('CURRENT_INVENTORY_COUNT'):
                    self.makeTask('makePurchase',
                       depends='makeDecision',
                       actions=['generateSelectionCount',
                                'addItemToCart',
                                'updateCurrentSelection',
                                'showCart',
                                'getUpdatedInventory'])
            self.makeTask('checkOut', depends='makePurchase')


And if action names never have spaces, then as a convenience, the 
actions= arg could be a string which makeTask() would .split() if 
needed.

I don't even understand all of your approach, but the idea was to 
translate the XML tags to self.foo() calls and use Python for looping 
(and anything else). I could then even pull user names and passwords 
from the database, and loop over those. Something I've done with Python 
and Steve's framework, which I generally like, but still found tedious 
(which to some extent is just the nature of automating tests).

So I'm interested in a higher level approach, but not if I get "cut 
off".


-Chuck

_______________________________________________________________

Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm

_______________________________________________
Webware-discuss mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/webware-discuss

Reply via email to