[ptt-users] Stress Test data from input file

Thieme.Geoff Geoff.Thieme at we-energies.com
Thu Dec 21 15:39:42 PST 2006


Based off a couple of responses I figured out how to get this working
the way I wanted. Using the code below I'm able to read a new record for
each loop used by an agent.
 
In master.py I added:
def startTestCase( usercount, duration ):
    ''' 
    Instantiate a thread for each virtual user (concurrent request).
    '''
 
    global record, logpath, callback_running, callback_record, running
 
    print "Start test with", usercount, " virtual users for", duration,
"minutes."
 
    agentid = 0
    tr = []
    running = 1
     userdatafile =
open('S:\\d3a\\docs\\TestMakerStressTesting\\xstest\\userdata.tsv', 'r')
     userdatafile.readline()  # Remove header line from input file
 
    for i in range( usercount ):
        print ".",
 
        agentid += 1
        
          testcase = newtestcase()
          testcase.userdata = userdatafile.readline()
        tr = TestRunner( i, duration, usercount, testcase,
callback_running, callback_record )
        tr.start()
    
        waitSeconds( startupdelay )
 
     userdatafile.close()
    print " >start",

 
And in test.py I added:
        userid, passwd, billid = self.userdata.rstrip().split( '\t' , 2
)

 
Thanks for the help guys,
Geoff


________________________________

From: users-bounces at lists.pushtotest.com
[mailto:users-bounces at lists.pushtotest.com] On Behalf Of
Mark.Lutton at thomson.com
Sent: Wednesday, December 20, 2006 8:27 PM
To: users at lists.pushtotest.com
Subject: RE: [ptt-users] Stress Test data from input file


Is the code to open the file in a different module?  Try making userdata
an instance variable:
 
In master.py:
 
test.userdata=open('S:\\d3a\\docs\\TestMakerStressTesting\\xstest\\userd
ata.tsv', 'r') 

in test.py:
  userid, passwd, billid = self.userdata.readline().rstrip().split( '\t'
, 2 ) 

 
Mark Lutton
Business Intelligence Services, a Thomson Business
 


________________________________

From: users-bounces at lists.pushtotest.com on behalf of Thieme.Geoff
Sent: Wed 12/20/2006 6:03 PM
To: TestMaker users list
Subject: [ptt-users] Stress Test data from input file



I'm using TestMaker 4.4. I created an xstest\test.py file that reads
input data from a file. My code works for running just test.py and
getting variable user data from userdata.tsv. Now I'm trying to use
xstest\master.py to create a stress test which will use a different row
of data from my input file for each test.

I tried a couple approaches but neithor worked. When I open the input
file as userdata in master.py, test.py is unable to access the userdata
variable to do a readline().

Any suggests on getting this to work? I found no example scripts which
get test data from input files. 


Working code from test.py: 
... 
    def setUp( self ): 
        ''' Add any needed set-up code here. ''' 

        # Remove header line from input file 
        self.log( 1, "Using the userdata values :%s:" % (
userdata.readline() ) ) 
        
        self.log( 1, "test: setUp" ) 
        self.config() 
        
    def runTest( self ): 
        ''' Run the test ''' 
        self.log( 1, "test: runTest" ) 
        
        # Read data from input files 
        self.log( 1, "Testing with:") 
        
        # Get 3 tab seperated data values, ignore any extra values
listed on that line 
        userid, passwd, billid = userdata.readline().rstrip().split(
'\t' , 2 ) 
        self.log( 1, "userid :%s:" % ( userid ) ) 
        self.log( 1, "passwd :%s:" % ( passwd ) ) 
        self.log( 1, "bill id :%s:" % ( billid ) ) 
... 
    The settings below were found in the Advanced Options panel of the
Recorder. 
    ''' 

    test = test( 1, 'console file ', 1,
'20.|300|301|302|303|304|307|401|403|408|41.', 'log.xml', 0, 1, 1, 1, 1,
'test', 1 )

    # Run test using userdata input file 
    try: 
 
userdata=open('S:\\d3a\\docs\\TestMakerStressTesting\\xstest\\userdata.t
sv', 'r') 
      
      test.setUp() 
      test.runTest() 
      test.tearDown() 
    finally: 
      userdata.close() 


    test.closelog() 
    print "done" 


Thanks for any help,
Geoff 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://cake.pushtotest.com/pipermail/users/attachments/20061221/b0a935b9/attachment-0001.htm


More information about the Users mailing list