Commit 7a9f5aeb authored by 王英豪's avatar 王英豪

增加进度接口

parent a6df2a5e
......@@ -13,8 +13,8 @@ import logging
from pathlib import Path
import os
ENV_PROFILE = os.getenv("ENV")
# ENV_PROFILE = "macOS"
# ENV_PROFILE = os.getenv("ENV")
ENV_PROFILE = "macOS"
ENV_cmd = os.getenv("CmdRunner")
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
......
......@@ -22,6 +22,9 @@ from automated_main.view.web_socket.socket import ChatConsumer
urlpatterns = [
# path('admin/', admin.site.urls),
# 测试人员进度-人员分配接口
path('', include("automated_main.url.testing_progress_url.testing_progress_url")),
# 用户接口
path('', include("automated_main.url.user_url.user_url")),
......
# Generated by Django 3.1.3 on 2022-10-24 20:37
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('automated_main', '0003_apimanagement_yapi_id'),
]
operations = [
migrations.CreateModel(
name='TestingProgress',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('testing_progress_title', models.CharField(max_length=50, verbose_name='测试进度标题')),
('start_date', models.TextField(default='', max_length=200, null=True, verbose_name='开始时间')),
('end_date', models.TextField(default='', max_length=200, null=True, verbose_name='开始时间')),
('duration', models.TextField(default='', max_length=200, null=True, verbose_name='测试内容-标题')),
('group', models.IntegerField(default=1, verbose_name='是否分组')),
('parent', models.IntegerField(default=0, max_length=50, null=True, verbose_name='父id')),
('type', models.CharField(max_length=50, verbose_name='图表颜色')),
('description', models.TextField(default='', max_length=20000, null=True, verbose_name='描述')),
('update_time', models.DateTimeField(auto_now_add=True)),
('create_time', models.DateTimeField(auto_now_add=True, verbose_name='创建时间')),
],
),
]
# Generated by Django 3.1.3 on 2022-10-24 20:44
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('automated_main', '0004_testingprogress'),
]
operations = [
migrations.AlterField(
model_name='testingprogress',
name='parent',
field=models.IntegerField(default=0, null=True, verbose_name='父id'),
),
]
......@@ -10,12 +10,14 @@ from automated_main.models.ui_automation.ui_element_operation import UIElementsO
from automated_main.models.ui_automation.ui_page_element import UIPageElement
from automated_main.models.ui_automation.ui_test_case import UITestCase, UITestCaseAssociated
from automated_main.models.ui_automation.ui_test_task import UITestTask, UITestResult
"""
8.19 弃用
"""
# from automated_main.models.api_automation.api_project import APIProject
# from automated_main.models.api_automation.api_module import APIModule
from automated_main.models.api_automation.api_environment import APIEnvironment
"""
8.19 弃用
"""
......@@ -28,9 +30,8 @@ from automated_main.models.performance_test.performance_report import Performanc
from automated_main.models.api_automation.api_database import APIDatabase
from automated_main.models.api_automation.api_management import ApiManagement
from automated_main.models.api_automation.api_interfaces_case import ApiInterfacesCase
from automated_main.models.api_automation.api_scenarios_case import ApiScenariosCaseAssociated, ApiScenariosCaseAssociated
from automated_main.models.api_automation.api_scenarios_case import ApiScenariosCaseAssociated, \
ApiScenariosCaseAssociated
from automated_main.models.api_automation.api_test_plan import ApiTestPlan
from automated_main.models.testing_progress.testing_progress import TestingProgress
from django.db import models
class TestingProgress(models.Model):
"""
测试进度
"""
testing_progress_title = models.CharField("测试进度标题", max_length=50, null=False)
start_date = models.TextField("开始时间", default="", max_length=200, null=True)
end_date = models.TextField("开始时间", default="", max_length=200, null=True)
duration = models.TextField("测试内容-标题", default="", max_length=200, null=True)
group = models.IntegerField("是否分组", default=1) # 1 是 0 不是
parent = models.IntegerField("父id", null=True, default=0)
type = models.CharField("图表颜色", max_length=50, null=False)
description = models.TextField("描述", default="", max_length=20000, null=True)
update_time = models.DateTimeField(auto_now_add=True)
create_time = models.DateTimeField("创建时间", auto_now_add=True)
def __str__(self):
return self.testing_progress_title
# -*- coding: utf-8 -*-
# @Time : 2022/10/24 21:06
# @Author : wyh
# @File : __init__.py.py
# @desc:
# -*- coding: utf-8 -*-
# @Time : 2022/10/24 21:06
# @Author : wyh
# @File : testing_progress_url.py
# @desc:
from django.urls import path
from automated_main.view.testing_progress.PersonnelAllocation.personnel_allocation_view import PersonnelAllocationView
urlpatterns = [
path("api/backend/personnel_allocation/", PersonnelAllocationView.as_view()),
path("api/backend/personnel_allocation_list/", PersonnelAllocationView.as_view()),
]
\ No newline at end of file
......@@ -3,7 +3,6 @@
# @Author : wangyinghao
# @FileName: api_business_test_view.py
# @Software: PyCharm
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import View
import json
import ast
......@@ -78,7 +77,7 @@ class ApiBusinessTestView(View):
:param kwargs:
:return:
"""
ApiBusinessTest.objects.get(id=api_business_test_id).delete()
ApiBusinessTest.objects.delete()
return response_success("删除API业务测试成功")
def get(self, request, api_business_test_id, *args, **kwargs):
......@@ -135,7 +134,7 @@ class ApiBusinessTestView(View):
api_business_test.id = data['api_business_test_id']
api_business_test.api_business_test_describe = data['api_business_test_describe']
api_business_test.save()
ApiBusinessTestAssociated.objects.filter(bid_id=api_business_test_id).delete()
ApiBusinessTestAssociated.objects.delete()
if form.is_valid():
for i in data["api_business_test_data"]:
......
......@@ -66,7 +66,7 @@ class ApiDatabaseView(View):
:return:
"""
APIDatabase.objects.filter(id=api_database_id).delete()
APIDatabase.objects.delete()
return response_success("删除成功")
def put(self, request, *args, **kwargs):
......
......@@ -77,7 +77,7 @@ class ApiEnvironmentView(View):
APIEnvironment.objects.filter(id=api_environment_id).update(**form.cleaned_data)
if APIGlobalVariable.objects.filter(api_environment_id=api_environment_id).count() >= 0:
APIGlobalVariable.objects.filter(api_environment_id=api_environment_id).delete()
APIGlobalVariable.objects.delete()
for global_variable in data['global_variable_data']:
APIGlobalVariable.objects.create(
......@@ -101,7 +101,7 @@ class ApiEnvironmentView(View):
:return:
"""
APIEnvironment.objects.filter(id=api_environment_id).delete()
APIEnvironment.objects.delete()
return response_success("删除API环境成功")
def put(self, request, *args, **kwargs):
......@@ -125,7 +125,7 @@ class ApiEnvironmentView(View):
api_environment.save()
if APIGlobalVariable.objects.filter(api_environment_id=api_environment.id).count() >= 0:
APIGlobalVariable.objects.filter(api_environment_id=api_environment.id).delete()
APIGlobalVariable.objects.delete()
for global_variable in data['global_variable_data']:
APIGlobalVariable.objects.create(
......
......@@ -19,11 +19,6 @@ from automated_main.models.api_automation.api_database import APIDatabase
from automated_main.utils.handle_db import HandleDB
from automated_main.models.api_automation.api_interfaces_case import ApiInterfacesParameterExtraction
from automated_main.utils.api_test_case_excel import HandleExcel
from django.http import FileResponse
import time
import random
import os
import logging
logger = logging.getLogger('django')
......@@ -157,7 +152,7 @@ class ApiInterfacesCaseView(View):
form = ApiInterfacesCaseForm(data)
if form.is_valid():
if ApiInterfacesParameterExtraction.objects.filter(api_test_case_id=api_interfaces_case_id).count() > 0:
ApiInterfacesParameterExtraction.objects.filter(api_test_case_id=api_interfaces_case_id).delete()
ApiInterfacesParameterExtraction.objects.delete()
for api_parameter_extraction in data['api_parameter_extraction']:
if api_parameter_extraction['api_key_variable'] == "":
......@@ -196,7 +191,7 @@ class ApiInterfacesCaseView(View):
api_key_variable=api_parameter_extraction[
'api_key_variable'])
if ApiInterfacesParameterData.objects.filter(api_test_case_id=api_interfaces_case_id).count() > 0:
ApiInterfacesParameterData.objects.filter(api_test_case_id=api_interfaces_case_id).delete()
ApiInterfacesParameterData.objects.delete()
for api_parameter in data['api_parameter']:
ApiInterfacesParameterData.objects.create(api_test_case_id=api_interfaces_case_id,
api_parameter_name=api_parameter['api_parameter_name'],
......@@ -228,7 +223,7 @@ class ApiInterfacesCaseView(View):
:return:
"""
ApiInterfacesCase.objects.get(id=api_interfaces_case_id).delete()
ApiInterfacesCase.objects.delete()
return response_success("删除API测试用例成功")
......
......@@ -62,6 +62,6 @@ class ApiManagementView(View):
def delete(self, request, api_management_id, *args, **kwargs):
ApiManagement.objects.filter(id=api_management_id).delete()
ApiManagement.objects.filter(parent=api_management_id).delete()
ApiManagement.objects.delete()
ApiManagement.objects.delete()
return response_success()
......@@ -69,7 +69,7 @@ class ApiModuleView(View):
:return:
"""
APIModule.objects.filter(id=api_module_id).delete()
APIModule.objects.delete()
return response_success("删除模块成功")
def put(self, request, *args, **kwargs):
......
......@@ -64,7 +64,7 @@ class ApiScenariosCaseView(View):
:param kwargs:
:return:
"""
ApiScenariosCase.objects.get(id=scenarios_case_id).delete()
ApiScenariosCase.objects.delete()
return response_success("删除API测试用例成功")
......@@ -120,7 +120,7 @@ class ApiScenariosCaseView(View):
api_scenarios_case.api_management_id = data['api_management_id']
api_scenarios_case.update_time = datetime.now()
api_scenarios_case.save()
ApiScenariosCaseAssociated.objects.filter(sid_id=api_scenarios_case.id).delete()
ApiScenariosCaseAssociated.objects.delete()
if form.is_valid():
for i in data["api_scenarios_case_data"]:
......
......@@ -40,7 +40,7 @@ class ApiTestCaseView(View):
:return:
"""
ApiTestCase.objects.get(id=api_test_case_id).delete()
ApiTestCase.objects.delete()
return response_success("删除API测试用例成功")
def put(self, request, *args, **kwargs):
......@@ -58,7 +58,7 @@ class ApiTestCaseView(View):
form = ApiTestCaseForm(data)
if form.is_valid():
api_test_case = ApiTestCase.objects.create(**form.cleaned_data)
api_test_case = ApiTestCase.objects
api_test_case_id = api_test_case.id
for api_parameter_extraction in data['api_parameter_extraction']:
......@@ -113,7 +113,7 @@ class ApiTestCaseView(View):
form = ApiTestCaseForm(data)
if form.is_valid():
if ApiParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).count() > 0:
ApiParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).delete()
ApiParameterExtraction.objects.delete()
for api_parameter_extraction in data['api_parameter_extraction']:
if api_parameter_extraction['api_key_variable'] == "":
......@@ -151,7 +151,7 @@ class ApiTestCaseView(View):
api_key_variable=api_parameter_extraction[
'api_key_variable'])
if ApiParameterData.objects.filter(api_test_case_id=api_test_case_id).count() > 0:
ApiParameterData.objects.filter(api_test_case_id=api_test_case_id).delete()
ApiParameterData.objects.delete()
for api_parameter in data['api_parameter']:
ApiParameterData.objects.create(api_test_case_id=api_test_case_id,
api_parameter_name=api_parameter['api_parameter_name'],
......@@ -529,7 +529,7 @@ class UploadTestCases(View):
}
upload_results_list.append(upload_results_dict)
for test_case_id in upload_api_test_case_id:
ApiTestCase.objects.get(id=test_case_id['api_test_case_id']).delete()
ApiTestCase.objects.delete()
return response_failed(3000, {'status': 200, 'upload_results_list': upload_results_list,
'upload_api_test_case_total': upload_api_test_case_total,
'success_upload': '0', 'error_upload': len(upload_results_list),
......@@ -645,7 +645,7 @@ class UploadTestCases(View):
}
upload_results_list.append(upload_results_dict)
for test_case_id in upload_api_test_case_id:
ApiTestCase.objects.get(id=test_case_id['api_test_case_id']).delete()
ApiTestCase.objects.delete()
return response_failed(3000, {'status': 200, 'upload_results_list': upload_results_list,
'upload_api_test_case_total': upload_api_test_case_total,
......
......@@ -67,7 +67,7 @@ class ApiTestPlanView(View):
:param kwargs:
:return:
"""
ApiTestPlan.objects.get(id=api_test_plan_id).delete()
ApiTestPlan.objects.delete()
return response_success("删除API测试计划成功")
......@@ -356,7 +356,7 @@ class CheckApiResult(View):
"""
if api_test_result_id == "":
return response_failed({"status": 10102, "message": "api_test_result_id不能为空"})
APITestPlanResult.objects.get(id=api_test_result_id).delete()
APITestPlanResult.objects.delete()
return response_success("删除测试报告成功")
......
......@@ -260,7 +260,7 @@ def new_test_run_cases(case_id):
pass
if ApiInterfacesParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).count() > 0:
ApiInterfacesParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).delete()
ApiInterfacesParameterExtraction.objects.delete()
for api_parameter_extractions in api_parameter_extraction:
......
......@@ -23,10 +23,8 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "AutomatedTestPlatform.settings"
django.setup()
from automated_main.models.api_automation.api_test_case import ApiParameterExtraction
from automated_main.models.api_automation.api_test_task import APITestResultAssociated
from automated_main.models.api_automation.api_environment import APIGlobalVariable
from automated_main.utils.handle_db import HandleDB
from automated_main.models.api_automation.api_database import APIDatabase
from automated_main.utils.api_utils import ExtractParameters
from automated_main.utils.api_utils import RegularMatch
from automated_main.utils.api_utils import InterfaceRequest
import logging
......@@ -208,7 +206,7 @@ def new_test_run_cases(case_id):
continue
if ApiParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).count() > 0:
ApiParameterExtraction.objects.filter(api_test_case_id=api_test_case_id).delete()
ApiParameterExtraction.objects.delete()
for api_parameter_extractions in api_parameter_extraction:
......
......@@ -12,6 +12,7 @@ from automated_main.exception.my_exception import MyException
from automated_main.models.performance_test.performance_project import PerformanceProject
from automated_main.form.performance_project import PerformanceProjectForm
import logging
logger = logging.getLogger('django')
......@@ -70,7 +71,7 @@ class PerformanceProjectView(View):
:return:
"""
PerformanceProject.objects.filter(id=performance_project_id).delete()
PerformanceProject.objects.delete()
return response_success()
def put(self, request, *args, **kwargs):
......
......@@ -26,13 +26,9 @@ from django.conf import settings
from django.core.paginator import Paginator
from automated_main.models.performance_test.performance_report import PerformanceReport, PerformanceReportError
from pathlib import Path
from django.db.models import Q
from automated_main.utils.jmeter_perform import create_para_jmx
import logging
import csv
import pandas as pd
import numpy as np
from functools import reduce
logger = logging.getLogger('django')
......@@ -133,7 +129,7 @@ class PerformanceScriptView(View):
:return:
"""
PerformanceScript.objects.filter(id=performance_script_id).delete()
PerformanceScript.objects.delete()
return response_success("删除单独性能脚本")
def put(self, request, *args, **kwargs):
......@@ -437,7 +433,7 @@ class PerformanceScriptReport(View):
if report_id == "":
return response_failed({"status": 10102, "message": "report_id不能为空"})
PerformanceReport.objects.filter(id=report_id).delete()
PerformanceReport.objects.delete()
dir = settings.JMETER_REPORT
dir_list = os.listdir(dir)
for report in dir_list:
......
# -*- coding: utf-8 -*-
# @Time : 2022/10/24 20:49
# @Author : wyh
# @File : __init__.py.py
# @desc:
# -*- coding: utf-8 -*-
# @Time : 2022/10/24 20:50
# @Author : wyh
# @File : personnel_allocation_view.py
# @desc:
from django.views.generic import View
from automated_main.utils.http_format import response_success, response_failed
from automated_main.exception.my_exception import MyException
from automated_main.models.testing_progress.testing_progress import TestingProgress
import json
import arrow
class PersonnelAllocationView(View):
def get(self, request, *args, **kwargs):
"""
获取任务
"""
testing_progress_data = TestingProgress.objects.all()
testing_progress_list = []
for testing_progress in testing_progress_data:
testing_progress_dict = {
"text": testing_progress.testing_progress_title,
"start_date": testing_progress.start_date,
"id": testing_progress.id,
"duration": testing_progress.duration,
"parent": testing_progress.parent,
"type": testing_progress.type,
"end_date": testing_progress.end_date,
"group": testing_progress.group,
"description": testing_progress.description
}
testing_progress_list.append(testing_progress_dict)
return response_success(testing_progress_list)
def put(self, request, *args, **kwargs):
"""
新增测试任务
"""
body = request.body
if not body:
return response_success()
data = json.loads(body)
TestingProgress.objects.create(testing_progress_title=data['text'],
start_date=arrow.get(str(data['start_date'])).format('YYYY-MM-DD'),
end_date=arrow.get(str(data['end_date'])).format('YYYY-MM-DD'),
duration=data['duration'],
group=data['group'],
parent=data['parent'],
type=data['color'],
description=data['description'])
return response_success("创建成功")
def post(self, request, *args, **kwargs):
return response_success()
def delete(self, *args, **kwargs):
return response_success()
......@@ -68,7 +68,7 @@ class UIElementOperationView(View):
:return:
"""
UIElementsOperation.objects.filter(id=element_operation_id).delete()
UIElementsOperation.objects.delete()
return response_success("删除元素操作成功")
def put(self, request, *args, **kwargs):
......
......@@ -67,7 +67,7 @@ class UiPageView(View):
:return:
"""
UIPage.objects.filter(id=ui_page_id).delete()
UIPage.objects.delete()
return response_success("删除页面成功")
def put(self, request, *args, **kwargs):
......
......@@ -99,7 +99,7 @@ class UIPageElementView(View):
delete_ui_page_elemnt_id = list(set(page_element_all_id_list).difference(set(edit_page_element_id_list)))
for delete_elemnt_id in delete_ui_page_elemnt_id:
UIPageElement.objects.filter(id=delete_elemnt_id).delete()
UIPageElement.objects.delete()
return response_success("编辑页面元素成功")
else:
raise MyException()
......@@ -114,7 +114,7 @@ class UIPageElementView(View):
:return:
"""
UIPageElement.objects.filter(id=ui_page_element_id).delete()
UIPageElement.objects.delete()
return response_success("删除页面元素成功")
def put(self, request, *args, **kwargs):
......
......@@ -66,7 +66,7 @@ class UIPositioningView(View):
:return:
"""
UIPositioning.objects.filter(id=element_positioning_id).delete()
UIPositioning.objects.delete()
return response_success("删除元素定位成功")
def put(self, request, *args, **kwargs):
......
......@@ -67,7 +67,7 @@ class UiProjectView(View):
:return:
"""
UIProject.objects.filter(id=ui_project_id).delete()
UIProject.objects.delete()
return response_success()
def put(self, request, *args, **kwargs):
......
......@@ -97,7 +97,7 @@ class UITestCaseView(View):
ui_test_case.ui_project_id = data['ui_project_id']
ui_test_case.id = data['ui_test_case_id']
ui_test_case.save()
UITestCaseAssociated.objects.filter(cid_id=ui_test_case_id).delete()
UITestCaseAssociated.objects.delete()
if form.is_valid():
for i in data["ui_test_case_data"]:
......@@ -127,7 +127,7 @@ class UITestCaseView(View):
:return:
"""
UITestCase.objects.get(id=ui_test_case_id).delete()
UITestCase.objects.delete()
return response_success("删除UI测试用例成功")
def put(self, request, *args, **kwargs):
......@@ -146,7 +146,7 @@ class UITestCaseView(View):
form = UiTestCaseForm(data)
if form.is_valid():
ui_test_case = UITestCase.objects.create(**form.cleaned_data)
ui_test_case = UITestCase.objects
ui_test_case_id = ui_test_case.id
print(data["ui_test_case_data"])
......
......@@ -45,7 +45,7 @@ class UITestTaskView(View):
:param kwargs:
:return:
"""
UITestTask.objects.get(id=ui_test_task_id).delete()
UITestTask.objects.delete()
return response_success("删除UI测试任务成功")
......@@ -257,7 +257,7 @@ class CheckResultList(View):
if ui_test_result_id == "":
return response_failed({"status": 10102, "message": "ui_test_result_id不能为空"})
UITestResult.objects.get(ui_task_id=ui_test_task_id, id=ui_test_result_id).delete()
UITestResult.objects.delete()
return response_success("删除UI测试任务成功")
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment