• python 自动化测试HTTP接口


    获取请求code,并把请求结果进行对比写到excel里,效率低一些,但是可以执行并有效的验证。此python脚本是自己瞎琢磨而成,有同事的优化帮忙,只是记录一下成果。代码如下

    #-*- coding: utf-8 -*-
    
    import httplib2,xlrd,xlwt,time,json
    from xlutils.copy import copy
    
    def Time():
        tim=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
        return tim
    
    print "test begin: "+Time()
    #开始时间
    
    oldwb=xlrd.open_workbook(r'url.xls')
    oldsh = oldwb.sheet_by_index(0)
    nrows=oldsh.nrows
    newwb=copy(oldwb)
    newsh=newwb.get_sheet(0)
    #第一次调用xlrd,xlwt
    
    def GetHttpStatus(url):
        try:
            conn= httplib2.Http(disable_ssl_certificate_validation=True)
            Start=time.time()
            req=conn.request(url)
            End=time.time()
            diff= End-Start
            return req[0],diff
        except Exception as err:
            return(err,diff)
    #https请求方法,请求时间
    
    
    for i in range(1,nrows):
        url1=oldsh.cell_value(i,1)
        url=url1
        status=GetHttpStatus(url)[0]['status']
        reqtime=GetHttpStatus(url)[1]
        newsh.write(i,2,status)
        newsh.write(i,5,Time())
        newsh.write(i,6,reqtime)
        if reqtime < 1.0:
            newsh.write(i,7,'Normal')
        else:
            newsh.write(i,7,'Timeout')
        AC_reusult=oldsh.cell(i,2).value
        EX_reusult=oldsh.cell(i,3).value
        if AC_reusult == EX_reusult:
            newsh.write(i,4,"PASS")
        else:
            newsh.write(i,4,"FAIL")
    newwb.save('url.xls')
    #将复制过的数据保存在newurl.xls
    
    
    print "test over: "+Time()
    #结束时间
        
    

     

  • 相关阅读:
    Jquery日历插件e-calendar升级版
    jquery双击事件(dblclick)时,不触发单击事件(click)
    js实现的点击div区域外隐藏div区域
    IE浏览器new Date()带参返回NaN解决方法
    RequireJs中使用layer的问题
    AngularJs规范
    js调用Angular的方法
    游标cursor
    bigint数据类型
    ANSI_NULLS和QUOTED_IDENTIFIER
  • 原文地址:https://www.cnblogs.com/BUGU/p/4253221.html
Copyright © 2020-2023  润新知