def runCases(): reader = Reader() writer = Writer() http = HTTP(writer) reader.open_excle('../lib/cases/HTTP接口用例.xls') writer.copy_open('../lib/cases/HTTP接口用例.xls', '../lib/results/result-HTTP接口用例.xls') sheetname = writer.get_sheets() sheetname = reader.get_sheets() for sheet in sheetname: # 设置当前读写都是当前sheet页面 reader.set_sheet(sheet) writer.set_sheet(sheet) # 默认都写在第7列 writer.clo = 7 # 遍历读取所有的sheet页面的内容 for i in range(reader.rows): line = reader.readine() # 如果第一列或者第二列有内容,就是分组信息,不运行 if len(line[0]) > 0 or len(line[1]) > 0: pass else: print(line) writer.row = i func = getfunc(line, http) lenargs = getargs(func) run(func, lenargs, line) writer.save_close()
def runCases(): global casepath, resultpath reader = Reader() writer = Writer() web = Web(writer) reader.open_excel(casepath) # 第一行 reader.readline() # 第二行 line = reader.readline() runtype = line[1] print(runtype) if runtype == 'WEB': obj = Web(writer) # if runtype == 'APP': # obj = APP(writer) if runtype == 'HTTP': obj = HTTP(writer) if runtype == 'SOAP': obj = SOAP(writer) writer.copy_open(casepath, resultpath) sheetname = reader.get_sheets() writer.set_sheet(sheetname[0]) writer.write(1, 3, str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) for sheet in sheetname: # 设置当前读写的sheet页面 reader.set_sheet(sheet) writer.set_sheet(sheet) # 默认写第7列 writer.clo = 7 for i in range(reader.rows): line = reader.readline() # 如果第一列或者第二列有内容,就是分组信息,不运行 if len(line[0]) > 0 or len(line[1]) > 0: pass else: logger.info(line) writer.row = i func = geffunc(line, obj) lenargs = getargs(func) run(func, lenargs, line) writer.set_sheet(sheetname[0]) writer.write(1, 4, str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) writer.save_close()
def runCase(): global casepath, resultpath r = Reader() w = Writer() r.open_excel(casepath) #打开表,默认为第一个sheet w.copy_open(casepath, resultpath) sheetname = r.get_sheets() #根据表格的配置,创建不同的对象,例如表中第2行第2个字段为WEB,即创建WEB()对象 way = r.getparameter('1', '1') if way == 'APP': obj = APP(None) elif way == 'HTTP': obj = HTTP(w) elif way == 'SOAP': obj = SOAP(w) elif way == 'WEB': obj = WEB() w.set_sheet(sheetname[0]) w.write(2, 3, str( datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) # StartTime for sheet in sheetname: #设置读写都是当前的sheet页面 r.set_sheet(sheet) w.set_sheet(sheet) w.clo = 7 #写入的列数以固定,所以设置列数为第8列,!第一列为0 for i in range(r.rows): line = r.readline() w.row = i #读到第几行就写入第几行 print(line) if len(line[0]) > 0 or len(line[1]) > 0: continue else: # 接口类型设置2 func = get_func(obj, line) L = get_args(func) run(func, L, line) w.set_sheet(sheetname[0]) w.write(2, 4, str( datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) #EndTime w.save_close()
http = HTTP(writer) elif line[1] == 'SOAP': http = SOAP(writer) elif line[1] == 'REST': http = REST(writer) elif line[1] == 'WEB': http = WEB(writer) else: http = APP(writer) for sheet in sheetname: # 设置当前读取的sheet页面 reader.set_sheet(sheet) writer.set_sheet(sheet) writer.clo = 7 for i in range(reader.rows): writer.row = i line = reader.readline() logger.info(line) try: runCases(http, line) except Exception as e: # pass logger.exception(e) writer.set_sheet(sheetname[0]) # 获取结束时间 t = str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 设置shet页 # 写入结果文件 writer.write(1, 4, t)