def test(self): # 2新建对象 if self.method1 == "post" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1,self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "post" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "get": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据,这里统一进行正则匹配 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = str(result1["error_code"]) result = re.search(self.check_point1, result2).group() if result: print("post请求返回的error_code是'0',测试通过") else: print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据,这里统一进行正则匹配 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] # print(result2) #0 # print(type(result2)) #<class 'str'> # path1 = r"D:\PycharmProjects\xiaoqiang\base_181027\a1接口层框架设计1-0326\src8\testcase2.xlsx" # wb1 = openpyxl.load_workbook(path1) # sh1 = wb1.get_sheet_by_name("Sheet1") if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是'0',测试通过") # sh1.cell(row=3, column=11).value = "通过" #行号写死 sh1.cell(row=self.row, column=11).value = "通过" #注意:这里的result1是字典,往excel中写入前,必须将字典转换成json字符串才行,否则报错 # ValueError: Cannot convert 。。。 to Excel # json.loads(json_str) json字符串转换成字典 # json.dumps(dict) 字典转换成json字符串 result1 = json.dumps(result1, ensure_ascii=False) #将字段转换成json字符串 #注意2:ensure_ascii默认是True,就不显示汉字,值显示ascii码; # 如果ensure_ascii=False,就不仅仅是显示ascii码了,可以显示汉字了 sh1.cell(row=self.row, column=12).value = result1 wb1.save(path1) else: sh1.cell(row=self.row, column=11).value = "不通过" result1 = json.dumps(result1, ensure_ascii=False) # 将字段转换成json字符串 sh1.cell(row=self.row, column=12).value = result1 wb1.save(path1) print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # #调http请求类 # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是%s,测试通过" % result2) # sh1.cell(row=3, column=11).value = "通过" #行号写死 sh1.cell(row=self.row, column=11).value = "通过" #注意:这里的result1是字典,往excel中写入前,必须将字典转换成json字符串才行,否则报错 # ValueError: Cannot convert 。。。 to Excel # json.loads(json_str) json字符串转换成字典 # json.dumps(dict) 字典转换成json字符串 result1 = json.dumps(result1, ensure_ascii=False) #将字段转换成json字符串 #注意2:ensure_ascii默认是True,就不显示汉字,值显示ascii码; # 如果ensure_ascii=False,就不仅仅是显示ascii码了,可以显示汉字了 sh1.cell(row=self.row, column=12).value = result1 wb1.save(path1) else: sh1.cell(row=self.row, column=11).value = "不通过" result1 = json.dumps(result1, ensure_ascii=False) # 将字段转换成json字符串 sh1.cell(row=self.row, column=12).value = result1 wb1.save(path1) print("返回的error_code是%s,测试不通过" % result2)
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据,这里统一进行正则匹配 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = str(result1["error_code"]) print(result2) #0 print(type(result2)) #<class 'str'> print(self.check_point1) #0 print(type(self.check_point1)) #<class 'int'> result = re.search(str(self.check_point1), result2).group() #注意:从excel中读取的self.check_point1的值是数字0,而正则表达式必须是字符串0 # 所以必须把self.check_point1转换成字符串才行,否则报错; # 不能在excel中直接写"0",因为excel中的"0"是3个字符组成 两个双引号和一个0组成的字符串 # 而result2是字符串0,这个字符串0由一个字符0组成 # re.search(字符串"0",字符串0).group() # print(result) if result: print("post请求返回的error_code是'0',测试通过") else: print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据,这里统一进行正则匹配 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] # print(result2) #0 # print(type(result2)) #<class 'str'> path1 = r"D:\PycharmProjects\xiaoqiang\base_181027\a1接口层框架设计1-0326\src5\testcase2.xlsx" wb1 = openpyxl.load_workbook(path1) sh1 = wb1.get_sheet_by_name("Sheet1") if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是'0',测试通过") # sh1.cell(row=3, column=11).value = "通过" #行号写死 sh1.cell(row=self.row, column=11).value = "通过" wb1.save(path1) else: print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 #调请求类 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 调请求类 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 调请求类 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] # print(result2) #0 # print(type(result2)) #<class 'str'> if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是'0',测试通过") else: print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 #调请求类 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 调请求类 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 调请求类 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] # print(result2) #0 # print(type(result2)) #<class 'str'> # json.loads(json_str)# json字符串转换成字典 result1 = json.dumps(result1, ensure_ascii=False) # python字典转换成json字符串 # 注意:ensure_ascii参数默认是True,表示不能包含非ascii的字符,会出现汉字乱码问题 # ensure_ascii=False,表示可以包含非ascii的字符(汉字字符) if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是'0',测试通过") path1 = r"D:\PycharmProjects\xiaoqiang\base_181027\a1接口层框架设计1-0326\src3\testcase2.xlsx" # 1 打开工作簿文件 wb1 = openpyxl.load_workbook(path1) # 1打开excel文件(类似打开文件对象) # print("获取excel文件-工作簿的所有工作表名字",wb1.get_sheet_names()) #2返回工作表的名字作为列表的元素 # 2 获取指定工作表 sh1 = wb1.get_sheet_by_name("Sheet1") # 3指定要操作的工作表sheet1 # print(sh1) #3 写入excel # 测试结果,excel的第11列-K列,填入“通过”; excel的第12列-L列,填入实际响应报文; sh1.cell(row=self.i, column=11).value = "通过" # print(self.i) # sh1.cell(row=2, column=11).value = "通过" #ok sh1.cell(row=self.i, column=12).value = result1 #excel写入的必须是json字符串 #注意:result1原本是字典类型,但是这里往excel中写入的时候,必须将字典转换成json字符串,才能写入 #注意2:这里的self.i是excel的行数,在遍历case类中,return传递过来的, # 在写入excel的测试结果和和响应数据的时候用到 #4 保存excel文件 wb1.save(path1) # 注意:写入单元格后,必须save后,才能生效,没有save的话,写入是没有生效的 # save的时候,当前的excel文件必须是关闭的,如果是打开的,会出现报错 # PermissionError: [Errno 13] Permission denied: else: print("返回的error_code不是'0',测试不通过")
def test(self): # # 1定义参数 #注意:这里的参数是写死的 # self.url = "http://v.juhe.cn/laohuangli/d" # self.params1 = {"key": "e711bc6362b3179f5a28de7fd3ee4ace", # "date": "2016-5-14"} # 拼写错误,date而不是data 这个key是固定的,申请好的 # self.headers1 = {} # 2新建对象 if self.method1 == "post": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) # print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code # result2 = str(result1["error_code"]) # result = re.search(self.check_point1, result2).group() # # result = re.search(self.check_point1, result2) # # print(result) # # print(type(result)) # # print(re.search('0',result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 # # print(re.search(self.check_point1,result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 # # if result: # print("post请求返回的error_code是'0',测试通过") # else: # print("返回的error_code不是'0',测试不通过") #参数一必须是字符串或者是正则表达式 # print(re.search(0,result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 #TypeError: first argument must be string or compiled pattern elif self.method1 == "get": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) # print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code 0 这里的0是字符串"0"而不是数值 # result2 = str(result1["error_code"]) # result = re.search(self.check_point1, result2).group() # # print(result) #"0" # # print(type(result)) #str #字符串“0” # # print(bool(result)) #True # #数据只有在0,None和空的时候为False,其余1,2等数值都是True # # print(re.search('0',result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 # # print(re.search(self.check_point1,result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 # # if result: #字符串“0”是True # print("get请求返回的error_code是'0',测试通过") # else: # print("返回的error_code不是'0',测试不通过") else: pass #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据,这里统一进行正则匹配 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = str(result1["error_code"]) result = re.search(self.check_point1, result2).group() # result = re.search(self.check_point1, result2) # print(result) # print(type(result)) # print(re.search('0',result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 # print(re.search(self.check_point1,result2).group()) #注意:search的参数1和参数2的类型必须是字符串str,而不能是数字,字典 if result: print("post请求返回的error_code是'0',测试通过") else: print("返回的error_code不是'0',测试不通过")
def test(self): # 2新建对象 forcase1 = Forcase() if self.method1 == "POST" and self.data_type == "Form": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-form获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "POST" and self.data_type == "Json": requests1 = Requests_Post1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_post2() print("post请求-json获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) elif self.method1 == "GET": requests1 = Requests_Get1(self.url, self.params1, self.headers1) # 传入实际参数 # 3通过对象调方法 result1 = requests1.requests_get2() print("get请求获取响应结果(python-字典类型)=", result1) # 5输出整个返回内容(字典类型) else: #记录日志文件,异常处理 print("请求失败,请检查用例里的数据是否正确") #二,前面先做分支判断,得到响应数据 print("错误码error_code是:", result1["error_code"]) # 6输出错误码error_code result2 = result1["error_code"] result1 = json.dumps(result1, ensure_ascii=False) # 将字段转换成json字符串 # 注意2:ensure_ascii默认是True,就不显示汉字,值显示ascii码; # 如果ensure_ascii=False,就不仅仅是显示ascii码了,可以显示汉字了 if result2 == self.check_point1["error_code"]: # print("post请求返回的error_code是'0',测试通过") # sh1.cell(row=self.row, column=11).value = "通过" # #注意:这里的result1是字典,往excel中写入前,必须将字典转换成json字符串才行,否则报错 # # ValueError: Cannot convert 。。。 to Excel # # json.loads(json_str) json字符串转换成字典 # # json.dumps(dict) 字典转换成json字符串 # result1 = json.dumps(result1,ensure_ascii=False) #将字段转换成json字符串 # #注意2:ensure_ascii默认是True,就不显示汉字,值显示ascii码; # # 如果ensure_ascii=False,就不仅仅是显示ascii码了,可以显示汉字了 # sh1.cell(row=self.row, column=12).value = result1 # wb1.save(path1) # sh1.cell(row=3, column=11).value = "通过" #行号写死 # forcase1 = Forcase() forcase1.forcase_write(result1, self.row) #注意:这里必须把接口类文件的全局变量删除才行 #否则,会出现excel没有写入“通过” # else: # sh1.cell(row=self.row, column=11).value = "不通过" # result1 = json.dumps(result1, ensure_ascii=False) # 将字段转换成json字符串 # sh1.cell(row=self.row, column=12).value = result1 # wb1.save(path1) # print("返回的error_code不是'0',测试不通过") else: # forcase1 = Forcase() forcase1.forcase_write2(result1, self.row)