http接口自动化测试框架实现

发表于:2011-4-25 11:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:张元礼    来源:51Testing软件测试网原创

    def get_ncols(self, iSheet):  
        try:  
            sht = self.book.Worksheets(iSheet)  
            return sht.UsedRange.Columns.Count  
        except:  
            self.close()  
            print('获取ncols失败')  
            exit()  
      
    def del_testrecord(self, suiteid):  
        try:  
            #为提升性能特别从For循环提取出来  
            nrows=self.get_nrows(suiteid)+1 
            ncols=self.get_ncols(suiteid)+1 
            begincol=self.argbegin+self.argcount  
              
            #提升性能  
            sht = self.book.Worksheets(suiteid)  
 
            for row in range(self.casebegin, nrows):  
                for col in range(begincol, ncols):  
                    str=self.read_data(suiteid, row, col)  
                    #清除实际结果[]  
                    startpos = str.find('[')  
                    if startpos>0:  
                        str = str[0:startpos].strip()  
                        self.write_data(suiteid, row, col, str, OK_COLOR)  
                    else:  
                        #提升性能  
                        sht.Cells(row, col).Interior.Color = OK_COLOR  
                #清除TestResul列中的测试结果,设置为NT  
                self.write_data(suiteid, row,  self.argbegin+self.argcount+1, ' ', OK_COLOR)  
                self.write_data(suiteid, row, self.resultCol, 'NT', NT_COLOR)  
        except:  
            self.close()  
            print('清除数据失败')  
            exit()  
 
#执行调用  
def HTTPInvoke(IPPort, url):  
    conn = httplib.HTTPConnection(IPPort)  
    conn.request("GET", url)  
    rsps = conn.getresponse()  
    data = rsps.read()  
    conn.close()  
    return data  
 
#获取用例基本信息[Interface,argcount,[ArgNameList]]  
def get_caseinfo(Data, SuiteID):  
    caseinfolist=[]  
    sInterface=Data.read_data(SuiteID, 1, 2)   
    argcount=int(Data.read_data(SuiteID, 2, 2))   
      
    #获取参数名存入ArgNameList   
    ArgNameList=[]  
    for i in range(0, argcount):  
        ArgNameList.append(Data.read_data(SuiteID, Data.titleindex, Data.argbegin+i))    
      
    caseinfolist.append(sInterface)  
    caseinfolist.append(argcount)  
    caseinfolist.append(ArgNameList)  
    return caseinfolist

#获取输入  
def get_input(Data, SuiteID, CaseID, caseinfolist):  
    sArge='' 
    #参数组合  
    for j in range(0, caseinfolist[1]):  
        if Data.read_data(SuiteID, Data.casebegin+CaseID, Data.argbegin+j) != "None":  
            sArge=sArge+caseinfolist[2][j]+'='+Data.read_data(SuiteID, Data.casebegin+CaseID, Data.argbegin+j)+'&'   
      
    #去掉结尾的&字符  
    if sArge[-1:]=='&':  
        sArge = sArge[0:-1]     
    sInput=caseinfolist[0]+sArge    #组合全部参数  
    return sInput

  1. #结果判断    
  2. def assert_result(sReal, sExpect):   
  3.     sReal=str(sReal)   
  4.     sExpect=str(sExpect)   
  5.     if sReal==sExpect:   
  6.         return 'OK'  
  7.     else:   
  8.         return 'NG'
42/4<1234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • frankwangzy1103
    2011-4-26 17:06:24

    为什么要种excel这种不标准的东西吗?

  • sudawei686
    2011-4-25 17:23:50

    good 拿去研究。

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号