示例#1
0
    def test_search(self):
        url = host + "search/hotwords"
        data = {

        }
        mock_method = mock.Mock(return_value=get_value("search/hotwords"))
        request.run_main = mock_method
        res = request.run_main('post', url, data)
        self.assertEqual(res['result'], 10)
示例#2
0
 def test_banner1(self):
     url = host  +'api2'
     data = {
         "username":"******",
         "password":"******"
     }
     # mock_method = mock.Mock(return_value=read_json())
     mock_method = mock.Mock(return_value=get_value("api1"))
     request.run_main = mock_method
     res = request.run_main('post',url,data)
     self.assertEqual(res['errorCode'],1016)
示例#3
0
 def test_redpacketinfo(self):
     url = host + '/activity/redpacketinfo'
     data = {'marking': 'redpacket2020'}
     #通过传入接口获取对应的json值
     read_method = mock.Mock(
         return_value=get_value('activity/redpacketinfo'))
     request.run_main = read_method
     res = request.run_main('post', url, data)
     urllib3.disable_warnings()
     print(json.dumps(res, indent=2))
     self.assertEqual(res['errorCode'], 1000, msg="访问失败")
示例#4
0
 def test_banner(self):
     url = host + 'api3/beta4'
     data = {
        # 'token': '',
        # 'type': '1',
        # 'marking': '',
        # 'secrect': ''
     }
     mock_method = mock.Mock(return_value=get_value("api3/beta4"))
     request.run_main = mock_method
     res = request.run_main('post', url, data)
     self.assertEqual(res['id'], 2)
示例#5
0
 def run_case(self):
     filename = "test.xlsx"
     he = HandExcel(filename)
     rows = he.get_rows()
     for i in range(rows):
         data = he.get_rows_value(i + 2)
         is_run = data[2]
         if is_run == 'yes':
             method = data[5]
             url = data[4]
             data1 = data[6]
             res = request.run_main(method, url, data1)
             print(res)
示例#6
0
 def run_case(self):
     rows = excel_data.get_rows()
     for i in range(rows):
         # i是从0开始的,excel中第一行内容的行号是i=2
         data = excel_data.get_rows_value(i + 2)
         #['imooc_001', '登录', 'yes', 'create_user', '/login/', 'post', '{"username":"******"}', 'yes', 'message', None]
         is_run = data[2]
         except_method = data[10]
         except_result = data[11]
         if is_run == "yes":
             url = data[5]
             method = data[6]
             data1 = data[7]
             res = request.run_main(method, url, data1)
             #int和str无法比较,需要强转一下
             code = str(res['errorCode'])
             desc = res['errorDesc']
             #如果预期结果方式为mec:message+errorcode
             if except_method == "mec":
                 config_message = handle_result(url, code)
                 if desc == config_message:
                     excel_data.excel_write_data(i + 2, 12, "通过")
                     print("case通过")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失败")
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失败")
             if except_method == "errorcode":
                 if except_result == code:
                     excel_data.excel_write_data(i + 2, 12, "通过")
                     print("case通过")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失败")
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失败")
             # 如果预期结果方式为json格式
             if except_method == "json":
                 if code == 1000:
                     status_str = "sucess"
                 else:
                     status_str = "error"
                 except_result_json = get_result_json(url, status_str)
                 # print(res,'-------',except_result_json)
                 result = handle_result_json(res, except_result_json)
                 if result:
                     excel_data.excel_write_data(i + 2, 12, "通过")
                     print("case通过")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失败")
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失败")
示例#7
0
 def beta4(self):
     url = host + 'api3/beta4'
     data = {
         'timestamp':
         '1561269343486',
         'uid':
         '7213561',
         'token':
         '66640986fb118dda4334719ac8afbf89',
         'uuid':
         '41b650ef846688193728ff7381eb6c1c',
         'secrect':
         'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWUiOiI3MjEzNTYxIiwianRpIjoiM2I2NDg0NjQ2Nzk4NjI3NzU1YjRmZWE0ODliMDNmNmUiLCJkZXZpY2UiOiJtb2JpbGUifQ.EvGIFSHhij4lgEMdCtotFoTMtWSJLwVvridsoaWzdZY',
     }
     mock_method = mock.Mock(return_value=get_value('api3/beta4'))
     request.run_main = mock_method
     res = request.run_main('post', url, data)
     self.assertEqual(res['errorCode'], 1000)
