コード例 #1
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def query_case_list(request, project):
    """列表页查询用例列表"""
    res = get_list("caseList")
    project_id = get_project_id(project, res[1])
    groups = GroupApiMode.objects.filter(projectId=project_id, groupFlg=True)  # 默认下拉框数据

    search_dic = dict()
    api_id = request.GET.get('api')
    if api_id and int(api_id) > 0:
        search_dic['apiId'] = api_id
    case_flag = request.GET.get('caseFlag')
    if case_flag:
        search_dic['caseFlag'] = case_flag
    case_env = request.GET.get('caseEnv')
    if case_env:
        search_dic['caseEnv'] = case_env
    case_level = request.GET.get('caseLev')
    if case_level:
        search_dic['caseLevel'] = case_level

    group_id = request.GET.get('apiGroup')
    if group_id and int(group_id) > 0:
        search_dic['groupApiId'] = group_id
        apis = ApiMode.objects.filter(apiFlg=True, groupApiId=group_id)
        case_lists = TestCaseMode.objects.filter(**search_dic)
    else:
        group_ids = groups.values_list('id', flat=True)
        apis = ApiMode.objects.filter(apiFlg=True, groupApiId__in=group_ids)
        case_lists = TestCaseMode.objects.filter(groupApiId__in=group_ids, **search_dic)
    return render(request, "caseList_manage.html",
                  {"project": project, "products": res[0], "projects": res[1], "groups": groups, "apis": apis,
                   "caseLists": case_lists})
コード例 #2
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def case_list(request, project):
    """测试用例列表页"""
    res = get_list("caseList")
    project_id = get_project_id(project, res[1])
    groups = GroupApiMode.objects.filter(projectId=project_id, groupFlg=True)  # 默认下拉框数据
    group_ids = groups.values_list('id', flat=True)
    apis = ApiMode.objects.filter(apiFlg=True, groupApiId__in=group_ids)
    return render(request, "caseList_manage.html",
                  {"project": project, "products": res[0], "projects": res[1], "groups": groups, "apis": apis})
コード例 #3
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def query_group_api(request, project):
    """接口组维护查询"""
    res = get_list("caseList")
    search_dict = dict()
    group_name = request.GET.get("groupName")
    if group_name:
        search_dict['groupName'] = group_name
    group_flag = request.GET.get("groupFlg")
    if group_flag:
        search_dict['groupFlg'] = group_flag
    pro = request.GET.get("project")
    if pro:
        search_dict['projectId'] = pro
    group_list = GroupApiMode.objects.filter(**search_dict)
    return render(request, 'groupApiList.html',
                  {"project": project, "projectId": pro, "groups": group_list, "products": res[0], "projects": res[1]})
コード例 #4
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def query_api(request, project):
    """接口维护列表查询"""
    res = get_list("caseList")
    search_dict = dict()
    project_id = request.GET.get("project")
    group_list = GroupApiMode.objects.filter(projectId=project_id)
    api_name = request.GET.get("apiName")
    if api_name:
        search_dict['apiName'] = api_name
    api_flag = request.GET.get("apiFlg")
    if api_flag:
        search_dict['apiFlg'] = api_flag
    api_group = request.GET.get("apiGroup")
    if not api_group:
        group_id_list = group_list.values_list('id', flat=True)
    else:
        group_id_list = [api_group]
    api_list = ApiMode.objects.filter(groupApiId__in=group_id_list, **search_dict)
    return render(request, 'apiList.html',
                  {"project": project, "projectId": project_id, "apis": api_list, "products": res[0],
                   "projects": res[1], "groups": group_list})
