예제 #1
0
def depend_data(data):
    '''
    获取依赖结果集
    '''
    case_id = split_data(data)[0]
    row_number = excel_data.get_rows_number(case_id)
    data = excel_data.get_cell_value(row_number,14)
    return data
예제 #2
0
def depend_data(data):
    """获取依赖结果集"""
    case_id = split_data(data)[0]

    columns = excel_data.get_columns_value()

    for column_data in columns:
        """根据case的名称获取case的行号,结果集"""
        if case_id == column_data:
            row_num = excel_data.get_rows_number(case_id)
            res_data = excel_data.get_cell_value(row_num, 14)
            return res_data
예제 #3
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
예제 #4
0
    def test_mainindex(self, data):
        """执行case主流程"""

        case_id = data[0]
        i = excel_data.get_rows_number(case_id)  # 行号

        header = None
        get_token = None

        is_run = data[2]

        if is_run == "yes":

            data1 = json.loads(data[7])
            is_depend = data[3]
            try:
                if is_depend:
                    """获取依赖数据"""
                    depend_key = data[4]
                    try:
                        depend_value = get_data(is_depend)
                    except:  # 依赖接口失败启动 mock函数获取依赖数据
                        depend_value = mock_depend()  # mock依赖
                    data1[depend_key] = depend_value

                url = data[5]
                method = data[6]

                expected_method = data[10]

                token_method = data[9]
                if token_method == 'yes':
                    """携带token"""
                    data2 = get_token_value("web")

                    header = data2
                if token_method == "write":
                    """写入token"""
                    get_token = {"is_token": "web"}

                res = BaseRequest.run(method, url, data1, get_token, header)

                code = res['meta']["status"]
                message = res['meta']["msg"]

                if expected_method == "mec":
                    configmes = handle_result_msg(url, code)

                    try:
                        self.assertEqual(configmes, message)
                        excel_data.excel_write_data(i, 13, "通过")
                    except AssertionError as e:
                        excel_data.excel_write_data(i, 13, "失败", "red")
                        raise e

                if expected_method == "json":  # expected_method自定义校验方法
                    if code == 200 or code == 201:
                        status_str = "success"

                    else:
                        status_str = "error"

                    except_res = get_result_json(url, status_str)
                    result = handle_result_json(res, except_res)

                    try:
                        self.assertTrue(result)
                        excel_data.excel_write_data(i, 13, "通过")
                    except AssertionError as e:
                        excel_data.excel_write_data(i, 13, "失败", "red")
                        raise e
            except Exception as e:
                raise e
            finally:
                excel_data.excel_write_data(
                    i, 14, json.dumps(res, indent=2, ensure_ascii=False))