示例#8
0
 def beta4(self):
     url = host + 'api3/beta4'
     data = {
         'timestamp':
         '1561269343481',
         'uid':
         '7213561',
         'token':
         'a14667648b0a88f54900a1360dce9436',
         'type':
         '1',
         'marking':
         'androidbanner',
         'uuid':
         '41b650ef846688193728ff7381eb6c1c',
         'secrect':
         'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWUiOiI4MjI3OTI4IiwianRpIjoiMGQ5YmEzOWQzOGIwYTU3ZWY4MTg1M2QxM2ZmMGVmM2YiLCJkZXZpY2UiOiJtb2JpbGUifQ.SIhwi9_6AkP4gx3SQULZYsD8OstVk55d6w3gTA0RvkE'
     }
     mock_method = mock.Mock(return_value=get_value('api3/beta4'))
     request.run_main = mock_method
     res = request.run_main('post', url, data)
     print(res)
     self.assertEqual(res['errorCode'], 1000)
示例#9
0
 def test_banner(self):
     url = host + 'api3/getbanneradvertver2'
     data = {
         'timestamp':
         '1561269343481',
         'uid':
         '7213561',
         'token':
         '7ad09430cbaf927af642ab843ec374ef',
         'type':
         '1',
         'marking':
         'androidbanner',
         'uuid':
         '41b650ef846688193728ff7381eb6c1c',
         'secrect':
         'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1bmlxdWUiOiI3MjEzNTYxIiwianRpIjoiM2I2NDg0NjQ2Nzk4NjI3NzU1YjRmZWE0ODliMDNmNmUiLCJkZXZpY2UiOiJtb2JpbGUifQ.EvGIFSHhij4lgEMdCtotFoTMtWSJLwVvridsoaWzdZY'
     }
     mock_method = mock.Mock(
         return_value=get_value('api3/getbanneradvertver2'))
     request.run_main = mock_method
     res = request.run_main('post', url, data)
     self.assertEqual(res['errorCode'], 1000)
示例#10
0
 def test_06(self):
     res = request.run_main('get',url,data)
     print(res)
示例#11
0
 def run_case(self):
     rows = excel_data.get_rows()
     for i in range(rows):
         get_cookie = None
         cookie = None
         header = None
         data = excel_data.get_rows_value(i + 2)
         is_run = data[2]
         if is_run == "yes":
             method = data[5]
             # アクセスのapi
             url = data[4]
             data1 = data[6]
             is_header = data[8]
             # 予想結果判断の方法
             excepect_method = data[9]
             # 予想結果
             excepect_result = data[10]
             # クッキーの操作
             cookie_method = data[7]
             if cookie_method == "yes":
                 cookie = get_cookie_value("app")
             if cookie_method == "write":
                 """
                 cookie取得後書き込む
                 """
                 get_cookie = {"is_cookie": "app"}
             if is_header == "yes":
                 header = get_header()
             res = request.run_main(method, url, data1, cookie, get_cookie, header)
             # print(res)
             # 結果と予想結果を比較する
             # サーバーのerrorCode
             code = str(res["errorCode"])
             message = res["errorDesc"]
             if excepect_method == "mec":
                 config_message = handel_result(url, str(code))
                 if message == config_message:
                     excel_data.excel_write_data(i+2, 12, "成功")
                     print("テスト成功")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失敗")
                     # 失敗する場合は結果値も記入
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失敗")
             elif excepect_method == "errorcode":
                 if excepect_result == code:
                     excel_data.excel_write_data(i + 2, 12, "成功")
                     print("テスト成功")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失敗")
                     # 失敗する場合は結果値も記入
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失敗")
             elif excepect_method == "json":
                 # err_codeに基づいての判断
                 if code == "1000":
                     status_str = "success"
                 else:
                     status_str = "error"
                 excepect_result = get_result_json(url, status_str)
                 # サーバーからのリスポンスとjsonデータ比較
                 result = handel_result_json(res, excepect_result)
                 if result:
                     excel_data.excel_write_data(i + 2, 12, "成功")
                     print("テスト成功")
                 else:
                     excel_data.excel_write_data(i + 2, 12, "失敗")
                     # 失敗する場合は結果値も記入
                     excel_data.excel_write_data(i + 2, 13, json.dumps(res))
                     print("case失敗")
