[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