コード例 #5
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def query_task_plan(request, project):
    """查询任务计划列表"""
    res = get_list("caseList")
    search_dict = dict()
    project_id = request.GET.get("project")
    search_dict['projectId'] = project_id
    task_name = request.GET.get("taskPlanName")
    if task_name:
        search_dict['taskPlanName'] = task_name
    task_flag = request.GET.get("taskPlanFlag")
    if task_flag:
        search_dict['taskPlanFlag'] = task_flag
    tasks = TaskPlanMode.objects.filter(**search_dict)
    for task in tasks:
        api_list = task.taskPlanCaseApiList.split(',')
        api_list = list(map(int, api_list))
        api_obj_list = ApiMode.objects.filter(id__in=api_list)
        api_name = api_obj_list.values_list('apiName', flat=True)
        task.taskPlanCaseApiList = ','.join(api_name)
        task.taskPlanCaseLevel = task.taskPlanCaseLevel.replace('3', '核心用例').replace('2', '一般用例').replace('1', '次要用例')
    return render(request, 'taskList.html',
                  {"project": project, "projectId": project_id, "tasks": tasks, "products": res[0],
                   "projects": res[1]})
コード例 #6
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def case_page(request, project, pages):
    """接口用例模块页面入口"""
    res = [None, None]  # 导航数据
    groups = None  # 接口列表下拉框
    env = None  # 运行环境配置加载数据
    project_id = 0  # 用于默认值
    task_plan = None  # 任务计划详情数据
    task_id = 0
    case_info = None  # 用例详情数据
    case_id = 0
    sql_list = None  # sql语句列表数据
    api_info = None
    logs = None  # 日志列表数据
    if pages != 'runEnv':
        res = get_list("caseList")
        project_id = get_project_id(project, res[1])
    if pages == "apiList":
        groups = GroupApiMode.objects.filter(projectId=project_id)

    if pages == "apiDetail":
        groups = GroupApiMode.objects.filter(projectId=project_id)
        api_id = int(request.GET.get("id"))
        if api_id > 0:
            api_info = ApiMode.objects.get(id=api_id)

    if pages == 'runEnv':
        project_id = get_project_id(project)
        try:
            env = EnvConfigMode.objects.get(projectId=project_id)
        except Exception as e:
            print(e.__str__())
    if pages == 'taskDetail':
        task_id = int(request.GET.get("id"))
        if task_id > 0:
            task_plan = TaskPlanMode.objects.get(id=task_id)

    if pages == "caseDetail":
        case_id = int(request.GET.get("id"))
        groups = GroupApiMode.objects.filter(projectId=project_id)
        if case_id > 0:
            case_info = TestCaseMode.objects.get(id=case_id)

    if pages == "sqlList":
        api_id = int(request.GET.get("apiId"))
        api_info = ApiMode.objects.get(id=api_id)
        sql_list = ApiSqlListMode.objects.filter(apiId=api_info)

    if pages == "runLog":
        try:
            log_type = request.GET.get("logType")
            task_log_id = request.GET.get("taskLogId")
            if log_type and int(log_type) == 0:
                case_id = request.GET.get("caseId")
                case_info = TestCaseMode.objects.get(id=case_id)
                logs = CaseRunLogMode.objects.filter(caseId=case_info, logType=0)
            elif log_type and int(log_type) == 1:
                api_id = request.GET.get("apiId")
                logs = CaseRunLogMode.objects.filter(apiId=api_id, logType=1)
            elif task_log_id:
                task_log_info = TaskRunLogMode.objects.get(id=task_log_id)
                fail_log_list = list(map(int, task_log_info.failLogList.split(',')))
                logs = CaseRunLogMode.objects.filter(id__in=fail_log_list)
        except Exception as e:
            print(e.__str__())

    if pages == "taskPlanRunLog":
        task_id = request.GET.get('id')
        if task_id:
            logs = TaskRunLogMode.objects.filter(taskId=task_id)

    if pages == "userVar":
        api_id = request.GET.get("apiId")
        if int(api_id) > 0:
            api_info = ApiMode.objects.get(id=api_id)
    return render(request, pages + ".html",
                  {"project": project, "projectId": project_id, "products": res[0], "projects": res[1],
                   "groups": groups, "env": env, "taskPlanInfo": task_plan, "task_id": task_id, "caseInfo": case_info,
                   "caseId": case_id, "sqlList": sql_list, "apiInfo": api_info, "logs": logs})
コード例 #7
0
ファイル: caseviews.py プロジェクト: zyj2020/AppAutoTest
def case_entry(request):
    """测试用例初始页面"""
    res = get_list("caseList")
    return render(request, "caseList_manage.html", {"products": res[0], "projects": res[1]})