示例#12
0
 def test_01(self):
     res = request.run_main('post', url, data)
     print(res)
示例#13
0
    def test_main_case(self,data):
        cookie = None
        get_cookie = None
        header = None
        depend_data = None
        is_run = data[2]
        case_id = data[0]
        i = excel_data.get_rows_number(case_id)
        if is_run == 'yes':
            try:
                url = data[5]
                method = data[6]
                is_depend = data[3]
                data1 = json.loads(data[7])
                if is_depend:
                    # 获取依赖数据
                    depend_key = data[4]
                    depend_data = get_data(is_depend)
                    #print(depend_data)
                    data1[depend_key] = depend_data

                except_method = data[10]
                except_result = data[11]
                cookie_method = data[8]
                header_method = data[9]
                # print(header_method)
                # 判断是否携带cookie
                if cookie_method == 'yes':
                    cookie = get_cookie_value('app')
                if cookie_method == 'write':
                    """
                    必须获取到cookie
                    """
                    get_cookie = {"is_cookie": "app"}
                # 判断是否携带header
                if header_method == 'yes':
                    header = get_header_value()
                res = request.run_main(method, url, data1, cookie, get_cookie, header)
                # print(res['errorCode'])
                code = str(res['errorCode'])
                # print(code)
                massage = res['errorDesc']

                #maasge+errorcode判断返回时massage与config是否一致
                res_json = json.dumps(res)

                if except_method == 'mec':
                    config_masage = handle_resault(url, code)
                    """
                    # print("--------->massage",massage,"------------>config_massage:",config_masage)
                    if massage == config_masage:
                        excel_data.excel_write_data(i, 13, "成功")
                    else:
                        excel_data.excel_write_data(i, 13, "失败")
                        res_json = json.dumps(res)
                        excel_data.excel_write_data(i, 14, res_json)
                """
                    try:
                        self.assertEqual(massage,config_masage)
                        excel_data.excel_write_data(i, 13, "成功")
                    except Exception:
                        excel_data.excel_write_data(i, 13, "成功")
                        res_json = json.dumps(res)
                        excel_data.excel_write_data(i, 14, res_json)
                        raise Exception

                if except_method == 'errorcode':
                    """
                    # 此处必须将excel中预期结果设置为文本形式
                    if except_result == code:
                        excel_data.excel_write_data(i + 2, 13, "成功")
    
                    else:
                        excel_data.excel_write_data(i, 13, "失败")
                        #失败会回写数据
                        excel_data.excel_write_data(i, 14, res_json)
                    """
                    try:
                        self.assertEqual(except_result,code)
                        excel_data.excel_write_data(i + 2, 13, "成功")
                    except Exception:
                        excel_data.excel_write_data(i, 13, "失败")
                        res_json = json.dumps(res)
                        excel_data.excel_write_data(i, 14, res_json)
                        raise Exception
                if except_method == 'json':

                    if code == 1000:
                        status_str = 'success'
                    else:
                        status_str = 'error'
                    expect_result = get_result_json(url, status_str)
                    result = handle_result_json(res, expect_result)
                    """
                    if result:
                        excel_data.excel_write_data(i, 13, "成功")
                    else:
                        excel_data.excel_write_data(i, 13, "失败")
                        excel_data.excel_write_data(i, 14, res_json)
                    """
                    try:
                        self.assertTrue(result)
                        excel_data.excel_write_data(i, 13, "成功")
                    except Exception:
                        excel_data.excel_write_data(i, 13, "失败")
                        res_json = json.dumps(res)
                        excel_data.excel_write_data(i, 14, res_json)
                        raise Exception
            except Exception as e:
                excel_data.excel_write_data(i, 13, "失败")
                raise e
