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',测试不通过")
Esempio n. 2
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',测试不通过")
Esempio n. 3
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)
Esempio n. 4
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 = 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',测试不通过")
Esempio n. 5
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',测试不通过")
Esempio n. 6
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',测试不通过")
Esempio n. 7
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',测试不通过")
Esempio n. 8
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',测试不通过")
Esempio n. 9
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)