Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

run soupUI load test

来源: bochuxt 分享至:
# 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,time

def 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\tomcat.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 tomcat.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

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史