示例#14
0
    def run_case(self):
        rows = excel_data.get_rows()
        for i in range(rows):
            cookie=None
            get_cookie = None
            header = None
            depend_data = None
            data = excel_data.get_rows_value(i+2)
            is_run = data[2]
            if is_run == 'yes':
                is_depend = data[3]
                data1 = json.loads(data[7])
                if is_depend:
                    '''
                    获取依赖数据
                    '''
                    depend_key = data[4]
                    depend_data = get_data(is_depend)
                    #print(depend_data)
                    data1[depend_key] = depend_data

                method = data[6]
                url = data[5]
                
                is_header = data[9]
                excepect_method = data[10]
                excepect_result = data[11]
                cookie_method = data[8]
                if cookie_method == 'yes':
                    cookie = get_cookie_value('app')
                if cookie_method == 'write':
                    '''
                    必须是获取到cookie
                    '''
                    get_cookie={"is_cookie":"app"}
                if is_header == 'yes':
                    header = get_header()
                res = request.run_main(method,url,data1,cookie,get_cookie,header)
                #print(res)
                code = str(res['errorCode'])
                message = res['errorDesc']
                if excepect_method == 'mec': 
                    config_message = handle_result(url,code)
                    if message == config_message:
                        excel_data.excel_write_data(i+2,13,"通过")
                    else:
                        excel_data.excel_write_data(i+2,13,"失败")
                        excel_data.excel_write_data(i+2,14,json.dumps(res))
                if excepect_method == 'errorcode':
                    if excepect_result == code:
                        excel_data.excel_write_data(i+2,14,"通过")
                    else:
                        excel_data.excel_write_data(i+2,13,"失败")
                        excel_data.excel_write_data(i+2,14,json.dumps(res))
                if excepect_method == 'json':
                    if code == 1000:
                        status_str='sucess'
                    else:
                        status_str='error'
                    excepect_result = get_result_json(url,status_str)
                    result = handle_result_json(res,excepect_result)
                    if result:
                        excel_data.excel_write_data(i+2,13,"通过")
                    else:
                        excel_data.excel_write_data(i+2,13,"失败")
                        excel_data.excel_write_data(i+2,14,json.dumps(res))   
