Exemplo n.º 1
0
def check_setting_run_result(request):
    if request.is_ajax():
        context = {}
        projectName = request.GET["projectName"]
        # type=1 标识场景用例
        # report = get_html_project_report(projectName, type=1)
        # PATH = lambda P: os.path.abspath(os.path.join(os.path.dirname(__file__), P))
        reportFolder = PATH(
            "../report") + "\\" + projectName + "\\" + "htmlReport\\"
        for root, dirs, files in os.walk(reportFolder):
            if files:
                # 倒序查找
                for name in files[::-1]:
                    # 场景用例报告
                    if name.find("settingReport") == 0:
                        Config('ReportName').add_option_value(
                            'reportName', 'name', name)
                        return HttpResponse('success')
                        # reportPath = os.path.join(reportFolder, name)
                        # context["reportPath"] = reportPath
                        # return HttpResponse('success')
            else:
                return HttpResponse('reportEmpty')
    return render(request,
                  Config('ReportName').get_option_value('reportName', 'name'))
Exemplo n.º 2
0
def check_report(request):
    report = []
    # report = ['2018-11-02 13-49-46.html']
    if request.is_ajax():
        context = {}
        projectName = request.GET["projectName"]
        reportName = request.GET["reportName"].rstrip("查看报告") + '.html'
        Config('ReportName').add_option_value('reportName', 'name', reportName)
    return render(request,
                  Config('ReportName').get_option_value('reportName', 'name'))
Exemplo n.º 3
0
def save_case(request):
    if request.is_ajax():
        projectName = request.GET["projectName"].strip()
        moduleName = request.GET["ModuleName"].strip()
        caseName = request.GET["CaseName"].strip()
        caseDescription = request.GET["CaseDescription"].strip()
        sql = request.GET["sql"].strip()
        protocol = request.GET["protocol"].strip()
        host = request.GET["host"].strip()
        method = request.GET["method"].strip()
        path = request.GET["path"].strip()
        headers = request.GET["headers"].strip()
        data = request.GET["data"].strip()
        replaceID = request.GET["replaceID"].strip()
        expect = request.GET["expect"].replace('"', "'").strip()
        transmitID = request.GET["TransmitID"].strip()
        transmitTargetID = request.GET["TransmitTargetID"].strip()
        checkPoint = request.GET["CheckPoint"].strip()
        if not (moduleName and caseName and protocol and host and method
                and expect):
            return HttpResponse('dataError')
        # 更新配置文件的动态数据
        if transmitID and transmitTargetID:
            current_all_data = Config(projectName).get_all()
            current_changeData = Config(projectName).get_section_all_option(
                "changeData")
            dynamicData = save_dynamic_data(expect, transmitID,
                                            transmitTargetID)
            if dynamicData:
                change_dynmaic_data = {"changeData": dynamicData}
                current_changeData.update(change_dynmaic_data)
                current_all_data.update(current_changeData)
                Config(projectName).add_dict(current_all_data)
            else:
                return HttpResponse("保存动态参数字段数量必须一致,请检查!")

        # checkPoint = request.GET["CheckPoint"].strip()

        case_data(projectName=projectName,
                  action=1,
                  sql=sql,
                  moduleName=moduleName,
                  caseName=caseName,
                  caseDescription=caseDescription,
                  protocol=protocol,
                  host=host,
                  method=method,
                  path=path,
                  headers=headers,
                  data=data,
                  file=None,
                  replaceID=replaceID,
                  expect=expect,
                  transmitID=transmitID,
                  transmitTargetID=transmitTargetID,
                  checkPoint=checkPoint,
                  author='GRUNMI',
                  editor='GRUNMI')
        return HttpResponse('success')
Exemplo n.º 4
0
def get_project_result(request):
    if request.is_ajax():
        projectName = request.GET["projectname"]
        reportFolder = PATH(
            "../report") + "\\" + projectName + "\\" + "htmlReport\\"
        for root, dirs, files in os.walk(reportFolder):
            if files:
                # 倒序查找
                for name in files[::-1]:
                    # 项目报告
                    if name.find("settingReport") < 0:
                        Config('ReportName').add_option_value(
                            'reportName', 'name', name)
                        return HttpResponse('success')
            else:
                return HttpResponse('caseEmpty')
    return render(request,
                  Config('ReportName').get_option_value('reportName', 'name'))
Exemplo n.º 5
0
def add_case_page(request):
    if request.is_ajax():
        context = {}
        projectname = request.GET["projectname"]
        context["name"] = projectname
        request.session['msg'] = context
        return HttpResponse(projectname)
    context = request.session.get('msg')
    # print(context, "-------------------------------------------")

    # 获取配置文件中存储的动态数据
    changeData = Config(context['name']).get_section_all_option('changeData')
    if changeData != None:
        context.update(changeData)

    return render(request, "addCase.html", {"project": context})
Exemplo n.º 6
0
def editor_case_page(request):
    if request.is_ajax():
        context = {}
        projectname = request.GET["projectname"]
        id = request.GET["id"]
        context["projectname"] = projectname
        context["id"] = id
        request.session['msg'] = context
        return HttpResponse('success')
    context = request.session.get('msg')
    # action=5 查询数据,返回到修改界面
    result = case_data(projectName=context['projectname'],
                       action=5,
                       id=context["id"])
    # 获取配置文件中存储的动态数据
    changeData = Config(
        context['projectname']).get_section_all_option('changeData')
    if changeData != None:
        result.update(changeData)
    return render(request, "editorCase.html", {"editor": result})
Exemplo n.º 7
0
def editor_page_api_test(request):
    if request.is_ajax():
        try:
            projectName = request.GET["projectName"].strip()
            sql = request.GET["sql"].strip()
            protocol = request.GET["protocol"].strip()
            host = request.GET["host"].strip()
            method = request.GET["method"].strip()
            path = request.GET["path"].strip()
            headers = {"Content-Type": request.GET['headers']}
            data = request.GET['data'].strip()
            replaceID = request.GET["replaceID"].strip()
            if replaceID:
                changge_data = Config(projectName).get_section_all_option(
                    "changeData")["changeData"]
                data = data_replace(data, replaceID, changge_data=changge_data)
            data = data_encode(data)
            url = protocol + host + path
            response = HttpRequest().send_request(url, method, headers, data)
            return HttpResponse(response.text)
        except Exception as e:
            return HttpResponse(e)
Exemplo n.º 8
0
def sql_run(projectName):
    Config(projectName).get_all()