class GetData: def __init__(self): self.oper_excel = OperationExcel() # 去获取excel行数,就是case个数 def get_case_lines(self): return self.oper_excel.get_lines() # 获取是否执行 def get_is_run(self, row): flag = None col = int(data_config.get_run()) # 获取Excel表的第四列数据 run_model = self.oper_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag # 获取请求方式 def get_request_method(self, row): col = int(data_config.get_request_way()) request_method = self.oper_excel.get_cell_value(row, col) return request_method # 获取url def get_request_url(self, row): col = int(data_config.get_url()) url = self.oper_excel.get_cell_value(row, col) return url # 获取请求头header def get_request_header(self, row): col = int(data_config.get_header()) data = self.oper_excel.get_cell_value(row, col) if data == '': return None else: return data # 通过获取头关键字拿到data数据 def get_header_value(self, row): oper_json = OperationJson('../dataconfig/request_header.json') request_header = oper_json.get_data(self.get_request_header(row)) return request_header # 获取请求数据 def get_request_data(self, row): col = int(data_config.get_data()) data = self.oper_excel.get_cell_value(row, col) if data == '': return None return data # 通过获取请求关键字拿到data数据 def get_data_value(self, row): oper_json = OperationJson('../dataconfig/request_data.json') request_data = oper_json.get_data(self.get_request_data(row)) return request_data # 获取预期结果 def get_expect_data(self, row): col = int(data_config.get_expect()) expect = self.oper_excel.get_cell_value(row, col) return expect # 写入数据 def write_result(self, row, value): col = int(data_config.get_result()) self.oper_excel.write_value(row, col, value) # 获取依赖数据的key def get_depend_key(self, row): col = int(data_config.get_data_depend()) depend_key = self.oper_excel.get_cell_value(row, col) if depend_key == '': return None else: return depend_key # 判断是否有case依赖 def is_depend(self, row): col = int(data_config.get_case_depend()) depend_case_id = self.oper_excel.get_cell_value(row, col) if depend_case_id == '': return None else: return depend_case_id # 获取请求依赖字段 def get_depend_field(self, row): col = int(data_config.get_field_depend()) data = self.oper_excel.get_cell_value(row, col) if data == '': return None else: return data
def __init__(self, case_id): self.case_id = case_id self.opera_excel = OperationExcel() self.data = GetData()
def __init__(self): self.opera_excel = OperationExcel()
class GetData: def __init__(self, json_file, sheet_name): self.operation_excel = OperationExcel(sheet_name) self.json_file = json_file #获取excel行数 def get_case_line(self): return self.operation_excel.get_lines() #获取模块 def get_model(self, row): col = int(data_config.get_module()) return self.operation_excel.get_cell_value(row, col) #获取是否执行 def get_is_run(self, row): flag = None col = int(data_config.get_run()) run_model = self.operation_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag #获取是否携带header def get_header(self, row): col = int(data_config.get_header()) header = self.operation_excel.get_cell_value(row, col) if header == 'yes': return data_config.get_header_value() else: return None #获取携带token的header def get_token_header(self, row, token_value): col = int(data_config.get_header()) header = self.operation_excel.get_cell_value(row, col) if header == 'yes': return data_config.get_token_header_value(token_value) else: return None #获取请求类型 def get_request_type(self, row): col = int(data_config.get_request_type()) return self.operation_excel.get_cell_value(row, col) #获取url def get_url(self, row): col = int(data_config.get_url()) return self.operation_excel.get_cell_value(row, col) #获取请求参数 def get_parameter(self, row): col = int(data_config.get_parameter()) data = self.operation_excel.get_cell_value(row, col) if data == '': return None return data #通过关键字拿到data数据 def get_data_for_json(self, row): oper_json = OperationJson(self.json_file) data_json = oper_json.get_data(self.get_parameter(row)) return data_json #获取预期结果 def get_except(self, row): col = int(data_config.get_except()) except_data = self.operation_excel.get_cell_value(row, col) if except_data == '': return None return except_data #写入实际结果 def write_result(self, row, value, sheet_id): col = int(data_config.get_result()) self.operation_excel.write_value(row, col, value, sheet_id) #写入实际返回结果 def write_response(self, row, value, sheet_id): col = int(data_config.get_response()) self.operation_excel.write_value(row, col, value, sheet_id) #获取依赖的返回数据 def get_dependent_data(self, row, index): col = int(data_config.get_data_dependent()) #dependent_data = self.operation_excel.get_cell_value(row, col) dependent_data = self.operation_excel.get_cell_value_more( row, col, index) if dependent_data == '': return None return dependent_data #判断是否存在依赖case def is_depend(self, row): col = int(data_config.get_case_dependent()) dependent_case_id = self.operation_excel.get_cell_value(row, col) if dependent_case_id == '': return None return dependent_case_id # 判断是否存在2个依赖case def is_more_depend(self, row, index=None): col = int(data_config.get_case_dependent()) dependent_case_value = self.operation_excel.get_cell_value_more( row, col, index) if dependent_case_value == '': return None if ',' in dependent_case_value: dependent_case_id = dependent_case_value.split(',', 1)[index] return dependent_case_id else: return dependent_case_value # 获取依赖的字段 def get_dependent_key(self, row, index=None): col = int(data_config.get_key_dependent()) dependent_key = self.operation_excel.get_cell_value(row, col) if dependent_key == '': return None if ',' in dependent_key: dependent_key_id = dependent_key.split(',')[index] return dependent_key_id else: return dependent_key
class GetData: def __init__(self): self.opera_excel = OperationExcel() #去获取excel行数,就是我们的case个数 def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 def get_is_run(self, row): flag = None col = int(data_config.get_run()) run_model = self.opera_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag #是否携带header def is_header(self, row): col = int(data_config.get_header()) header = self.opera_excel.get_cell_value(row, col) if header != '': return header else: return None #获取请求方式 def get_request_method(self, row): col = int(data_config.get_run_way()) request_method = self.opera_excel.get_cell_value(row, col) return request_method #获取url def get_request_url(self, row): col = int(data_config.get_url()) url = self.opera_excel.get_cell_value(row, col) return url #获取请求数据 def get_request_data(self, row): col = int(data_config.get_data()) data = self.opera_excel.get_cell_value(row, col) if data == '': return None return data #通过获取关键字拿到data数据 def get_data_for_json(self, row): opera_json = OperetionJson() request_data = opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_expcet_data(self, row): col = int(data_config.get_expect()) expect = self.opera_excel.get_cell_value(row, col) if expect == '': return None return expect #通过sql获取预期结果 # def get_expcet_data_for_mysql(self,row): # op_mysql = OperationMysql() # sql = self.get_expcet_data(row) # res = op_mysql.search_one(sql) # return res.decode('unicode-escape') def write_result(self, row, value): col = int(data_config.get_result()) self.opera_excel.write_value(row, col, value) #获取依赖数据的key def get_depend_key(self, row): col = int(data_config.get_data_depend()) depent_key = self.opera_excel.get_cell_value(row, col) if depent_key == "": return None else: return depent_key #判断是否有case依赖 def is_depend(self, row): col = int(data_config.get_case_depend()) depend_case_id = self.opera_excel.get_cell_value(row, col) if depend_case_id == "": return None else: return depend_case_id #获取数据依赖字段 def get_depend_field(self, row): col = int(data_config.get_field_depend()) data = self.opera_excel.get_cell_value(row, col) if data == "": return None else: return data
class GetData: '''获取excel的数据值''' def __init__(self): self.oper_excel = OperationExcel() def get_case_lines(self): ''' 获取excel行数,即案例个数 ''' return self.oper_excel.get_lines() def get_is_run(self, row): ''' 获取是否允许 ''' flag = None col = data.data_config.get_run() run_model = self.oper_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag def is_header(self, row): ''' 获取是否有header ''' col = data.data_config.get_header() header = self.oper_excel.get_cell_value(row, col) ''' if header == 'yes' : return data.data_config.get_header_value() else: return None ''' if header == 'yes' or 'write': return header else: return None def get_request_method(self, row): ''' 获取请求方式 ''' col = data.data_config.get_request_way() request_method = self.oper_excel.get_cell_value(row, col) return request_method def get_request_url(self, row): col = data.data_config.get_url() url = self.oper_excel.get_cell_value(row, col) return url def get_request_data(self, row): col = data.data_config.get_data() request_data = self.oper_excel.get_cell_value(row, col) if request_data == '': return None else: return request_data def get_data_from_json(self, row): data_from_json = self.get_request_data(row) request_data = OperationJson().get_data(data_from_json) return request_data def get_expect_data(self, row): col = data.data_config.get_expect() expect_data = self.oper_excel.get_cell_value(row, col) if expect_data == '': return None else: return expect_data def get_expect_data_for_mysql(self, row): sql = self.get_expect_data(row) if sql[:6] == 'select': res = OperationMysql().search_one(sql) expect_type = 'sql' else: res = sql expect_type = 'notsql' return res, expect_type def write_result(self, row, value): col = data.data_config.get_result() self.oper_excel.write_value(row, col, value) def get_depend_key(self, row): col = data.data_config.get_data_depend() depend_key = self.oper_excel.get_cell_value(row, col) if depend_key == '': return None else: return depend_key def get_field_depend_value(self, row): col = data.data_config.get_field_depend() field_depend_value = self.oper_excel.get_cell_value(row, col) if field_depend_value == '': return None else: return field_depend_value def get_case_depend_value(self, row): col = data.data_config.get_case_depend() get_case_depend_value = self.oper_excel.get_cell_value(row, col) if get_case_depend_value == '': return None else: return get_case_depend_value
def __init__(self, case_id): self.case_id = case_id self.opera_excel = OperationExcel() self.data = GetData() self.run_method = RunMethod()
def __init__(self, sheet_id, case_id): self.case_id = case_id self.sheet_id = sheet_id self.opera_excel = OperationExcel(self.sheet_id) self.data = GetData(self.sheet_id)
def __init__(self,file_name=None,sheet_id=None): self.file_name = file_name self.sheet_id = sheet_id self.opera_excel = OperationExcel(self.file_name,self.sheet_id) #实例化
def __init__(self, case_id): self.case_id = case_id self.opera_excel = OperationExcel(1, 'config/test_case.xls') self.data = GetData()
def __init__(self, case_id): self.case_id = case_id self.opera_excel = OperationExcel() self.data = GetData() case_value[case_id] = {} #先创建空的字典之后存{caseid:{id1:1}}
class GetData: def __init__(self): self.opera_excel = OperationExcel() # 类的实例化对象 方法 #去获取excel行数,就是我们的case个数 def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 def get_is_run(self,row): flag = None col = int(get_run()) run_model = self.opera_excel.get_cell_value(row,col) if run_model == 'yes': flag = True else: flag = False return flag #是否携带header def is_header(self,row): col = int(get_header()) header = self.opera_excel.get_cell_value(row,col) # print(type(header)) if header != '': #判断是否不为空 return eval(header) #!!!!将取出来的str-dict else: return None #获取请求方式 def get_request_method(self,row): col = int(get_run_way()) request_method = self.opera_excel.get_cell_value(row,col) return request_method #获取url def get_request_url(self,row): col = int(get_url()) url = self.opera_excel.get_cell_value(row,col) return url #获取请求数据 def get_request_data(self,row): col = int(get_data()) data = self.opera_excel.get_cell_value(row,col) if data == '': return None return data #通过获取关键字拿到data数据 def get_data_for_json(self,row): opera_json = Operationjson() request_data =opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_expcet_data(self,row): col = int(get_expect()) expect = self.opera_excel.get_cell_value(row,col) if expect == '': return None return expect # 获取的预期结果为str格式 #写入实际结果 def write_result(self,row,value): col =int(get_result()) result =self.opera_excel.write_value(row,col,value) return result #获取依赖数据的key def get_depend_key(self,row): col=int(get_data_depend()) depent_key=self.opera_excel.get_cell_value(row,col) if depent_key =='': return None else: return depent_key def is_case_depend(self,row): pass # a=GetData() # b=a.get_expcet_data(3) # print(b) # print(type(b))
class GetData: def __init__(self): self.opera_excel = OperationExcel() #此处构造函数没有实例化json因为不是所有的都要用到,但是放这也可以 #去获取excel行数,就是我们的case个数 def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 def get_is_run(self,row): flag = None col = int(data_config.get_run()) run_model = self.opera_excel.get_cell_value(row,col) if run_model == 'yes': flag = True else: flag = False return flag #是否携带header def is_header(self,row): col = int(data_config.get_header()) header = self.opera_excel.get_cell_value(row,col) if header != '': return header else: return None #获取请求方式 def get_request_method(self,row): col = int(data_config.get_run_way()) request_method = self.opera_excel.get_cell_value(row,col) return request_method #获取url def get_request_url(self,row): col = int(data_config.get_url()) url = self.opera_excel.get_cell_value(row,col) return url #获取请求数据 def get_request_data(self,row): col = int(data_config.get_data()) data = self.opera_excel.get_cell_value(row,col) if data == '': return None return data #通过获取关键字拿到data数据 def get_data_for_json(self,row): opera_json = OperetionJson() request_data = opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_expcet_data(self,row): col = int(data_config.get_expect()) expect = self.opera_excel.get_cell_value(row,col) if expect == '': return None return expect
def __init__(self): self.op_excel = OperationExcel() self.op_json = OperationJson()
def __init__(self, file_name=None, sheet_id=None): self.oper_excel = OperationExcel(file_name, sheet_id)
class GetData: def __init__(self,file_name=None,sheet_id=None): self.file_name = file_name self.sheet_id = sheet_id self.opera_excel = OperationExcel(self.file_name,self.sheet_id) #实例化 #去获取excel行数,就是我们的case个数 def get_case_lines(self): return self.opera_excel.get_lines() # 获取brandname def get_brandname(self,row): col = int(get_brandname()) #获取brandname所在的列数 brandname = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return brandname #获取email def get_email(self,row): col = int(get_email()) #获取email所在的列数 email = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return email #获取contactnumber def get_contactnumber(self,row): col = int(get_contactnumber()) #获取contactnumber所在的列数 contactnumber = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return contactnumber #获取merchanttype def get_merchanttype(self,row): col = int(get_merchanttype()) #获取merchanttype所在的列数 merchanttype = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return merchanttype #获取category def get_category(self,row): col = int(get_category()) #获取category所在的列数 category = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return category #获取criteria def get_criteria(self,row): col = int(get_criteria()) #获取criteria所在的列数 criteria = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return criteria #获取siup def get_siup(self,row): col = int(get_siup()) #获取siup所在的列数 siup = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return siup #获取province def get_province(self,row): col = int(get_province()) #获取province所在的列数 province = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return province #获取city def get_city(self,row): col = int(get_city()) #获取city所在的列数 city = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return city #获取district def get_district(self,row): col = int(get_district()) #获取district所在的列数 district = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return district #获取village def get_village(self,row): col = int(get_village()) #获取village所在的列数 village = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return village #获取postcode def get_postcode(self,row): col = int(get_postcode()) #获取postcode所在的列数 postcode = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return postcode #获取address def get_address(self,row): col = int(get_address()) #获取address所在的列数 address = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return address #获取company def get_company(self,row): col = int(get_company()) #获取company所在的列数 company = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return company #获取npwptaxid def get_npwptaxid(self,row): col = int(get_npwptaxid()) #获取npwptaxid所在的列数 npwptaxid = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return npwptaxid #获取officialwebsite def get_officialwebsite(self,row): col = int(get_officialwebsite()) #获取officialwebsite所在的列数 officialwebsite = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return officialwebsite #获取photosiup def get_photosiup(self,row): col = int(get_photosiup()) #获取photosiup所在的列数 photosiup = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return photosiup #获取photonpwpcompany def get_photonpwpcompany(self,row): col = int(get_photonpwpcompany()) #获取photonpwpcompany所在的列数 photonpwpcompany = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return photonpwpcompany #获取phototdp def get_phototdp(self,row): col = int(get_phototdp()) #获取phototdp所在的列数 phototdp = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return phototdp #获取name def get_name(self,row): col = int(get_name()) #获取name所在的列数 name = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return name #获取typeid def get_typeid(self,row): col = int(get_typeid()) #获取typeid所在的列数 typeid = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return typeid #获取identitynumber def get_identitynumber(self,row): col = int(get_identitynumber()) #获取identitynumber所在的列数 identitynumber = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return identitynumber #获取npwp def get_npwp(self,row): col = int(get_npwp()) #获取npwp所在的列数 npwp = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return npwp #获取addresstwo def get_addresstwo(self,row): col = int(get_addresstwo()) #获取addresstwo所在的列数 addresstwo = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return addresstwo #获取nationality def get_nationality(self,row): col = int(get_nationality()) #获取nationality所在的列数 nationality = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return nationality #获取position def get_position(self,row): col = int(get_position()) #获取position所在的列数 position = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return position #获取phone def get_phone(self,row): col = int(get_phone()) #获取phone所在的列数 phone = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return phone #获取emailtwo def get_emailtwo(self,row): col = int(get_emailtwo()) #获取emailtwo所在的列数 emailtwo = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return emailtwo #获取photofullfacebust def get_photofullfacebust(self,row): col = int(get_photofullfacebust()) #获取photofullfacebust所在的列数 photofullfacebust = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return photofullfacebust #获取locationphoto def get_locationphoto(self,row): col = int(get_locationphoto()) #获取locationphoto所在的列数 locationphoto = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return locationphoto #获取photoofthecashiersdesk def get_photoofthecashiersdesk(self,row): col = int(get_photoofthecashiersdesk()) #获取photoofthecashiersdesk所在的列数 photoofthecashiersdesk = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return photoofthecashiersdesk #获取otherphoto def get_otherphoto(self,row): col = int(get_otherphoto()) #获取otherphoto所在的列数 otherphoto = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return otherphoto #获取bank def get_bank(self,row): col = int(get_bank()) #获取bank所在的列数 bank = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return bank #获取accountname def get_accountname(self,row): col = int(get_accountname()) #获取accountname所在的列数 accountname = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return accountname #获取accountnumber def get_accountnumber(self,row): col = int(get_accountnumber()) #获取accountnumber所在的列数 accountnumber = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return accountnumber #获取qrindoamount def get_qrindoamount(self,row): col = int(get_qrindoamount()) #获取accountnumber所在的列数 qrindoamount = self.opera_excel.get_cell_value(row, col) #获取指定单元格的内容 return qrindoamount
class GetData: # 构造函数把 OperationExcel 拿进来 def __init__(self): self.opera_excel=OperationExcel() #添加以后才能操作OperationExcel里边的数据, #因为后边的数据基本都需要从这里边调用,所以先进行初始化。 # 去获取Excel行数,就是我们的case个数 跟Excel里边的方法没有任何区别, # 但是老师还封装了一遍 555~~~ def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 返回True 和 False def get_is_run(self,row): flag = None col=int(data_config.get_run()) run_model=self.opera_excel.get_cell_value(row,col) if run_model=='yes': flag=True else: flag=False return flag #是否携带header def is_header(self,row): col=int(data_config.get_header()) #转换字符串为整数型 header=self.opera_excel.get_cell_value(row,col) if header=='yes': return data_config.get_header_value() #读取真实的header else: return None #获取请求方式 def get_request_method(self,row): col=int(data_config.get_run_way()) request_method =self.opera_excel.get_cell_value(row,col) return request_method #获取URL def get_request_url(self,row): col=int(data_config.get_url()) url=self.opera_excel.get_cell_value(row,col) return url #获取请求数据 def get_request_data(self,row): col=int(data_config.get_data()) data=self.opera_excel.get_cell_value(row,col) if data=='': return None return data #通过获取关键字拿到data数据,需要跟上边的data结合起来 #调用上边返回的data 后续调用这个方法即可, #上边的方法算是到json文件的一个过渡 def get_data_for_json(self,row): opera_json=OperationJson() #也可以在构造函数里边实例化 request_data=opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_expect_data(self,row): col=int(data_config.get_expect()) expect=self.opera_excel.get_cell_value(row,col) if expect == '': return None return expect # 写入数据 所有列相关的数据都在这里边,行相关的数据是不固定的,需要在主函数中确定 def write_result(self,row,value): col = int(data_config.get_result()) self.opera_excel.write_value(row,col,value) #获取依赖数据的key def get_depend_key(self,row): col = int(data.config.get_data_depend()) depent_key = self.opera_excel.get_cell_value(row,col) if depent_key == "": return None else: return depent_key #判断时候有case依赖 def is_depend(self,row): col = int(data_config.get_filed_depend()) depend_case_id = self.opera_excel.get_cell_value(row,col) if depend_case_id == "": return None else: return depend_case_id #获取数据依赖字段 def get_depend_filed(self,row): col = int(data_config.get_filed_depend()) data = self.opera_excel.get_cell_value(row,col) if data == "": return None else: return data
class GetData: def __init__(self): self.oprera_excel = OperationExcel() def get_case_lines(self): return self.oprera_excel.get_lines() #获取是否执行 def get_is_run(self, row): flag = None col = int(data_config.get_run()) run_model = self.oprera_excel.get_cell_value(row, col) if run_model == "yes": flag = True else: flag = False return flag #是否携带header def is_header(self, row): col = int(data_config.get_header()) header = self.oprera_excel.get_cell_value(row, col) if header != "": return header else: return None #获取请求方式 def get_request_method(self, row): col = int(data_config.get_run_way()) request_method = self.oprera_excel.get_cell_value(row, col) return request_method #获取url def get_request_url(self, row): col = int(data_config.get_url()) request_url = self.oprera_excel.get_cell_value(row, col) return request_url #获取exclee请求json关键字数据 def get_request_data(self, row): col = int(data_config.get_data()) requests_data = self.oprera_excel.get_cell_value(row, col) if requests_data == "": return None return requests_data #获取请求头 header关键字 def get_header_data(self, row): col = int(data_config.get_header()) data = self.oprera_excel.get_cell_value(row, col) return data #通过json关键字 拿到json里面data数据 def get_data_for_json(self, row): opera_json = OperationJson() #str = self.get_request_data(row) request_data = opera_json.get_data(self.get_request_data(row)) return request_data #通过 json文件拿到 header、数据 def get_data_header_json(self, row): opera_json = OperationJson() #str = self.get_request_data(row) header_data = opera_json.get_data(self.get_header_data(row)) return header_data #获取预期结果 def get_expect_data(self, row): col = int(data_config.get_expect()) expect = self.oprera_excel.get_cell_value(row, col) if expect == "": return None return expect def get_expcect_data_for_mysql(self, row): #通过sql过去预期结果 op_mysql = OperationMysql() sql = self.get_expect_data(row) res = op_mysql.serch_one(sql) return res.decode('unicode-escape') #写入数据 def write_value(self, row, value): col = int(data_config.get_result()) self.oprera_excel.write_value(row, col, value) def get_depend_key(self, row): #获取依赖数据的values col = int(data_config.get_data_depend()) depend_key = self.oprera_excel.get_cell_value(row, col) if depend_key == "": return None else: return depend_key def is_depend(self, row): #获取依赖的caseID 并判断是否有依赖的case col = int(data_config.get_case_depend()) depend_case_id = self.oprera_excel.get_cell_value(row, col) if depend_case_id == "": return None else: return depend_case_id def get_depend_field(self, row): col = int(data_config.get_field_depend()) #获取 依赖的返回数据 的字段 depend_field = self.oprera_excel.get_cell_value(row, col) if depend_field == "": return None else: return depend_field
def __init__(self, case_id, sheet_name, json_file): self.oper_excel = OperationExcel(sheet_name) self.util = CommonUtil() self.case_id = case_id self.data = GetData(json_file, sheet_name)
def __init__(self, caseid): self.opera_excel = OperationExcel('../case/case2.xlsx', 'Sheet1') self.caseid = caseid self.data = GetData()
def global_dependent_data(): """ 获取依赖的数据 """ return Excel_col.dependent_data def global_dependent_field(): """ 获取依赖数据的字段 """ return Excel_col.dependent_field def global_data(): """ 依赖数据所属字段 """ return Excel_col.data def global_expected_result(): """ 获取预期结果 """ return Excel_col.expected_result def global_actual_result(): """ 获取实际结果 """ return Excel_col.actual_result if __name__ == '__main__': operation = OperationExcel() url = operation.get_cell_value(1, global_url()) is_run = operation.get_cell_value(1, global_is_run()) print(is_run)
class GetData: """获取excel数据""" def __init__(self): self.opera_excel = OperationExcel() def get_case_lines(self): """获取excel行数,即case的个数""" return self.opera_excel.get_lines() def get_is_run(self, row): """获取是否执行""" flag = None col = int(data_config.get_run()) run_model = self.opera_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag def is_headers(self, row): """ 是否携带header :param row: 行号 :return: """ col = int(data_config.get_headers()) header = self.opera_excel.get_cell_value(row, col) if header != '': return header else: return None def get_request_method(self, row): """ 获取请求方式 :param row: 行号 :return: """ # col 列 col = int(data_config.get_run_way()) request_method = self.opera_excel.get_cell_value(row, col) return request_method def get_request_url(self, row): """ 获取url :param row: 行号 :return: """ col = int(data_config.get_url()) url = self.opera_excel.get_cell_value(row, col) return url def get_request_data(self, row): """ 获取请求数据 :param row:行号 :return: """ col = int(data_config.get_data()) data = self.opera_excel.get_cell_value(row, col) if data == '': return None return data def get_data_for_json(self, row): """ 通过关键字拿到data数据 :param row: :return: """ opera_json = OperationJson() request_data = opera_json.get_data(self.get_request_data(row)) return request_data def get_expcet_data(self, row): """ 获取预期结果 :param row: :return: """ col = int(data_config.get_expect()) expect = self.opera_excel.get_cell_value(row, col) if expect == "": return None else: return expect def write_result(self, row, value): """ 写入结果数据 :param row: :param col: :return: """ col = int(data_config.get_result()) self.opera_excel.write_value(row, col, value) def get_depend_key(self, row): """ 获取依赖数据的key :param row:行号 :return: """ col = int(data_config.get_data_depend()) depend_key = self.opera_excel.get_cell_value(row, col) if depend_key == "": return None else: return depend_key def is_depend(self, row): """ 判断是否有case依赖 :param row:行号 :return: """ col = int(data_config.get_case_depend()) # 获取是否存在数据依赖列 depend_case_id = self.opera_excel.get_cell_value(row, col) if depend_case_id == "": return None else: return depend_case_id def get_depend_field(self, row): """ 获取依赖字段 :param row: :return: """ col = int(data_config.get_field_depend()) data = self.opera_excel.get_cell_value(row, col) if data == "": return None else: return data
def __init__(self, json_file, sheet_name): self.operation_excel = OperationExcel(sheet_name) self.json_file = json_file
def __init__(self,case_id, path, sheetNum): self.case_id = case_id self.opera_excel = OperationExcel(path, sheetNum) self.data = GetData(path, sheetNum)
class GetData: def __init__(self): self.opera_excel = OperationExcel() #去获取excel行数,就是我们的case个数 def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 def get_is_run(self, row): flag = None col = int(data_config.get_run()) run_model = self.opera_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag #是否携带header def is_header(self, row): col = int(data_config.get_header()) header = self.opera_excel.get_cell_value(row, col) if header != '': if header == 'write': return header elif header == 'yes': op_json = OperetionJson('../dataconfig/cookie.json') # cookie = op_json.get_data('apsid') # cookies = { # 'apsid':cookie # } cookies = op_json.get_data('header') # cookies = { # 'token':cookie, # # } return cookies else: return None else: return None #获取请求方式 def get_request_method(self, row): col = int(data_config.get_run_way()) request_method = self.opera_excel.get_cell_value(row, col) return request_method #获取url def get_request_url(self, row): col = int(data_config.get_url()) url = self.opera_excel.get_cell_value(row, col) return self.find_def(url) #获取请求数据 def get_request_data(self, row): col = int(data_config.get_data()) data = self.opera_excel.get_cell_value(row, col) if data == '': return None if re.match('{.+}', data, re.M | re.I) == None: opera_json = OperetionJson() data = opera_json.get_data(data) return self.find_def(data) #通过获取关键字拿到data数据 def get_data_for_json(self, row): opera_json = OperetionJson() print row request_data = opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_expcet_data_for_excel(self, row): col = int(data_config.get_expect()) expect = self.opera_excel.get_cell_value(row, col) if expect == '': return None return expect #通过sql获取预期结果 def get_expcet_data_for_mysql(self, row): op_mysql = OperationMysql() sql = self.get_expcet_data_for_excel(row) res = op_mysql.search_one(sql) # return res.decode('unicode-escape') return res def get_expcet_data(self, row): expect = self.get_expcet_data_for_excel(row) if expect == "": return None if re.match('select.+from', expect, re.M | re.I) == None: return expect else: op_mysql = OperationMysql() return op_mysql.search_one(expect) def write_result(self, row, value): col = int(data_config.get_result()) self.opera_excel.write_value(row, col, value) #获取依赖数据的key def get_depend_key(self, row): col = int(data_config.get_data_depend()) depent_key = self.opera_excel.get_cell_value(row, col) if depent_key == "": return None else: return depent_key #判断是否有case依赖 def is_depend(self, row): col = int(data_config.get_case_depend()) depend_case_id = self.opera_excel.get_cell_value(row, col) if depend_case_id == "": return None else: return depend_case_id #获取数据依赖字段 def get_depend_field(self, row): col = int(data_config.get_field_depend()) data = self.opera_excel.get_cell_value(row, col) if data == "": return None else: return data #是否有方法参数,目前每条只支持1个 ${} def find_def(self, param): #print type(param) #字典暂不处理 if type(param) == dict: return param param = param.encode("utf-8") pattern1 = re.compile(r"(.*)\${(.+?)}(.*)") matcher1 = re.search(pattern1, param) if matcher1 == None: return param else: defs = matcher1.group(2) matcher2 = re.search('(.+)\((.*?)\)', defs) if matcher2 == None: returns = getattr(case_def, defs)() return matcher1.group(1) + returns + matcher1.group(3) modus = re.search('(.+)\((.*?)\)', defs).group(1) paramers = re.search('(.+)\((.*?)\)', defs).group(2) paramers = tuple(paramers.split(',')) returns = getattr(case_def, modus)(*paramers) print locals() return matcher1.group(1) + returns + matcher1.group(3)
def __init__(self, case_id): self.oper_excel = OperationExcel() self.util = CommonUtil() self.case_id = case_id self.data = GetData()
class GetData: def __init__(self): self.opera_excel = OperationExcel() #去获取excel行数,就是case个数 def get_case_lines(self): return self.opera_excel.get_lines() #获取是否执行 def get_is_run(self, row): flag = None col = int(data.data_config.get_run()) run_model = self.opera_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag #是否携带header def is_header(self, row): col = int(data.data_config.get_header()) header = self.opera_excel.get_cell_value(row, col) if header == 'yes': return data.data_config.get_header_value() else: return None #获取请求方式 def get_request_method(self, row): col = int(data.data_config.get_request_way()) request_method = self.opera_excel.get_cell_value(row, col) return request_method #获取url def get_request_url(self, row): col = int(data.data_config.get_url()) url = self.opera_excel.get_cell_value(row, col) return url #获取请求数据 def get_request_data(self, row): col = int(data.data_config.get_data()) request_data = self.opera_excel.get_cell_value(row, col) if request_data == '': return None return request_data #通过获取关键字拿到data数据 def get_data_for_json(self, row): opera_json = OperationsJson() request_data = opera_json.get_data(self.get_request_data(row)) return request_data #获取预期结果 def get_except_data(self, row): col = int(data.data_config.get_except_value()) except_data = self.opera_excel.get_cell_value(row, col) if except_data == '': return None return except_data # def write_result(self, row, value): col = int(data.data_config.get_result_values()) self.opera_excel.write_value(row, col, value) #获取依赖数据的key def get_depend_key(self, row): col = int(data.data_config.get_data_depend()) depent_key = self.opera_excel.get_cell_value(row, col) if depent_key == "": return None else: return depent_key #判断是否有case依赖 def is_depend(self, row): col = int(data.data_config.get_field_depend()) depend_case_id = self.opera_excel.get_cell_value(row, col) if depend_case_id == "": return None else: return depend_case_id # 获取数据依赖字段 def get_depend_field(self, row): col = int(data.data_config.get_field_depend()) data_ziduan = self.opera_excel.get_cell_value(row, col) if data_ziduan == "": return None else: return data_ziduan
class GetData: def __init__(self, file_name=None, sheet_id=None): self.oper_excel = OperationExcel(file_name, sheet_id) # 获取excel行数 def get_case_lines(self): lines = self.oper_excel.get_lines() return lines # 获取url地址 def get_url(self, rowx): colx = data_config.get_url() url = self.oper_excel.get_cell_value(rowx, colx) return url # 获取flag信息 def get_flag(self, rowx): colx = data_config.get_flag() flag = self.oper_excel.get_cell_value(rowx, colx) return flag # 获取是否运行 def get_is_run(self, rowx): flag = None colx = data_config.get_is_run() is_run = self.oper_excel.get_cell_value(rowx, colx) if is_run == 'yes': flag = True else: flag = False return flag # 获取请求方式 def get_method_type(self, rowx): colx = data_config.get_method_type() method_type = self.oper_excel.get_cell_value(rowx, colx) if method_type == 'get': return 'GET' elif method_type == 'post': return 'POST' def get_header(self, rowx): colx = data_config.get_is_header() header = self.oper_excel.get_cell_value(rowx, colx) if header == 'no': return None else: return header # 获取请求数据 def get_request_key(self, rowx): colx = data_config.get_request_data() request_key = self.oper_excel.get_cell_value(rowx, colx) if request_key == '': return None else: return request_key # 获取修改的请求字段 def get_fix_request_key(self, rowx): colx = data_config.get_fix_request_data() fix_request_key = self.oper_excel.get_cell_value(rowx, colx) if fix_request_key == '': return None else: return fix_request_key # 根据关键字,在json文件中获取请求数据 def get_request_for_json(self, rowx): oper_json = OperationJson() request_key = self.get_request_key(rowx) if request_key is None: request_data = None else: request_data = oper_json.get_data(request_key) return request_data # 获取实际结果 def get_actual_result(self, rowx): colx = data_config.get_actual_result() actual_result = self.oper_excel.get_cell_value(rowx, colx) return actual_result # 获取预期结果 def get_expected_result(self, rowx): colx = data_config.get_expected_result() expected_result = self.oper_excel.get_cell_value(rowx, colx) return expected_result # 根据sql查询预期结果 def get_expected_result_by_mysql(self, rowx): oper_mysql = OperationMysql() sql = self.get_expected_result(rowx) res = oper_mysql.search(sql) return res.decode('unicode-escape') # 将结果写入excel中 def write_result(self, rowx, value): colx = data_config.get_actual_result() self.oper_excel.write_value(rowx, colx, value) # 获取依赖数据的case_id def get_depend_case_id(self, rowx): colx = data_config.get_depend_case() depend_case_id = self.oper_excel.get_cell_value(rowx, colx) if depend_case_id == "": return None else: return depend_case_id # 所依赖的结果返回的字段 def get_depend_respons(self, rowx): colx = data_config.get_depend_res() depend_respons = self.oper_excel.get_cell_value(rowx, colx) if depend_respons == "": return None else: return depend_respons # 需要替换掉请求字段 def get_depend_request(self, rowx): colx = data_config.get_depend_req() depend_request = self.oper_excel.get_cell_value(rowx, colx) if depend_request == "": return None else: return depend_request # 判断是否有case依赖 def is_depend(self, rowx): depend_field = self.get_depend_request(rowx) if depend_field == "": return None else: return depend_field
class GetData: """获取excel数据""" def __init__(self): self.opera_excel = OperationExcel() def get_case_lines(self): """获取excel行数,即case的个数""" return self.opera_excel.get_lines() def get_case_name(self, row): """获取是否执行""" col = int(data_config.get_name()) case_name = self.opera_excel.get_cell_value(row, col) return case_name def get_is_run(self, row): """获取是否执行""" flag = None col = int(data_config.get_run()) run_model = self.opera_excel.get_cell_value(row, col) if run_model == 'yes': flag = True else: flag = False return flag def get_headers(self, row): """ 获取携带的headers :param row: 行号 :return: """ col = int(data_config.get_headers()) header = self.opera_excel.get_cell_value(row, col) h = {} if header: h = header_str_dict(header) log().info('获取请求头\n%s', h) return h else: log().info('没有请求头') return h def is_token(self, row): """ 是否携带header :param row: 行号 :return: """ col = int(data_config.get_token()) token = self.opera_excel.get_cell_value(row, col) if token != '': log().info('获取是否携带token %s', token) return token else: log().info('获取是否携带token为空') return None def get_request_method(self, row): """ 获取请求方式 :param row: 行号 :return: """ # col 列 col = int(data_config.get_run_way()) request_method = self.opera_excel.get_cell_value(row, col) log().info('获取请求方式 %s', request_method) return request_method def get_request_url(self, row): """ 获取url :param row: 行号 :return: """ col = int(data_config.get_url()) url = self.opera_excel.get_cell_value(row, col) log().info('获取请求地址\n%s', url) return url def get_request_data(self, row): """ 获取请求数据 :param row:行号 :return: """ col = int(data_config.get_data()) request_data = self.opera_excel.get_cell_value(row, col) if request_data == '': log().info('没有请求参数') return None # r=json.loads(request_data) #将str转为dict log().info('获取请求参数') return request_data def get_expcet_data(self, row, _log=True): """ 获取预期结果 :param row: :return: """ col = int(data_config.get_expect()) expect = self.opera_excel.get_cell_value(row, col) if expect == "": log().error('预期结果为空') return None else: if _log: log().info('获取预期结果 %s', expect) return expect def get_respond_data(self, row): """ 获取预期结果 :param row: :return: """ col = int(data_config.get_resond()) respond = self.opera_excel.get_cell_value(row, col) if respond == "": return None else: return respond def write_result(self, row, value): """ 写入结果数据 :param row: :param col: :return: """ col = int(data_config.get_result()) self.opera_excel.write_value(row, col, value) def write_respond_data(self, row, value): """ 写入响应数据 :param row: :param col: :return: """ col = int(data_config.get_resond()) self.opera_excel.write_value(row, col, value) def get_depend_key(self, row): """ 获取依赖数据的key :param row:行号 :return: """ col = int(data_config.get_data_depend()) depend_key = self.opera_excel.get_cell_value(row, col) if depend_key == "": return None else: return depend_key def is_depend(self, row): """ 判断是否有case依赖 :param row:行号 :return: """ col = int(data_config.get_case_depend()) # 获取是否存在数据依赖列 depend_case_id = self.opera_excel.get_cell_value(row, col) if depend_case_id == "": log().info('没有数据依赖') return None else: log().info('获取依赖%s', depend_case_id) return depend_case_id
def __init__(self, sheet_id=0): self.file_name = os.path.join(BASE_PATH, YamlReader().data["global"]["case_path"]) self.opera_excel = OperationExcel(file_name=self.file_name, sheet_id=sheet_id)