示例#15
0
    def run_case(self):
        #获取行
        rows = excel_data.get_rows()
        #遍历行
        for i in range(rows):
            cookie = None
            get_cookie = None
            header = None
            depend_data = None
            data = excel_data.get_rows_value(i + 2)
            #print(data)
            is_run = data[2]
            if is_run == 'yes':
                url = data[5]
                method = data[6]
                is_depend = data[3]
                data1 = json.loads(data[7])
                if is_depend:
                    #获取依赖数据
                    depend_key = data[4]
                    depend_data = get_data(is_depend)
                    data1[depend_key] = depend_data

                except_method = data[10]
                except_result = data[11]
                cookie_method = data[8]
                header_method = data[9]
                #print(header_method)
                #判断是否携带cookie
                if cookie_method == 'yes':
                    cookie = get_cookie_value('app')
                if cookie_method == 'write':
                    """
                    必须获取到cookie
                    """
                    get_cookie = {"is_cookie": "app"}
                #判断是否携带header
                if header_method == 'yes':
                    header = get_header_value()
                res = request.run_main(method, url, data1, cookie, get_cookie,
                                       header)
                #print(res['errorCode'])
                code = str(res['errorCode'])
                #print(code)
                massage = res['errorDesc']
                res_json = json.dumps(res)
                if except_method == 'mec':
                    config_masage = handle_resault(url, code)
                    #print("--------->massage",massage,"------------>config_massage:",config_masage)
                    if massage == config_masage:
                        excel_data.excel_write_data(i + 2, 13, "成功")
                    else:
                        excel_data.excel_write_data(i + 2, 13, "失败")
                        res_json = json.dumps(res)
                        excel_data.excel_write_data(i + 2, 14, res_json)
                if except_method == 'errorcode':
                    #此处必须将excel中预期结果设置为文本形式
                    if except_result == code:
                        excel_data.excel_write_data(i + 2, 13, "成功")

                    else:
                        excel_data.excel_write_data(i + 2, 13, "失败")
                        excel_data.excel_write_data(i + 2, 14, res_json)
                if except_method == 'json':
                    if code == 1000:
                        status_str = 'success'
                    else:
                        status_str = 'error'
                    expect_result = get_result_json(url, status_str)
                    result = handle_result_json(res, expect_result)
                    if result:
                        excel_data.excel_write_data(i + 2, 13, "成功")
                    else:
                        excel_data.excel_write_data(i + 2, 13, "失败")
                        excel_data.excel_write_data(i + 2, 14, res_json)
