# python combine.py {number of threads}
# Make
sure path is
set to point to your python install directory on windows. This is probably already done for you on Linux
import os,sys,
timedef
trimLast(x):
return x[:len(x)-1]
def generateReport(threadLimit,outputLoc):
dir = {}
header = None
for i in range(0,threadLimit):
print "run" + str(i) + os.sep + "ClipUdpLoadTest-
statistics.txt"
f = open(outputLoc+os.sep+"run" + str(i) + os.sep + "ClipUdpLoadTest-statistics.txt","r")
if(header == None):
header = trimLast(f.readline())
for j in f:
j = trimLast(j)
k = j.
split(',')
if k[0] not in dir:
dir[k[0]] = []
dir[k[0]].append(j)
f.close()
for i,j in dir.items():
f = open(outputLoc+os.sep+str(i) + "_output.csv","w")
f.
write(header + "\n")
for k in j:
f.write(k)
f.write("\n")
f.close()
def runTest(threadNo,testSuite,testCase,loadTest,soapDir,outputloc, properties_
file,projectPath):
#runTest(threads,testSuite,testCase,loadTest,initRet[0],initRet[1], properties_file)
dirCase = lambda x: outputloc+os.sep+'run'+str(x)
for i in range(0,threadNo):
os.system('
rmdir.html' target='_blank'>
rmdir /S /Q ' + dirCase(i))
os.system('
mkdir ' + dirCase(i))
# cmd = 'start /b cmd.
exe /C ' + soapDir + ' -s"Editing Suite" -cClipUdp -lClipUdpLoadTest -r -frun'+str(i)+' ".'+os.sep+'SoapUI Load Test Report'+os.sep+'AWADFlexPOC-soapui-project.xml"'
# cmd = 'start /b cmd.exe /C ' + soapDir + ' -s"' + testSuite + '" -c"' + testCase + '" -l"' + loadTest + '" -G"testProperties=.'+os.sep+'SoapUI Load Test Report'+os.sep+ properties_file + '" -r -f'+dirCase(i)+' ".'+os.sep+'SoapUI Load Test Report'+os.sep+'AWADFlexPOC-soapui-project.xml"'
# cmdstrTMP='''start /b cmd.exe /C loadtestrunner.bat -s"Editing Suite" -cClipUdp -lClipUdpLoadTest -r -frun1
# -GprojectPath=.\TestProject\ -GtestProperties=.\TestProject\to
mcat.properties ".\TestProject\AWADFlexPOC-soapui-project.xml"
# '''
cmdexe='''
start /b cmd.exe /C %s -s"%s" -c%s -l%s -r -frun%d -GprojectPath=%s -GtestProperties=%s %sAWADFlexPOC-soapui-project.xml
'''
cmd=cmdexe%(soapDir,testSuite,testCase,loadTest,i, projectPath,properties_file,projectPath)
print cmd
os.system(str(cmd))
def parseInitFile():
ret = []
f = open("combine.ini","r")
ret.append(trimLast(f.readline()).split('=')[1])
ret.append(trimLast(f.readline()).split('=')[1])
f.close()
return ret
if __name__ == "__main__":
# 1 "Editing Suite" ClipUdp ClipUdpLoadTest 120 tom
cat.properties "C:\flexAWADIndigo2\awad_indigo\awad\gis\soapUITestCase\TestProject\\"
#python combine.py 1 "Editing Suite" ClipUdp ClipUdpLoadTest 60 tomcat.properties "C:\\flexAWADIndigo2\\awad_indigo\\awad\\gis\\soapUITestCase\\TestProject\\\\"
if len(sys.argv) < 7:
print "python combine.py (#_of_threads) (test_suite) (test_case) (load_test) (wait_time) (properties_file)(projectPath)"
sys.exit(0)
initRet = parseInitFile()
threads = int(sys.argv[1])
testSuite = sys.argv[2]
testCase = sys.argv[3]
loadTest = sys.argv[4]
timelimit = int(sys.argv[5])
properties_file = sys.argv[6]
projectPath = sys.argv[7]
runTest(threads,testSuite,testCase,loadTest,initRet[0],initRet[1], properties_file,projectPath)
time.
sleep(timelimit)
print "start generate report..."
generateReport(threads,initRet[1])
print 'load test done.'
print