示例#16
0
 def testrun_case(self, data):
     #rows = excel_data.get_rows()
     #for i in range(rows):
     cookie = None
     get_cookie = None
     header = None
     #data = excel_data.get_rows_value(i+2)
     is_run = data[2]
     if is_run == 'yes':
         method = data[5]
         url = data[4]
         data1 = data[6]
         is_header = data[8]
         excepect_method = data[9]
         excepect_result = data[10]
         codition = data[3]
         if codition:
             pass
         cookie_method = data[7]
         if cookie_method == 'yes':
             cookie = get_cookie_value('app')
         if cookie_method == 'write':
             '''
             必须是获取到cookie
             '''
             get_cookie = {"is_cookie": "app"}
         if is_header == 'yes':
             header = get_header()
         res = request.run_main(method, url, data1, cookie, get_cookie,
                                header)
         #print(res)
         code = str(res['errorCode'])
         message = res['errorDesc']
         if excepect_method == 'mec':
             config_message = handle_result(url, code)
             self.assertEqual(message, config_message)
             '''
             if message == config_message:
                 excel_data.excel_write_data(i+2,12,"通过")
             else:
                 excel_data.excel_write_data(i+2,12,"失败")
                 excel_data.excel_write_data(i+2,13,json.dumps(res))
             '''
         if excepect_method == 'errorcode':
             self.assertEqual(excepect_result, code)
             '''
             if excepect_result == code:
             
                 excel_data.excel_write_data(i+2,12,"通过")
             else:
                 excel_data.excel_write_data(i+2,12,"失败")
                 excel_data.excel_write_data(i+2,13,json.dumps(res))
             '''
         if excepect_method == 'json':
             if code == 1000:
                 status_str = 'sucess'
             else:
                 status_str = 'error'
             excepect_result = get_result_json(url, status_str)
             result = handle_result_json(res, excepect_result)
             self.assertTrue(result)
             '''
示例#17
0
    def test_run_main(self, data):
        Case_Id, \
            Description, \
            Is_Run, \
            Precondition, \
            Depend_key, \
            Url, \
            Method, \
            Data, \
            Expected_Method, \
            Expected_Result, \
            Execute_Result, \
            ResponseResult = data

        # 判断是否需要执行case
        if Is_Run == 'yes':
            # 获得index数据i,既:行号
            i = excel.get_row_number(Case_Id, 'A')

            # 判断是否有前置条件
            if Precondition:
                # 如果存在前置条件,及获取依赖字段的值
                cell_data, rule_data = depend_data(Precondition, 'A', 11)
                dependData = get_depend_data(cell_data, rule_data)
                logger.debug("依赖数据:" + dependData)
                # 替换掉依赖字段对应的依赖数据
                Data = eval(Data)
                # logger.debug("Data类型" + type(Data))
                Data[Depend_key] = dependData
                # logger.debug("Data数据" + Data)
                Data = json.dumps(Data)

            # 执行请求,获得返回结果
            if Data:
                request_data = json.loads(Data)
                if request_data['game_date'] == "":
                    time_str = time.strftime("%Y%m%d", time.localtime())
                    request_data['game_date'] = time_str
                Data = request_data

            res = request.run_main(Method, Url, Data)
            # 获取errorcode和errorMsg,存在两种字段,既需要分开处理
            try:
                result_code = res['errorCode']
            except KeyError:
                result_code = res['error_code']
            try:
                result_msg = res['errorMsg']
            except KeyError:
                try:
                    result_msg = res['error_msg']
                except KeyError:
                    result_msg = None
            # 判断预期结果验证方式
            if Expected_Method == "errorMsg":
                # 判断文件内errorMsg和返回值errorMsg是否一致
                message = handle_result('Config/check_config.json',
                                        result_code, "config")
                if type(message) is not list:
                    try:
                        self.assertEqual(message, result_msg)
                        excel.excel_write_data(i, 11, "PASS")
                        excel.excel_write_data(i, 12, str(res))
                    except Exception as e:
                        logger.error("接口失败errorMsg:" + str(result_msg))
                        excel.excel_write_data(i, 11, "FAIL")
                        excel.excel_write_data(i, 12, str(res))
                        raise e
                else:
                    for i_result_msg in message:
                        if i_result_msg == result_msg:
                            result = True
                            break
                        else:
                            result = False
                    try:
                        self.assertTrue(result, True)
                        excel.excel_write_data(i, 11, "PASS")
                        excel.excel_write_data(i, 12, str(res))
                    except Exception as e:
                        logger.error("接口失败errorMsg:" + str(result_msg))
                        excel.excel_write_data(i, 11, "FAIL")
                        excel.excel_write_data(i, 12, str(res))
                        raise e
            elif Expected_Method == "errorCode":
                # 判断errorCode返回值和预期结果返回值是否一致
                try:
                    self.assertEqual(Expected_Result, str(result_code))
                    excel.excel_write_data(i, 11, "PASS")
                    excel.excel_write_data(i, 12, str(res))
                except Exception as e:
                    logger.error("接口失败errorCode:" + str(result_msg))
                    excel.excel_write_data(i, 11, "FAIL")
                    excel.excel_write_data(i, 12, str(res))
                    raise e
            elif Expected_Method == "keyWords":
                # 判断关键字数值是否与预期一致
                rule_data_result, operator, expectedresult = split_data_by_ExpectedResult(
                    Expected_Result)
                depend_data_result = get_depend_data(res, rule_data_result)
                result = get_result_check(depend_data_result, operator,
                                          expectedresult)
                try:
                    self.assertTrue(result)
                    excel.excel_write_data(i, 11, "PASS")
                    excel.excel_write_data(i, 12, str(depend_data_result))
                except Exception as e:
                    logger.error("接口预期结果{0}与实际结果{1}不符:".format(
                        expectedresult, depend_data_result))
                    excel.excel_write_data(i, 11, "FAIL")
                    excel.excel_write_data(
                        i, 12,
                        str("接口预期结果{0}与实际结果{1}不符:".format(
                            expectedresult, depend_data_result)))
                    raise e
示例#18
0
 def test_04(self):
     res = request.run_main("get", url, data)
     print(res)
示例#19
0
 def test_002(self):
     '''mock通过'''
     response = getvmockvalue.getvalue("getbanneradvertver2")
     request.run_main = mock.Mock(return_value=response)
     res = request.run_main(url=url, method="get")
     self.assertEqual(res["id"], 1)
示例#20
0
    def test_main_case(self, data):
        cookie = None
        get_cookie = None
        header = None
        depend_data = None
        is_run = data[2]
        case_id = data[0]
        i = excel_data.get_rows_number(case_id)
        if is_run == 'yes':
            is_depend = data[3]
            data1 = json.loads(data[7])
            try:
                if is_depend:
                    #获取依赖数据
                    depend_key = data[4]

                    depend_data = get_data(is_depend)
                    #print(depend_data)
                    data1[depend_key] = depend_data
                method = data[6]
                url = data[5]

                is_header = data[9]
                expect_method = data[10]
                expect_result = data[11]

                cookie_method = data[8]
                if cookie_method == 'yes':
                    cookie = get_cookie_value('app')
                if cookie_method == 'write':
                    ''' 
                        必须是获取到cookie
                        '''
                    get_cookie = {"is_cookie": "app"}
                if is_header == 'yes':
                    header = get_header()

                res = request.run_main(method, url, data1, cookie, get_cookie,
                                       header)
                #print(code)
                code = str(res['errorCode'])
                #print(res['errorCode'])
                message = res['errorDesc']
                #message+errorcode

                if expect_method == 'mec':
                    config_message = handle_result(url, code)
                    '''
                            if message == config_message:
                                excel_data.excel_write_data(i,13,"通过")
                            else:
                                excel_data.excel_write_data(i,13,"失败")
                                excel_data.excel_write_data(i,14,json.dumps(res))
                        '''
                    try:
                        self.assertEqual(message, config_message)
                        excel_data.excel_write_data(i, 13, "通过")
                    except Exception:
                        excel_data.excel_write_data(i, 13, "失败")
                        excel_data.excel_write_data(i, 14, json.dumps(res))
                        raise Exception

                if expect_method == 'errorcode':
                    '''
                        if expect_result == code:
                            excel_data.excel_write_data(i,13,"通过")
                        else:
                            excel_data.excel_write_data(i,13,"失败")
                            excel_data.excel_write_data(i,14,json.dumps(res))
                        '''
                    try:
                        self.assertEqual(expect_result, code)
                        excel_data.excel_write_data(i, 13, "通过")
                    except Exception as e:
                        excel_data.excel_write_data(i, 13, "失败")
                        excel_data.excel_write_data(i, 14, json.dumps(res))
                        raise e
                if expect_method == 'json':
                    if code == 1000:
                        status_str = 'sucess'
                    else:
                        status_str = 'error'
                    expect_result = get_result_json(url, status_str)
                    result = handle_result_json(res, expect_result)
                    '''
                        if result:
                            excel_data.excel_write_data(i,13,"通过")
                        else:
                            excel_data.excel_write_data(i,13,"失败")
                            excel_data.excel_write_data(i,14,json.dumps(res))
                        '''
                    try:
                        self.assertTrue(result)
                        excel_data.excel_write_data(i, 13, "通过")
                    except Exception as e:
                        excel_data.excel_write_data(i, 13, "失败")
                        excel_data.excel_write_data(i, 14, json.dumps(res))
                        raise e
            except Exception as e:
                excel_data.excel_write_data(i, 13, "失败")
                raise e
示例#21
0
    def run_case(self):
        rows = excel.get_rows()
        Is_Run_index, \
            Precondition_index, \
            Depend_key_index, \
            Url_index, \
            Method_index, \
            Data_index, \
            Expected_Method_index, \
            Expected_Result_index, \
            Execute_Result_index, \
            ResponseResult_index = self.init_excel_index()
        for i in range(rows):
            data = excel.get_rows_value(i + 2)
            is_run = data[Is_Run_index]
            # 判断是否需要执行case
            if is_run == 'yes':

                # 判断是否有前置条件
                if data[Precondition_index]:
                    # 如果存在前置条件,及获取依赖字段的值
                    cell_data, rule_data = depend_data(data[Precondition_index], 'A',
                                                       11)
                    print(cell_data)
                    print(type(cell_data))
                    print(rule_data)
                    dependData = get_depend_data(cell_data, rule_data)
                    logger.debug("依赖数据:" + dependData)
                    # 替换掉依赖字段对应的依赖数据
                    parm = eval(data[Data_index])
                    parm[data[Depend_key_index]] = dependData
                    print(parm)

                # 执行请求,获得返回结果
                time_str = time.strftime("%Y%m%d", time.localtime())
                if data[Data_index]:
                    request_data = json.loads(data[Data_index])
                    if request_data['game_date'] == "":
                        request_data['game_date'] = time_str
                    data[Data_index] = request_data

                res = request.run_main(data[Method_index], data[Url_index],
                                       data[Data_index])
                # 获取errorcode和errorMsg,存在两种字段,既需要分开处理
                try:
                    result_code = res['errorCode']
                except KeyError:
                    result_code = res['error_code']
                try:
                    result_msg = res['errorMsg']
                except KeyError:
                    result_msg = res['error_msg']
                # 判断预期结果验证方式
                if data[Expected_Method_index] == "errorMsg":
                    # 判断文件内errorMsg和返回值errorMsg是否一致
                    message = handle_result('Config/check_config.json',
                                            result_code, "config")
                    if type(message) is not list:
                        if message == str(result_msg):
                            logger.debug("测试通过---")
                            excel.excel_write_data(i + 2,
                                                   Execute_Result_index + 1,
                                                   "通过")
                            excel.excel_write_data(i + 2,
                                                   ResponseResult_index + 1,
                                                   str(res))
                        else:
                            logger.debug("测试失败---")
                            excel.excel_write_data(i + 2,
                                                   Execute_Result_index + 1,
                                                   "失败")
                            excel.excel_write_data(i + 2,
                                                   ResponseResult_index + 1,
                                                   str(res))
                    else:
                        for i_result_msg in message:
                            if i_result_msg == result_msg:
                                result = "通过"
                                break
                            else:
                                result = "失败"
                        excel.excel_write_data(i + 2, Execute_Result_index + 1,
                                               result)
                        excel.excel_write_data(i + 2, ResponseResult_index + 1,
                                               str(res))
                        logger.debug(result)
                elif data[Expected_Method_index] == "errorCode":
                    # 判断errorCode返回值和预期结果返回值是否一致
                    if data[Expected_Result_index] == str(result_code):
                        logger.debug("测试通过---")
                        excel.excel_write_data(i + 2, Execute_Result_index + 1,
                                               "通过")
                        excel.excel_write_data(i + 2, ResponseResult_index + 1,
                                               str(res))
                    else:
                        logger.debug("测试失败---")
                        excel.excel_write_data(i + 2, Execute_Result_index + 1,
                                               "失败")
                        excel.excel_write_data(i + 2, ResponseResult_index + 1,
                                               str(res))
                else:
                    # 判断返回值是否json格式
                    excel.excel_write_data(i + 2, ResponseResult_index + 1,
                                           str(res))

                # with open('code_config.json', 'w', encoding='utf-8') as f:
                #     res = json.dumps(res)
                #     f.write(res)
                logger.debug("-" * 100)
                logger.debug(res)
                logger.debug("-" * 100)
示例#22
0
    def test_001(self):
        '''调用封装的方法验证updatversion接口参数为空'''
        res = request.run_main(method="get", url=url)

        self.assertEqual(1001, res["errorcode"])