接口性能测试工具
.
├── metersphere-1.7.2
│ ├── Dockerfile
│ ├── Jenkinsfile
│ ├── LICENSE
│ ├── README-EN.md
│ ├── README.md
│ ├── ROADMAP.md
│ ├── backend
│ │ ├── pom.xml
│ │ └── src
│ │ └── main
│ │ ├── java
│ │ │ ├── io
│ │ │ │ └── metersphere
│ │ │ │ ├── Application.java
│ │ │ │ ├── api
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── APIReportController.java
│ │ │ │ │ │ ├── APIScenarioReportController.java
│ │ │ │ │ │ ├── APITestController.java
│ │ │ │ │ │ ├── ApiAutomationController.java
│ │ │ │ │ │ ├── ApiDatabaseController.java
│ │ │ │ │ │ ├── ApiDefinitionController.java
│ │ │ │ │ │ ├── ApiModuleController.java
│ │ │ │ │ │ ├── ApiMonitorController.java
│ │ │ │ │ │ ├── ApiScenarioModuleController.java
│ │ │ │ │ │ ├── ApiTestCaseController.java
│ │ │ │ │ │ └── ApiTestEnvironmentController.java
│ │ │ │ │ ├── dto
│ │ │ │ │ │ ├── APIReportResult.java
│ │ │ │ │ │ ├── APITestResult.java
│ │ │ │ │ │ ├── ApiCaseBatchRequest.java
│ │ │ │ │ │ ├── ApiMonitorRequest.java
│ │ │ │ │ │ ├── ApiMonitorSearch.java
│ │ │ │ │ │ ├── ApiResponseCodeMonitor.java
│ │ │ │ │ │ ├── ApiResponseTimeMonitor.java
│ │ │ │ │ │ ├── ApiTestImportRequest.java
│ │ │ │ │ │ ├── DeleteAPIReportRequest.java
│ │ │ │ │ │ ├── DeleteAPITestRequest.java
│ │ │ │ │ │ ├── DubboProvider.java
│ │ │ │ │ │ ├── EnvironmentDTO.java
│ │ │ │ │ │ ├── JmxInfoDTO.java
│ │ │ │ │ │ ├── QueryAPIReportRequest.java
│ │ │ │ │ │ ├── QueryAPITestRequest.java
│ │ │ │ │ │ ├── QueryJsonPathRequest.java
│ │ │ │ │ │ ├── SaveAPITestRequest.java
│ │ │ │ │ │ ├── SaveHistoricalDataUpgrade.java
│ │ │ │ │ │ ├── automation
│ │ │ │ │ │ │ ├── APIScenarioReportResult.java
│ │ │ │ │ │ │ ├── ApiScenarioDTO.java
│ │ │ │ │ │ │ ├── ApiScenarioModuleDTO.java
│ │ │ │ │ │ │ ├── ApiScenarioRequest.java
│ │ │ │ │ │ │ ├── ApiTagRequest.java
│ │ │ │ │ │ │ ├── DragApiScenarioModuleRequest.java
│ │ │ │ │ │ │ ├── ExecuteType.java
│ │ │ │ │ │ │ ├── ReferenceDTO.java
│ │ │ │ │ │ │ ├── RunScenarioRequest.java
│ │ │ │ │ │ │ ├── SaveApiPlanRequest.java
│ │ │ │ │ │ │ ├── SaveApiScenarioRequest.java
│ │ │ │ │ │ │ ├── SaveApiTagRequest.java
│ │ │ │ │ │ │ ├── ScenarioStatus.java
│ │ │ │ │ │ │ ├── SchedulePlanScenarioExecuteRequest.java
│ │ │ │ │ │ │ └── TestPlanScenarioRequest.java
│ │ │ │ │ │ ├── datacount
│ │ │ │ │ │ │ ├── ApiDataCountResult.java
│ │ │ │ │ │ │ ├── ExecutedCaseInfoResult.java
│ │ │ │ │ │ │ ├── request
│ │ │ │ │ │ │ │ └── ScheduleInfoRequest.java
│ │ │ │ │ │ │ └── response
│ │ │ │ │ │ │ ├── ApiDataCountDTO.java
│ │ │ │ │ │ │ ├── ExecutedCaseInfoDTO.java
│ │ │ │ │ │ │ └── TaskInfoResult.java
│ │ │ │ │ │ ├── definition
│ │ │ │ │ │ │ ├── ApiBatchRequest.java
│ │ │ │ │ │ │ ├── ApiComputeResult.java
│ │ │ │ │ │ │ ├── ApiDTO.java
│ │ │ │ │ │ │ ├── ApiDefinitionBatchProcessingRequest.java
│ │ │ │ │ │ │ ├── ApiDefinitionRequest.java
│ │ │ │ │ │ │ ├── ApiDefinitionResult.java
│ │ │ │ │ │ │ ├── ApiModuleDTO.java
│ │ │ │ │ │ │ ├── ApiSwaggerUrlDTO.java
│ │ │ │ │ │ │ ├── ApiTestBatchRequest.java
│ │ │ │ │ │ │ ├── ApiTestCaseDTO.java
│ │ │ │ │ │ │ ├── ApiTestCaseRequest.java
│ │ │ │ │ │ │ ├── ApiTestCaseResult.java
│ │ │ │ │ │ │ ├── DragModuleRequest.java
│ │ │ │ │ │ │ ├── RunCaseRequest.java
│ │ │ │ │ │ │ ├── RunDefinitionRequest.java
│ │ │ │ │ │ │ ├── SaveApiDefinitionRequest.java
│ │ │ │ │ │ │ ├── SaveApiTestCaseRequest.java
│ │ │ │ │ │ │ ├── TestPlanApiCaseDTO.java
│ │ │ │ │ │ │ ├── parse
│ │ │ │ │ │ │ │ ├── ApiDefinitionImport.java
│ │ │ │ │ │ │ │ ├── postman
│ │ │ │ │ │ │ │ │ ├── PostmanCollection.java
│ │ │ │ │ │ │ │ │ ├── PostmanCollectionInfo.java
│ │ │ │ │ │ │ │ │ ├── PostmanItem.java
│ │ │ │ │ │ │ │ │ ├── PostmanKeyValue.java
│ │ │ │ │ │ │ │ │ ├── PostmanRequest.java
│ │ │ │ │ │ │ │ │ └── PostmanUrl.java
│ │ │ │ │ │ │ │ └── swagger
│ │ │ │ │ │ │ │ ├── SwaggerApi.java
│ │ │ │ │ │ │ │ ├── SwaggerInfo.java
│ │ │ │ │ │ │ │ ├── SwaggerParameter.java
│ │ │ │ │ │ │ │ ├── SwaggerRequest.java
│ │ │ │ │ │ │ │ └── SwaggerTag.java
│ │ │ │ │ │ │ ├── request
│ │ │ │ │ │ │ │ ├── MsScenario.java
│ │ │ │ │ │ │ │ ├── MsTestElement.java
│ │ │ │ │ │ │ │ ├── MsTestPlan.java
│ │ │ │ │ │ │ │ ├── MsThreadGroup.java
│ │ │ │ │ │ │ │ ├── ParameterConfig.java
│ │ │ │ │ │ │ │ ├── ScheduleInfoSwaggerUrlRequest.java
│ │ │ │ │ │ │ │ ├── assertions
│ │ │ │ │ │ │ │ │ ├── MsAssertionDuration.java
│ │ │ │ │ │ │ │ │ ├── MsAssertionJSR223.java
│ │ │ │ │ │ │ │ │ ├── MsAssertionJsonPath.java
│ │ │ │ │ │ │ │ │ ├── MsAssertionRegex.java
│ │ │ │ │ │ │ │ │ ├── MsAssertionType.java
│ │ │ │ │ │ │ │ │ ├── MsAssertionXPath2.java
│ │ │ │ │ │ │ │ │ └── MsAssertions.java
│ │ │ │ │ │ │ │ ├── auth
│ │ │ │ │ │ │ │ │ └── MsAuthManager.java
│ │ │ │ │ │ │ │ ├── configurations
│ │ │ │ │ │ │ │ │ └── MsHeaderManager.java
│ │ │ │ │ │ │ │ ├── controller
│ │ │ │ │ │ │ │ │ ├── MsIfController.java
│ │ │ │ │ │ │ │ │ ├── MsLoopController.java
│ │ │ │ │ │ │ │ │ └── loop
│ │ │ │ │ │ │ │ │ ├── CountController.java
│ │ │ │ │ │ │ │ │ ├── MsForEachController.java
│ │ │ │ │ │ │ │ │ └── MsWhileController.java
│ │ │ │ │ │ │ │ ├── dns
│ │ │ │ │ │ │ │ │ └── MsDNSCacheManager.java
│ │ │ │ │ │ │ │ ├── extract
│ │ │ │ │ │ │ │ │ ├── MsExtract.java
│ │ │ │ │ │ │ │ │ ├── MsExtractCommon.java
│ │ │ │ │ │ │ │ │ ├── MsExtractJSONPath.java
│ │ │ │ │ │ │ │ │ ├── MsExtractRegex.java
│ │ │ │ │ │ │ │ │ ├── MsExtractType.java
│ │ │ │ │ │ │ │ │ └── MsExtractXPath.java
│ │ │ │ │ │ │ │ ├── processors
│ │ │ │ │ │ │ │ │ ├── MsJSR223Processor.java
│ │ │ │ │ │ │ │ │ ├── post
│ │ │ │ │ │ │ │ │ │ └── MsJSR223PostProcessor.java
│ │ │ │ │ │ │ │ │ └── pre
│ │ │ │ │ │ │ │ │ └── MsJSR223PreProcessor.java
│ │ │ │ │ │ │ │ ├── sampler
│ │ │ │ │ │ │ │ │ ├── MsDubboSampler.java
│ │ │ │ │ │ │ │ │ ├── MsHTTPSamplerProxy.java
│ │ │ │ │ │ │ │ │ ├── MsJDBCSampler.java
│ │ │ │ │ │ │ │ │ ├── MsTCPSampler.java
│ │ │ │ │ │ │ │ │ └── dubbo
│ │ │ │ │ │ │ │ │ ├── MsConfigCenter.java
│ │ │ │ │ │ │ │ │ ├── MsConsumerAndService.java
│ │ │ │ │ │ │ │ │ └── MsRegistryCenter.java
│ │ │ │ │ │ │ │ ├── timer
│ │ │ │ │ │ │ │ │ └── MsConstantTimer.java
│ │ │ │ │ │ │ │ └── variable
│ │ │ │ │ │ │ │ └── ScenarioVariable.java
│ │ │ │ │ │ │ └── response
│ │ │ │ │ │ │ ├── HttpResponse.java
│ │ │ │ │ │ │ └── Response.java
│ │ │ │ │ │ ├── parse
│ │ │ │ │ │ │ ├── ApiImport.java
│ │ │ │ │ │ │ ├── postman
│ │ │ │ │ │ │ │ ├── PostmanCollection.java
│ │ │ │ │ │ │ │ ├── PostmanCollectionInfo.java
│ │ │ │ │ │ │ │ ├── PostmanEvent.java
│ │ │ │ │ │ │ │ ├── PostmanItem.java
│ │ │ │ │ │ │ │ ├── PostmanKeyValue.java
│ │ │ │ │ │ │ │ ├── PostmanRequest.java
│ │ │ │ │ │ │ │ ├── PostmanScript.java
│ │ │ │ │ │ │ │ └── PostmanUrl.java
│ │ │ │ │ │ │ └── swagger
│ │ │ │ │ │ │ ├── SwaggerApi.java
│ │ │ │ │ │ │ ├── SwaggerInfo.java
│ │ │ │ │ │ │ ├── SwaggerParameter.java
│ │ │ │ │ │ │ ├── SwaggerRequest.java
│ │ │ │ │ │ │ └── SwaggerTag.java
│ │ │ │ │ │ ├── scenario
│ │ │ │ │ │ │ ├── AuthConfig.java
│ │ │ │ │ │ │ ├── Body.java
│ │ │ │ │ │ │ ├── DatabaseConfig.java
│ │ │ │ │ │ │ ├── DubboConfig.java
│ │ │ │ │ │ │ ├── HttpConfig.java
│ │ │ │ │ │ │ ├── KeyValue.java
│ │ │ │ │ │ │ ├── Scenario.java
│ │ │ │ │ │ │ ├── TCPConfig.java
│ │ │ │ │ │ │ ├── assertions
│ │ │ │ │ │ │ │ ├── AssertionDuration.java
│ │ │ │ │ │ │ │ ├── AssertionJSR223.java
│ │ │ │ │ │ │ │ ├── AssertionJsonPath.java
│ │ │ │ │ │ │ │ ├── AssertionRegex.java
│ │ │ │ │ │ │ │ ├── AssertionType.java
│ │ │ │ │ │ │ │ ├── AssertionXPath2.java
│ │ │ │ │ │ │ │ └── Assertions.java
│ │ │ │ │ │ │ ├── controller
│ │ │ │ │ │ │ │ └── IfController.java
│ │ │ │ │ │ │ ├── environment
│ │ │ │ │ │ │ │ ├── CommonConfig.java
│ │ │ │ │ │ │ │ ├── EnvironmentConfig.java
│ │ │ │ │ │ │ │ └── Host.java
│ │ │ │ │ │ │ ├── extract
│ │ │ │ │ │ │ │ ├── Extract.java
│ │ │ │ │ │ │ │ ├── ExtractCommon.java
│ │ │ │ │ │ │ │ ├── ExtractJSONPath.java
│ │ │ │ │ │ │ │ ├── ExtractRegex.java
│ │ │ │ │ │ │ │ ├── ExtractType.java
│ │ │ │ │ │ │ │ └── ExtractXPath.java
│ │ │ │ │ │ │ ├── processor
│ │ │ │ │ │ │ │ ├── BeanShellPostProcessor.java
│ │ │ │ │ │ │ │ ├── BeanShellPreProcessor.java
│ │ │ │ │ │ │ │ ├── BeanShellProcessor.java
│ │ │ │ │ │ │ │ ├── JSR223PostProcessor.java
│ │ │ │ │ │ │ │ ├── JSR223PreProcessor.java
│ │ │ │ │ │ │ │ └── JSR223Processor.java
│ │ │ │ │ │ │ ├── request
│ │ │ │ │ │ │ │ ├── BodyFile.java
│ │ │ │ │ │ │ │ ├── DubboRequest.java
│ │ │ │ │ │ │ │ ├── HttpRequest.java
│ │ │ │ │ │ │ │ ├── Request.java
│ │ │ │ │ │ │ │ ├── RequestType.java
│ │ │ │ │ │ │ │ ├── SqlRequest.java
│ │ │ │ │ │ │ │ ├── TCPRequest.java
│ │ │ │ │ │ │ │ └── dubbo
│ │ │ │ │ │ │ │ ├── ConfigCenter.java
│ │ │ │ │ │ │ │ ├── ConsumerAndService.java
│ │ │ │ │ │ │ │ └── RegistryCenter.java
│ │ │ │ │ │ │ └── timer
│ │ │ │ │ │ │ └── ConstantTimer.java
│ │ │ │ │ │ └── swaggerurl
│ │ │ │ │ │ ├── SwaggerTaskResult.java
│ │ │ │ │ │ └── SwaggerUrlRequest.java
│ │ │ │ │ ├── jmeter
│ │ │ │ │ │ ├── APIBackendListenerClient.java
│ │ │ │ │ │ ├── JMeterService.java
│ │ │ │ │ │ ├── JMeterVars.java
│ │ │ │ │ │ ├── LocalRunner.java
│ │ │ │ │ │ ├── NewDriverManager.java
│ │ │ │ │ │ ├── RequestResult.java
│ │ │ │ │ │ ├── ResponseAssertionResult.java
│ │ │ │ │ │ ├── ResponseResult.java
│ │ │ │ │ │ ├── ScenarioResult.java
│ │ │ │ │ │ └── TestResult.java
│ │ │ │ │ ├── parse
│ │ │ │ │ │ ├── ApiImportAbstractParser.java
│ │ │ │ │ │ ├── ApiImportParser.java
│ │ │ │ │ │ ├── ApiImportParserFactory.java
│ │ │ │ │ │ ├── JmeterDocumentParser.java
│ │ │ │ │ │ ├── MsParser.java
│ │ │ │ │ │ ├── PostmanParser.java
│ │ │ │ │ │ ├── Swagger2Parser.java
│ │ │ │ │ │ ├── Swagger3Parser.java
│ │ │ │ │ │ ├── SwaggerAbstractParser.java
│ │ │ │ │ │ └── old
│ │ │ │ │ │ ├── ApiImportAbstractParser.java
│ │ │ │ │ │ ├── ApiImportParser.java
│ │ │ │ │ │ ├── ApiImportParserFactory.java
│ │ │ │ │ │ ├── JmeterDocumentParser.java
│ │ │ │ │ │ ├── MsParser.java
│ │ │ │ │ │ ├── PostmanParser.java
│ │ │ │ │ │ └── Swagger2Parser.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── APIDatabaseService.java
│ │ │ │ │ ├── APIMonitorService.java
│ │ │ │ │ ├── APIReportService.java
│ │ │ │ │ ├── APITestService.java
│ │ │ │ │ ├── ApiAutomationService.java
│ │ │ │ │ ├── ApiDefinitionExecResultService.java
│ │ │ │ │ ├── ApiDefinitionService.java
│ │ │ │ │ ├── ApiModuleService.java
│ │ │ │ │ ├── ApiScenarioModuleService.java
│ │ │ │ │ ├── ApiScenarioReportService.java
│ │ │ │ │ ├── ApiTestCaseService.java
│ │ │ │ │ ├── ApiTestEnvironmentService.java
│ │ │ │ │ └── HistoricalDataUpgradeService.java
│ │ │ │ ├── base
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── ApiDataView.java
│ │ │ │ │ │ ├── ApiDefinition.java
│ │ │ │ │ │ ├── ApiDefinitionExample.java
│ │ │ │ │ │ ├── ApiDefinitionExecResult.java
│ │ │ │ │ │ ├── ApiDefinitionExecResultExample.java
│ │ │ │ │ │ ├── ApiDefinitionWithBLOBs.java
│ │ │ │ │ │ ├── ApiModule.java
│ │ │ │ │ │ ├── ApiModuleExample.java
│ │ │ │ │ │ ├── ApiScenario.java
│ │ │ │ │ │ ├── ApiScenarioExample.java
│ │ │ │ │ │ ├── ApiScenarioModule.java
│ │ │ │ │ │ ├── ApiScenarioModuleExample.java
│ │ │ │ │ │ ├── ApiScenarioReport.java
│ │ │ │ │ │ ├── ApiScenarioReportDetail.java
│ │ │ │ │ │ ├── ApiScenarioReportDetailExample.java
│ │ │ │ │ │ ├── ApiScenarioReportExample.java
│ │ │ │ │ │ ├── ApiScenarioWithBLOBs.java
│ │ │ │ │ │ ├── ApiTest.java
│ │ │ │ │ │ ├── ApiTestCase.java
│ │ │ │ │ │ ├── ApiTestCaseExample.java
│ │ │ │ │ │ ├── ApiTestCaseWithBLOBs.java
│ │ │ │ │ │ ├── ApiTestEnvironment.java
│ │ │ │ │ │ ├── ApiTestEnvironmentExample.java
│ │ │ │ │ │ ├── ApiTestEnvironmentWithBLOBs.java
│ │ │ │ │ │ ├── ApiTestExample.java
│ │ │ │ │ │ ├── ApiTestFile.java
│ │ │ │ │ │ ├── ApiTestFileExample.java
│ │ │ │ │ │ ├── ApiTestReport.java
│ │ │ │ │ │ ├── ApiTestReportDetail.java
│ │ │ │ │ │ ├── ApiTestReportDetailExample.java
│ │ │ │ │ │ ├── ApiTestReportExample.java
│ │ │ │ │ │ ├── AuthSource.java
│ │ │ │ │ │ ├── AuthSourceExample.java
│ │ │ │ │ │ ├── FileContent.java
│ │ │ │ │ │ ├── FileContentExample.java
│ │ │ │ │ │ ├── FileMetadata.java
│ │ │ │ │ │ ├── FileMetadataExample.java
│ │ │ │ │ │ ├── Issues.java
│ │ │ │ │ │ ├── IssuesExample.java
│ │ │ │ │ │ ├── JarConfig.java
│ │ │ │ │ │ ├── JarConfigExample.java
│ │ │ │ │ │ ├── LoadTest.java
│ │ │ │ │ │ ├── LoadTestExample.java
│ │ │ │ │ │ ├── LoadTestFile.java
│ │ │ │ │ │ ├── LoadTestFileExample.java
│ │ │ │ │ │ ├── LoadTestReport.java
│ │ │ │ │ │ ├── LoadTestReportDetail.java
│ │ │ │ │ │ ├── LoadTestReportDetailExample.java
│ │ │ │ │ │ ├── LoadTestReportDetailKey.java
│ │ │ │ │ │ ├── LoadTestReportExample.java
│ │ │ │ │ │ ├── LoadTestReportLog.java
│ │ │ │ │ │ ├── LoadTestReportLogExample.java
│ │ │ │ │ │ ├── LoadTestReportResult.java
│ │ │ │ │ │ ├── LoadTestReportResultExample.java
│ │ │ │ │ │ ├── LoadTestReportWithBLOBs.java
│ │ │ │ │ │ ├── LoadTestWithBLOBs.java
│ │ │ │ │ │ ├── MessageTask.java
│ │ │ │ │ │ ├── MessageTaskExample.java
│ │ │ │ │ │ ├── Organization.java
│ │ │ │ │ │ ├── OrganizationExample.java
│ │ │ │ │ │ ├── Project.java
│ │ │ │ │ │ ├── ProjectExample.java
│ │ │ │ │ │ ├── Quota.java
│ │ │ │ │ │ ├── QuotaExample.java
│ │ │ │ │ │ ├── Role.java
│ │ │ │ │ │ ├── RoleExample.java
│ │ │ │ │ │ ├── Schedule.java
│ │ │ │ │ │ ├── ScheduleExample.java
│ │ │ │ │ │ ├── ServiceIntegration.java
│ │ │ │ │ │ ├── ServiceIntegrationExample.java
│ │ │ │ │ │ ├── SwaggerUrlProject.java
│ │ │ │ │ │ ├── SwaggerUrlProjectExample.java
│ │ │ │ │ │ ├── SystemParameter.java
│ │ │ │ │ │ ├── SystemParameterExample.java
│ │ │ │ │ │ ├── TestCase.java
│ │ │ │ │ │ ├── TestCaseComment.java
│ │ │ │ │ │ ├── TestCaseCommentExample.java
│ │ │ │ │ │ ├── TestCaseExample.java
│ │ │ │ │ │ ├── TestCaseFile.java
│ │ │ │ │ │ ├── TestCaseFileExample.java
│ │ │ │ │ │ ├── TestCaseIssues.java
│ │ │ │ │ │ ├── TestCaseIssuesExample.java
│ │ │ │ │ │ ├── TestCaseNode.java
│ │ │ │ │ │ ├── TestCaseNodeExample.java
│ │ │ │ │ │ ├── TestCaseReport.java
│ │ │ │ │ │ ├── TestCaseReportExample.java
│ │ │ │ │ │ ├── TestCaseReportTemplate.java
│ │ │ │ │ │ ├── TestCaseReportTemplateExample.java
│ │ │ │ │ │ ├── TestCaseReview.java
│ │ │ │ │ │ ├── TestCaseReviewExample.java
│ │ │ │ │ │ ├── TestCaseReviewProject.java
│ │ │ │ │ │ ├── TestCaseReviewProjectExample.java
│ │ │ │ │ │ ├── TestCaseReviewTestCase.java
│ │ │ │ │ │ ├── TestCaseReviewTestCaseExample.java
│ │ │ │ │ │ ├── TestCaseReviewUsers.java
│ │ │ │ │ │ ├── TestCaseReviewUsersExample.java
│ │ │ │ │ │ ├── TestCaseWithBLOBs.java
│ │ │ │ │ │ ├── TestPlan.java
│ │ │ │ │ │ ├── TestPlanApiCase.java
│ │ │ │ │ │ ├── TestPlanApiCaseExample.java
│ │ │ │ │ │ ├── TestPlanApiScenario.java
│ │ │ │ │ │ ├── TestPlanApiScenarioExample.java
│ │ │ │ │ │ ├── TestPlanExample.java
│ │ │ │ │ │ ├── TestPlanLoadCase.java
│ │ │ │ │ │ ├── TestPlanLoadCaseExample.java
│ │ │ │ │ │ ├── TestPlanProject.java
│ │ │ │ │ │ ├── TestPlanProjectExample.java
│ │ │ │ │ │ ├── TestPlanReport.java
│ │ │ │ │ │ ├── TestPlanReportData.java
│ │ │ │ │ │ ├── TestPlanReportDataExample.java
│ │ │ │ │ │ ├── TestPlanReportDataWithBLOBs.java
│ │ │ │ │ │ ├── TestPlanReportExample.java
│ │ │ │ │ │ ├── TestPlanTestCase.java
│ │ │ │ │ │ ├── TestPlanTestCaseExample.java
│ │ │ │ │ │ ├── TestPlanTestCaseWithBLOBs.java
│ │ │ │ │ │ ├── TestResource.java
│ │ │ │ │ │ ├── TestResourceExample.java
│ │ │ │ │ │ ├── TestResourcePool.java
│ │ │ │ │ │ ├── TestResourcePoolExample.java
│ │ │ │ │ │ ├── User.java
│ │ │ │ │ │ ├── UserExample.java
│ │ │ │ │ │ ├── UserKey.java
│ │ │ │ │ │ ├── UserKeyExample.java
│ │ │ │ │ │ ├── UserRole.java
│ │ │ │ │ │ ├── UserRoleExample.java
│ │ │ │ │ │ ├── Workspace.java
│ │ │ │ │ │ └── WorkspaceExample.java
│ │ │ │ │ └── mapper
│ │ │ │ │ ├── ApiDataViewMapper.java
│ │ │ │ │ ├── ApiDataViewMapper.xml
│ │ │ │ │ ├── ApiDefinitionExecResultMapper.java
│ │ │ │ │ ├── ApiDefinitionExecResultMapper.xml
│ │ │ │ │ ├── ApiDefinitionMapper.java
│ │ │ │ │ ├── ApiDefinitionMapper.xml
│ │ │ │ │ ├── ApiModuleMapper.java
│ │ │ │ │ ├── ApiModuleMapper.xml
│ │ │ │ │ ├── ApiScenarioMapper.java
│ │ │ │ │ ├── ApiScenarioMapper.xml
│ │ │ │ │ ├── ApiScenarioModuleMapper.java
│ │ │ │ │ ├── ApiScenarioModuleMapper.xml
│ │ │ │ │ ├── ApiScenarioReportDetailMapper.java
│ │ │ │ │ ├── ApiScenarioReportDetailMapper.xml
│ │ │ │ │ ├── ApiScenarioReportMapper.java
│ │ │ │ │ ├── ApiScenarioReportMapper.xml
│ │ │ │ │ ├── ApiTestCaseMapper.java
│ │ │ │ │ ├── ApiTestCaseMapper.xml
│ │ │ │ │ ├── ApiTestEnvironmentMapper.java
│ │ │ │ │ ├── ApiTestEnvironmentMapper.xml
│ │ │ │ │ ├── ApiTestFileMapper.java
│ │ │ │ │ ├── ApiTestFileMapper.xml
│ │ │ │ │ ├── ApiTestMapper.java
│ │ │ │ │ ├── ApiTestMapper.xml
│ │ │ │ │ ├── ApiTestReportDetailMapper.java
│ │ │ │ │ ├── ApiTestReportDetailMapper.xml
│ │ │ │ │ ├── ApiTestReportMapper.java
│ │ │ │ │ ├── ApiTestReportMapper.xml
│ │ │ │ │ ├── AuthSourceMapper.java
│ │ │ │ │ ├── AuthSourceMapper.xml
│ │ │ │ │ ├── FileContentMapper.java
│ │ │ │ │ ├── FileContentMapper.xml
│ │ │ │ │ ├── FileMetadataMapper.java
│ │ │ │ │ ├── FileMetadataMapper.xml
│ │ │ │ │ ├── IssuesMapper.java
│ │ │ │ │ ├── IssuesMapper.xml
│ │ │ │ │ ├── JarConfigMapper.java
│ │ │ │ │ ├── JarConfigMapper.xml
│ │ │ │ │ ├── LoadTestFileMapper.java
│ │ │ │ │ ├── LoadTestFileMapper.xml
│ │ │ │ │ ├── LoadTestMapper.java
│ │ │ │ │ ├── LoadTestMapper.xml
│ │ │ │ │ ├── LoadTestReportDetailMapper.java
│ │ │ │ │ ├── LoadTestReportDetailMapper.xml
│ │ │ │ │ ├── LoadTestReportLogMapper.java
│ │ │ │ │ ├── LoadTestReportLogMapper.xml
│ │ │ │ │ ├── LoadTestReportMapper.java
│ │ │ │ │ ├── LoadTestReportMapper.xml
│ │ │ │ │ ├── LoadTestReportResultMapper.java
│ │ │ │ │ ├── LoadTestReportResultMapper.xml
│ │ │ │ │ ├── MessageTaskMapper.java
│ │ │ │ │ ├── MessageTaskMapper.xml
│ │ │ │ │ ├── OrganizationMapper.java
│ │ │ │ │ ├── OrganizationMapper.xml
│ │ │ │ │ ├── ProjectMapper.java
│ │ │ │ │ ├── ProjectMapper.xml
│ │ │ │ │ ├── QuotaMapper.java
│ │ │ │ │ ├── QuotaMapper.xml
│ │ │ │ │ ├── RoleMapper.java
│ │ │ │ │ ├── RoleMapper.xml
│ │ │ │ │ ├── ScheduleMapper.java
│ │ │ │ │ ├── ScheduleMapper.xml
│ │ │ │ │ ├── ServiceIntegrationMapper.java
│ │ │ │ │ ├── ServiceIntegrationMapper.xml
│ │ │ │ │ ├── SwaggerUrlProjectMapper.java
│ │ │ │ │ ├── SwaggerUrlProjectMapper.xml
│ │ │ │ │ ├── SystemParameterMapper.java
│ │ │ │ │ ├── SystemParameterMapper.xml
│ │ │ │ │ ├── TestCaseCommentMapper.java
│ │ │ │ │ ├── TestCaseCommentMapper.xml
│ │ │ │ │ ├── TestCaseFileMapper.java
│ │ │ │ │ ├── TestCaseFileMapper.xml
│ │ │ │ │ ├── TestCaseIssuesMapper.java
│ │ │ │ │ ├── TestCaseIssuesMapper.xml
│ │ │ │ │ ├── TestCaseMapper.java
│ │ │ │ │ ├── TestCaseMapper.xml
│ │ │ │ │ ├── TestCaseNodeMapper.java
│ │ │ │ │ ├── TestCaseNodeMapper.xml
│ │ │ │ │ ├── TestCaseReportMapper.java
│ │ │ │ │ ├── TestCaseReportMapper.xml
│ │ │ │ │ ├── TestCaseReportTemplateMapper.java
│ │ │ │ │ ├── TestCaseReportTemplateMapper.xml
│ │ │ │ │ ├── TestCaseReviewMapper.java
│ │ │ │ │ ├── TestCaseReviewMapper.xml
│ │ │ │ │ ├── TestCaseReviewProjectMapper.java
│ │ │ │ │ ├── TestCaseReviewProjectMapper.xml
│ │ │ │ │ ├── TestCaseReviewTestCaseMapper.java
│ │ │ │ │ ├── TestCaseReviewTestCaseMapper.xml
│ │ │ │ │ ├── TestCaseReviewUsersMapper.java
│ │ │ │ │ ├── TestCaseReviewUsersMapper.xml
│ │ │ │ │ ├── TestPlanApiCaseMapper.java
│ │ │ │ │ ├── TestPlanApiCaseMapper.xml
│ │ │ │ │ ├── TestPlanApiScenarioMapper.java
│ │ │ │ │ ├── TestPlanApiScenarioMapper.xml
│ │ │ │ │ ├── TestPlanLoadCaseMapper.java
│ │ │ │ │ ├── TestPlanLoadCaseMapper.xml
│ │ │ │ │ ├── TestPlanMapper.java
│ │ │ │ │ ├── TestPlanMapper.xml
│ │ │ │ │ ├── TestPlanProjectMapper.java
│ │ │ │ │ ├── TestPlanProjectMapper.xml
│ │ │ │ │ ├── TestPlanReportDataMapper.java
│ │ │ │ │ ├── TestPlanReportDataMapper.xml
│ │ │ │ │ ├── TestPlanReportMapper.java
│ │ │ │ │ ├── TestPlanReportMapper.xml
│ │ │ │ │ ├── TestPlanTestCaseMapper.java
│ │ │ │ │ ├── TestPlanTestCaseMapper.xml
│ │ │ │ │ ├── TestResourceMapper.java
│ │ │ │ │ ├── TestResourceMapper.xml
│ │ │ │ │ ├── TestResourcePoolMapper.java
│ │ │ │ │ ├── TestResourcePoolMapper.xml
│ │ │ │ │ ├── UserKeyMapper.java
│ │ │ │ │ ├── UserKeyMapper.xml
│ │ │ │ │ ├── UserMapper.java
│ │ │ │ │ ├── UserMapper.xml
│ │ │ │ │ ├── UserRoleMapper.java
│ │ │ │ │ ├── UserRoleMapper.xml
│ │ │ │ │ ├── WorkspaceMapper.java
│ │ │ │ │ ├── WorkspaceMapper.xml
│ │ │ │ │ └── ext
│ │ │ │ │ ├── ExtApiDefinitionExecResultMapper.java
│ │ │ │ │ ├── ExtApiDefinitionExecResultMapper.xml
│ │ │ │ │ ├── ExtApiDefinitionMapper.java
│ │ │ │ │ ├── ExtApiDefinitionMapper.xml
│ │ │ │ │ ├── ExtApiModuleMapper.java
│ │ │ │ │ ├── ExtApiModuleMapper.xml
│ │ │ │ │ ├── ExtApiScenarioMapper.java
│ │ │ │ │ ├── ExtApiScenarioMapper.xml
│ │ │ │ │ ├── ExtApiScenarioModuleMapper.java
│ │ │ │ │ ├── ExtApiScenarioModuleMapper.xml
│ │ │ │ │ ├── ExtApiScenarioReportMapper.java
│ │ │ │ │ ├── ExtApiScenarioReportMapper.xml
│ │ │ │ │ ├── ExtApiTestCaseMapper.java
│ │ │ │ │ ├── ExtApiTestCaseMapper.xml
│ │ │ │ │ ├── ExtApiTestMapper.java
│ │ │ │ │ ├── ExtApiTestMapper.xml
│ │ │ │ │ ├── ExtApiTestReportMapper.java
│ │ │ │ │ ├── ExtApiTestReportMapper.xml
│ │ │ │ │ ├── ExtBaseMapper.java
│ │ │ │ │ ├── ExtBaseMapper.xml
│ │ │ │ │ ├── ExtFileContentMapper.java
│ │ │ │ │ ├── ExtIssuesMapper.java
│ │ │ │ │ ├── ExtIssuesMapper.xml
│ │ │ │ │ ├── ExtLoadTestMapper.java
│ │ │ │ │ ├── ExtLoadTestMapper.xml
│ │ │ │ │ ├── ExtLoadTestReportDetailMapper.java
│ │ │ │ │ ├── ExtLoadTestReportDetailMapper.xml
│ │ │ │ │ ├── ExtLoadTestReportMapper.java
│ │ │ │ │ ├── ExtLoadTestReportMapper.xml
│ │ │ │ │ ├── ExtOrganizationMapper.java
│ │ │ │ │ ├── ExtOrganizationMapper.xml
│ │ │ │ │ ├── ExtProjectMapper.java
│ │ │ │ │ ├── ExtProjectMapper.xml
│ │ │ │ │ ├── ExtRoleMapper.java
│ │ │ │ │ ├── ExtRoleMapper.xml
│ │ │ │ │ ├── ExtScheduleMapper.java
│ │ │ │ │ ├── ExtScheduleMapper.xml
│ │ │ │ │ ├── ExtSwaggerUrlScheduleMapper.java
│ │ │ │ │ ├── ExtSwaggerUrlScheduleMapper.xml
│ │ │ │ │ ├── ExtSystemParameterMapper.java
│ │ │ │ │ ├── ExtSystemParameterMapper.xml
│ │ │ │ │ ├── ExtTestCaseCommentMapper.java
│ │ │ │ │ ├── ExtTestCaseCommentMapper.xml
│ │ │ │ │ ├── ExtTestCaseMapper.java
│ │ │ │ │ ├── ExtTestCaseMapper.xml
│ │ │ │ │ ├── ExtTestCaseNodeMapper.java
│ │ │ │ │ ├── ExtTestCaseNodeMapper.xml
│ │ │ │ │ ├── ExtTestCaseReviewMapper.java
│ │ │ │ │ ├── ExtTestCaseReviewMapper.xml
│ │ │ │ │ ├── ExtTestPlanApiCaseMapper.java
│ │ │ │ │ ├── ExtTestPlanApiCaseMapper.xml
│ │ │ │ │ ├── ExtTestPlanLoadCaseMapper.java
│ │ │ │ │ ├── ExtTestPlanLoadCaseMapper.xml
│ │ │ │ │ ├── ExtTestPlanMapper.java
│ │ │ │ │ ├── ExtTestPlanMapper.xml
│ │ │ │ │ ├── ExtTestPlanReportMapper.java
│ │ │ │ │ ├── ExtTestPlanReportMapper.xml
│ │ │ │ │ ├── ExtTestPlanScenarioCaseMapper.java
│ │ │ │ │ ├── ExtTestPlanScenarioCaseMapper.xml
│ │ │ │ │ ├── ExtTestPlanTestCaseMapper.java
│ │ │ │ │ ├── ExtTestPlanTestCaseMapper.xml
│ │ │ │ │ ├── ExtTestReviewCaseMapper.java
│ │ │ │ │ ├── ExtTestReviewCaseMapper.xml
│ │ │ │ │ ├── ExtUserMapper.java
│ │ │ │ │ ├── ExtUserMapper.xml
│ │ │ │ │ ├── ExtUserRoleMapper.java
│ │ │ │ │ ├── ExtUserRoleMapper.xml
│ │ │ │ │ ├── ExtWorkspaceMapper.java
│ │ │ │ │ └── ExtWorkspaceMapper.xml
│ │ │ │ ├── commons
│ │ │ │ │ ├── constants
│ │ │ │ │ │ ├── APITestStatus.java
│ │ │ │ │ │ ├── ApiImportPlatform.java
│ │ │ │ │ │ ├── ApiKeyConstants.java
│ │ │ │ │ │ ├── ApiRunMode.java
│ │ │ │ │ │ ├── FileType.java
│ │ │ │ │ │ ├── I18nConstants.java
│ │ │ │ │ │ ├── IssuesManagePlatform.java
│ │ │ │ │ │ ├── LoopConstants.java
│ │ │ │ │ │ ├── MsRequestBodyType.java
│ │ │ │ │ │ ├── MsTestElementConstants.java
│ │ │ │ │ │ ├── NoticeConstants.java
│ │ │ │ │ │ ├── ParamConstants.java
│ │ │ │ │ │ ├── PerformanceTestStatus.java
│ │ │ │ │ │ ├── PostmanRequestBodyMode.java
│ │ │ │ │ │ ├── ReportKeys.java
│ │ │ │ │ │ ├── ReportTriggerMode.java
│ │ │ │ │ │ ├── ResourcePoolTypeEnum.java
│ │ │ │ │ │ ├── ResourceStatusEnum.java
│ │ │ │ │ │ ├── RoleConstants.java
│ │ │ │ │ │ ├── ScheduleGroup.java
│ │ │ │ │ │ ├── ScheduleType.java
│ │ │ │ │ │ ├── SessionConstants.java
│ │ │ │ │ │ ├── SsoMode.java
│ │ │ │ │ │ ├── SwaggerParameterType.java
│ │ │ │ │ │ ├── TestCaseConstants.java
│ │ │ │ │ │ ├── TestCaseReviewStatus.java
│ │ │ │ │ │ ├── TestPlanReportStatus.java
│ │ │ │ │ │ ├── TestPlanStatus.java
│ │ │ │ │ │ ├── TestPlanTestCaseStatus.java
│ │ │ │ │ │ ├── TestReviewCaseStatus.java
│ │ │ │ │ │ ├── UserSource.java
│ │ │ │ │ │ ├── UserStatus.java
│ │ │ │ │ │ └── VariableTypeConstants.java
│ │ │ │ │ ├── consumer
│ │ │ │ │ │ ├── LoadTestConsumer.java
│ │ │ │ │ │ └── LoadTestFinishEvent.java
│ │ │ │ │ ├── exception
│ │ │ │ │ │ └── MSException.java
│ │ │ │ │ ├── json
│ │ │ │ │ │ └── JSONSchemaGenerator.java
│ │ │ │ │ ├── user
│ │ │ │ │ │ └── SessionUser.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── BeanUtils.java
│ │ │ │ │ ├── CodingUtil.java
│ │ │ │ │ ├── CommonBeanFactory.java
│ │ │ │ │ ├── CompressUtils.java
│ │ │ │ │ ├── CronUtils.java
│ │ │ │ │ ├── DateUtils.java
│ │ │ │ │ ├── EncryptUtils.java
│ │ │ │ │ ├── IOUtils.java
│ │ │ │ │ ├── JsonPathUtils.java
│ │ │ │ │ ├── LogUtil.java
│ │ │ │ │ ├── MathUtils.java
│ │ │ │ │ ├── MybatisInterceptorConfig.java
│ │ │ │ │ ├── PageUtils.java
│ │ │ │ │ ├── Pager.java
│ │ │ │ │ ├── RestTemplateUtils.java
│ │ │ │ │ ├── ScriptEngineUtils.java
│ │ │ │ │ ├── ServiceUtils.java
│ │ │ │ │ ├── SessionUtils.java
│ │ │ │ │ ├── ShiroUtils.java
│ │ │ │ │ ├── UrlTestUtils.java
│ │ │ │ │ └── XMLUtils.java
│ │ │ │ ├── config
│ │ │ │ │ ├── AsyncConfig.java
│ │ │ │ │ ├── I18nConfig.java
│ │ │ │ │ ├── JmeterProperties.java
│ │ │ │ │ ├── KafkaProperties.java
│ │ │ │ │ ├── MybatisConfig.java
│ │ │ │ │ ├── OpenApiConfig.java
│ │ │ │ │ ├── ShiroConfig.java
│ │ │ │ │ ├── WebConfig.java
│ │ │ │ │ └── WebSocketConfig.java
│ │ │ │ ├── controller
│ │ │ │ │ ├── HelloController.java
│ │ │ │ │ ├── I18nController.java
│ │ │ │ │ ├── IndexController.java
│ │ │ │ │ ├── JarConfigController.java
│ │ │ │ │ ├── LoginController.java
│ │ │ │ │ ├── OrganizationController.java
│ │ │ │ │ ├── ProjectController.java
│ │ │ │ │ ├── ResultHolder.java
│ │ │ │ │ ├── RoleController.java
│ │ │ │ │ ├── ScheduleController.java
│ │ │ │ │ ├── ServiceIntegrationController.java
│ │ │ │ │ ├── SystemParameterController.java
│ │ │ │ │ ├── TestController.java
│ │ │ │ │ ├── TestResourcePoolController.java
│ │ │ │ │ ├── UserController.java
│ │ │ │ │ ├── UserKeysController.java
│ │ │ │ │ ├── UserRoleController.java
│ │ │ │ │ ├── WorkspaceController.java
│ │ │ │ │ ├── handler
│ │ │ │ │ │ ├── GlobalExceptionHandler.java
│ │ │ │ │ │ ├── RestControllerExceptionHandler.java
│ │ │ │ │ │ ├── ResultResponseBodyAdvice.java
│ │ │ │ │ │ └── annotation
│ │ │ │ │ │ └── NoResultHolder.java
│ │ │ │ │ └── request
│ │ │ │ │ ├── BaseQueryRequest.java
│ │ │ │ │ ├── IntegrationRequest.java
│ │ │ │ │ ├── LoginRequest.java
│ │ │ │ │ ├── OrderRequest.java
│ │ │ │ │ ├── OrganizationRequest.java
│ │ │ │ │ ├── ProjectRequest.java
│ │ │ │ │ ├── QueryScheduleRequest.java
│ │ │ │ │ ├── UserRequest.java
│ │ │ │ │ ├── WorkspaceRequest.java
│ │ │ │ │ ├── member
│ │ │ │ │ │ ├── AddMemberRequest.java
│ │ │ │ │ │ ├── EditPassWordRequest.java
│ │ │ │ │ │ ├── QueryMemberRequest.java
│ │ │ │ │ │ └── UserRequest.java
│ │ │ │ │ ├── organization
│ │ │ │ │ │ ├── AddOrgMemberRequest.java
│ │ │ │ │ │ └── QueryOrgMemberRequest.java
│ │ │ │ │ └── resourcepool
│ │ │ │ │ └── QueryResourcePoolRequest.java
│ │ │ │ ├── dto
│ │ │ │ │ ├── ApiReportDTO.java
│ │ │ │ │ ├── BaseSystemConfigDTO.java
│ │ │ │ │ ├── DashboardTestDTO.java
│ │ │ │ │ ├── LoadTestDTO.java
│ │ │ │ │ ├── LogDetailDTO.java
│ │ │ │ │ ├── NodeDTO.java
│ │ │ │ │ ├── OrganizationMemberDTO.java
│ │ │ │ │ ├── ProjectDTO.java
│ │ │ │ │ ├── ReportDTO.java
│ │ │ │ │ ├── ScheduleDao.java
│ │ │ │ │ ├── TestResourcePoolDTO.java
│ │ │ │ │ ├── UserDTO.java
│ │ │ │ │ ├── UserRoleDTO.java
│ │ │ │ │ ├── UserRoleHelpDTO.java
│ │ │ │ │ ├── WorkspaceDTO.java
│ │ │ │ │ └── WorkspaceMemberDTO.java
│ │ │ │ ├── excel
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── ExcelDataFactory.java
│ │ │ │ │ │ ├── ExcelErrData.java
│ │ │ │ │ │ ├── ExcelResponse.java
│ │ │ │ │ │ ├── TestCaseExcelData.java
│ │ │ │ │ │ ├── TestCaseExcelDataCn.java
│ │ │ │ │ │ ├── TestCaseExcelDataFactory.java
│ │ │ │ │ │ ├── TestCaseExcelDataTw.java
│ │ │ │ │ │ └── TestCaseExcelDataUs.java
│ │ │ │ │ ├── listener
│ │ │ │ │ │ ├── EasyExcelListener.java
│ │ │ │ │ │ └── TestCaseDataListener.java
│ │ │ │ │ └── utils
│ │ │ │ │ ├── EasyExcelExporter.java
│ │ │ │ │ └── ExcelValidateHelper.java
│ │ │ │ ├── exception
│ │ │ │ │ └── ExcelException.java
│ │ │ │ ├── i18n
│ │ │ │ │ ├── Lang.java
│ │ │ │ │ └── Translator.java
│ │ │ │ ├── interceptor
│ │ │ │ │ ├── MybatisInterceptor.java
│ │ │ │ │ └── UserDesensitizationInterceptor.java
│ │ │ │ ├── job
│ │ │ │ │ └── sechedule
│ │ │ │ │ ├── ApiScenarioTestJob.java
│ │ │ │ │ ├── ApiTestJob.java
│ │ │ │ │ ├── MsScheduleJob.java
│ │ │ │ │ ├── PerformanceTestJob.java
│ │ │ │ │ ├── ScheduleManager.java
│ │ │ │ │ ├── SwaggerUrlImportJob.java
│ │ │ │ │ └── TestPlanTestJob.java
│ │ │ │ ├── ldap
│ │ │ │ │ ├── controller
│ │ │ │ │ │ └── LdapController.java
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── LdapInfo.java
│ │ │ │ │ │ └── Person.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── CustomSSLSocketFactory.java
│ │ │ │ │ ├── LdapService.java
│ │ │ │ │ └── SSLLdapContextSource.java
│ │ │ │ ├── listener
│ │ │ │ │ └── AppStartListener.java
│ │ │ │ ├── notice
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── NoticeController.java
│ │ │ │ │ │ └── request
│ │ │ │ │ │ └── MessageRequest.java
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── Mail.java
│ │ │ │ │ │ ├── MailInfo.java
│ │ │ │ │ │ ├── MessageDetail.java
│ │ │ │ │ │ ├── MessageSettingDetail.java
│ │ │ │ │ │ └── UserDetail.java
│ │ │ │ │ ├── message
│ │ │ │ │ │ ├── LinkMessage.java
│ │ │ │ │ │ ├── Message.java
│ │ │ │ │ │ └── TextMessage.java
│ │ │ │ │ ├── sender
│ │ │ │ │ │ ├── AbstractNoticeSender.java
│ │ │ │ │ │ ├── NoticeModel.java
│ │ │ │ │ │ ├── NoticeSender.java
│ │ │ │ │ │ └── impl
│ │ │ │ │ │ ├── DingNoticeSender.java
│ │ │ │ │ │ ├── MailNoticeSender.java
│ │ │ │ │ │ └── WeComNoticeSender.java
│ │ │ │ │ ├── service
│ │ │ │ │ │ ├── ApiAndPerformanceHelper.java
│ │ │ │ │ │ ├── MailService.java
│ │ │ │ │ │ ├── NoticeSendService.java
│ │ │ │ │ │ └── NoticeService.java
│ │ │ │ │ └── util
│ │ │ │ │ ├── SendResult.java
│ │ │ │ │ └── WxChatbotClient.java
│ │ │ │ ├── performance
│ │ │ │ │ ├── base
│ │ │ │ │ │ ├── ChartsData.java
│ │ │ │ │ │ ├── Errors.java
│ │ │ │ │ │ ├── ErrorsTop5.java
│ │ │ │ │ │ ├── ReportTimeInfo.java
│ │ │ │ │ │ ├── Statistics.java
│ │ │ │ │ │ └── TestOverview.java
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── JmeterFileController.java
│ │ │ │ │ │ ├── PerformanceReportController.java
│ │ │ │ │ │ ├── PerformanceTestController.java
│ │ │ │ │ │ └── request
│ │ │ │ │ │ ├── DeleteReportRequest.java
│ │ │ │ │ │ └── ReportRequest.java
│ │ │ │ │ ├── engine
│ │ │ │ │ │ ├── AbstractEngine.java
│ │ │ │ │ │ ├── Engine.java
│ │ │ │ │ │ ├── EngineContext.java
│ │ │ │ │ │ ├── EngineFactory.java
│ │ │ │ │ │ ├── EngineThread.java
│ │ │ │ │ │ ├── docker
│ │ │ │ │ │ │ └── DockerTestEngine.java
│ │ │ │ │ │ └── request
│ │ │ │ │ │ ├── BaseRequest.java
│ │ │ │ │ │ ├── StartTestRequest.java
│ │ │ │ │ │ └── StopTestRequest.java
│ │ │ │ │ ├── notice
│ │ │ │ │ │ └── PerformanceNoticeEvent.java
│ │ │ │ │ ├── parse
│ │ │ │ │ │ ├── EngineSourceParser.java
│ │ │ │ │ │ ├── EngineSourceParserFactory.java
│ │ │ │ │ │ └── xml
│ │ │ │ │ │ ├── XmlEngineSourceParse.java
│ │ │ │ │ │ └── reader
│ │ │ │ │ │ ├── DocumentParser.java
│ │ │ │ │ │ ├── DocumentParserFactory.java
│ │ │ │ │ │ └── jmx
│ │ │ │ │ │ └── JmeterDocumentParser.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── JmeterFileService.java
│ │ │ │ │ ├── PerformanceTestService.java
│ │ │ │ │ └── ReportService.java
│ │ │ │ ├── security
│ │ │ │ │ ├── ApiKeyFilter.java
│ │ │ │ │ ├── ApiKeyHandler.java
│ │ │ │ │ ├── ApiKeySessionHandler.java
│ │ │ │ │ ├── MsUserToken.java
│ │ │ │ │ ├── UserModularRealmAuthenticator.java
│ │ │ │ │ └── realm
│ │ │ │ │ ├── LdapRealm.java
│ │ │ │ │ └── ShiroDBRealm.java
│ │ │ │ ├── service
│ │ │ │ │ ├── BaseDisplayService.java
│ │ │ │ │ ├── CheckPermissionService.java
│ │ │ │ │ ├── FileService.java
│ │ │ │ │ ├── IntegrationService.java
│ │ │ │ │ ├── JarConfigService.java
│ │ │ │ │ ├── KubernetesResourcePoolService.java
│ │ │ │ │ ├── KubernetesTestEngine.java
│ │ │ │ │ ├── NodeResourcePoolService.java
│ │ │ │ │ ├── NodeTreeService.java
│ │ │ │ │ ├── OrganizationService.java
│ │ │ │ │ ├── ProjectService.java
│ │ │ │ │ ├── QuotaService.java
│ │ │ │ │ ├── RoleService.java
│ │ │ │ │ ├── SSOService.java
│ │ │ │ │ ├── ScheduleService.java
│ │ │ │ │ ├── SystemParameterService.java
│ │ │ │ │ ├── TestResourcePoolService.java
│ │ │ │ │ ├── TestResourceService.java
│ │ │ │ │ ├── UserKeyService.java
│ │ │ │ │ ├── UserRoleService.java
│ │ │ │ │ ├── UserService.java
│ │ │ │ │ └── WorkspaceService.java
│ │ │ │ ├── track
│ │ │ │ │ ├── Factory
│ │ │ │ │ │ └── ReportComponentFactory.java
│ │ │ │ │ ├── controller
│ │ │ │ │ │ ├── TestCaseCommentController.java
│ │ │ │ │ │ ├── TestCaseController.java
│ │ │ │ │ │ ├── TestCaseIssuesController.java
│ │ │ │ │ │ ├── TestCaseNodeController.java
│ │ │ │ │ │ ├── TestCaseReportController.java
│ │ │ │ │ │ ├── TestCaseReportTemplateController.java
│ │ │ │ │ │ ├── TestCaseReviewController.java
│ │ │ │ │ │ ├── TestPlanApiCaseController.java
│ │ │ │ │ │ ├── TestPlanController.java
│ │ │ │ │ │ ├── TestPlanLoadCaseController.java
│ │ │ │ │ │ ├── TestPlanReportController.java
│ │ │ │ │ │ ├── TestPlanScenarioCaseController.java
│ │ │ │ │ │ ├── TestPlanTestCaseController.java
│ │ │ │ │ │ └── TestReviewTestCaseController.java
│ │ │ │ │ ├── domain
│ │ │ │ │ │ ├── ReportBaseInfoComponent.java
│ │ │ │ │ │ ├── ReportComponent.java
│ │ │ │ │ │ ├── ReportFailureAdvanceResultComponent.java
│ │ │ │ │ │ ├── ReportFailureResultComponent.java
│ │ │ │ │ │ ├── ReportResultAdvancedChartComponent.java
│ │ │ │ │ │ ├── ReportResultChartComponent.java
│ │ │ │ │ │ ├── ReportResultComponent.java
│ │ │ │ │ │ └── TapdUser.java
│ │ │ │ │ ├── dto
│ │ │ │ │ │ ├── FailureTestCasesAdvanceDTO.java
│ │ │ │ │ │ ├── IssuesDTO.java
│ │ │ │ │ │ ├── TestCaseCommentDTO.java
│ │ │ │ │ │ ├── TestCaseDTO.java
│ │ │ │ │ │ ├── TestCaseNodeDTO.java
│ │ │ │ │ │ ├── TestCaseReportAdvanceStatusResultDTO.java
│ │ │ │ │ │ ├── TestCaseReportMetricDTO.java
│ │ │ │ │ │ ├── TestCaseReportModuleResultDTO.java
│ │ │ │ │ │ ├── TestCaseReportStatusResultDTO.java
│ │ │ │ │ │ ├── TestCaseReviewDTO.java
│ │ │ │ │ │ ├── TestPlanCaseDTO.java
│ │ │ │ │ │ ├── TestPlanDTO.java
│ │ │ │ │ │ ├── TestPlanDTOWithMetric.java
│ │ │ │ │ │ ├── TestPlanLoadCaseDTO.java
│ │ │ │ │ │ ├── TestPlanLoadCaseEventDTO.java
│ │ │ │ │ │ ├── TestPlanReportDTO.java
│ │ │ │ │ │ ├── TestReviewCaseDTO.java
│ │ │ │ │ │ ├── TestReviewDTOWithMetric.java
│ │ │ │ │ │ └── TreeNodeDTO.java
│ │ │ │ │ ├── issue
│ │ │ │ │ │ ├── AbstractIssuePlatform.java
│ │ │ │ │ │ ├── IssueFactory.java
│ │ │ │ │ │ ├── IssuesPlatform.java
│ │ │ │ │ │ ├── JiraPlatform.java
│ │ │ │ │ │ ├── LocalPlatform.java
│ │ │ │ │ │ ├── PlatformUser.java
│ │ │ │ │ │ ├── TapdPlatform.java
│ │ │ │ │ │ ├── ZentaoBuild.java
│ │ │ │ │ │ └── ZentaoPlatform.java
│ │ │ │ │ ├── request
│ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ └── QueryTestPlanReportRequest.java
│ │ │ │ │ │ ├── testCaseReport
│ │ │ │ │ │ │ ├── CreateReportRequest.java
│ │ │ │ │ │ │ └── QueryTemplateRequest.java
│ │ │ │ │ │ ├── testcase
│ │ │ │ │ │ │ ├── ApiCaseRelevanceRequest.java
│ │ │ │ │ │ │ ├── DragNodeRequest.java
│ │ │ │ │ │ │ ├── EditTestCaseRequest.java
│ │ │ │ │ │ │ ├── IssuesRequest.java
│ │ │ │ │ │ │ ├── PlanCaseRelevanceRequest.java
│ │ │ │ │ │ │ ├── QueryNodeRequest.java
│ │ │ │ │ │ │ ├── QueryTestCaseRequest.java
│ │ │ │ │ │ │ ├── QueryTestPlanRequest.java
│ │ │ │ │ │ │ ├── TestCaseBatchRequest.java
│ │ │ │ │ │ │ ├── TestPlanApiCaseBatchRequest.java
│ │ │ │ │ │ │ └── TestPlanCaseBatchRequest.java
│ │ │ │ │ │ ├── testplan
│ │ │ │ │ │ │ ├── AddTestPlanRequest.java
│ │ │ │ │ │ │ ├── DeleteTestPlanRequest.java
│ │ │ │ │ │ │ ├── EditTestPlanRequest.java
│ │ │ │ │ │ │ ├── FileOperationRequest.java
│ │ │ │ │ │ │ ├── LoadCaseReportRequest.java
│ │ │ │ │ │ │ ├── LoadCaseRequest.java
│ │ │ │ │ │ │ ├── QueryTestPlanRequest.java
│ │ │ │ │ │ │ ├── RunTestPlanRequest.java
│ │ │ │ │ │ │ ├── SaveTestPlanRequest.java
│ │ │ │ │ │ │ ├── TestPlanRequest.java
│ │ │ │ │ │ │ └── TestplanRunRequest.java
│ │ │ │ │ │ ├── testplancase
│ │ │ │ │ │ │ ├── QueryTestPlanCaseRequest.java
│ │ │ │ │ │ │ ├── TestCaseRelevanceRequest.java
│ │ │ │ │ │ │ └── TestReviewCaseBatchRequest.java
│ │ │ │ │ │ └── testreview
│ │ │ │ │ │ ├── DeleteRelevanceRequest.java
│ │ │ │ │ │ ├── QueryCaseReviewRequest.java
│ │ │ │ │ │ ├── QueryTestReviewRequest.java
│ │ │ │ │ │ ├── ReviewRelevanceRequest.java
│ │ │ │ │ │ ├── SaveCommentRequest.java
│ │ │ │ │ │ ├── SaveTestCaseReviewRequest.java
│ │ │ │ │ │ └── TestReviewRelevanceRequest.java
│ │ │ │ │ └── service
│ │ │ │ │ ├── IssuesService.java
│ │ │ │ │ ├── LoadReportStatusEvent.java
│ │ │ │ │ ├── TestCaseCommentService.java
│ │ │ │ │ ├── TestCaseIssueService.java
│ │ │ │ │ ├── TestCaseNodeService.java
│ │ │ │ │ ├── TestCaseReportService.java
│ │ │ │ │ ├── TestCaseReportTemplateService.java
│ │ │ │ │ ├── TestCaseReviewService.java
│ │ │ │ │ ├── TestCaseService.java
│ │ │ │ │ ├── TestPlanApiCaseService.java
│ │ │ │ │ ├── TestPlanLoadCaseEvent.java
│ │ │ │ │ ├── TestPlanLoadCaseService.java
│ │ │ │ │ ├── TestPlanProjectService.java
│ │ │ │ │ ├── TestPlanReportService.java
│ │ │ │ │ ├── TestPlanScenarioCaseService.java
│ │ │ │ │ ├── TestPlanService.java
│ │ │ │ │ ├── TestPlanTestCaseService.java
│ │ │ │ │ ├── TestReviewProjectService.java
│ │ │ │ │ └── TestReviewTestCaseService.java
│ │ │ │ ├── websocket
│ │ │ │ │ ├── ReportWebSocket.java
│ │ │ │ │ ├── ServerEndpointConfigurator.java
│ │ │ │ │ └── WebSocketServer.java
│ │ │ │ ├── xmind
│ │ │ │ │ ├── XmindCaseParser.java
│ │ │ │ │ ├── parser
│ │ │ │ │ │ ├── XmindLegacy.java
│ │ │ │ │ │ ├── XmindParser.java
│ │ │ │ │ │ ├── XmindZen.java
│ │ │ │ │ │ ├── ZipUtils.java
│ │ │ │ │ │ └── pojo
│ │ │ │ │ │ ├── Attached.java
│ │ │ │ │ │ ├── Children.java
│ │ │ │ │ │ ├── Comments.java
│ │ │ │ │ │ ├── JsonRootBean.java
│ │ │ │ │ │ ├── Notes.java
│ │ │ │ │ │ └── RootTopic.java
│ │ │ │ │ ├── template
│ │ │ │ │ │ └── xmind.xml
│ │ │ │ │ └── utils
│ │ │ │ │ ├── DetailUtil.java
│ │ │ │ │ └── FileUtil.java
│ │ │ │ └── xpack
│ │ │ └── org
│ │ │ └── apache
│ │ │ └── jmeter
│ │ │ ├── NewDriver.java
│ │ │ ├── reporters
│ │ │ │ └── ResultAction.java
│ │ │ └── util
│ │ │ ├── JSR223BeanInfoSupport.java
│ │ │ └── JSR223TestElement.java
│ │ └── resources
│ │ ├── allatori
│ │ │ ├── allatori.jar
│ │ │ └── allatori.xml
│ │ ├── application.properties
│ │ ├── db
│ │ │ └── migration
│ │ │ ├── V10__modify_schedule.sql
│ │ │ ├── V11__add_test_case.sql
│ │ │ ├── V12__modify_load_test_report.sql
│ │ │ ├── V13__service_integration.sql
│ │ │ ├── V14__modify_project.sql
│ │ │ ├── V15__add_quota.sql
│ │ │ ├── V16__modify_test_case_path.sql
│ │ │ ├── V17__test_plan_project.sql
│ │ │ ├── V18__notice.sql
│ │ │ ├── V19__add_api_test_environment.sql
│ │ │ ├── V1__init.sql
│ │ │ ├── V20__add_license.sql
│ │ │ ├── V21__modify_test_plan.sql
│ │ │ ├── V22__modify_api_test_environment.sql
│ │ │ ├── V23__test_case_review.sql
│ │ │ ├── V24__modify_test_plan.sql
│ │ │ ├── V25__add_base_system_properties.sql
│ │ │ ├── V26__modify_notice.sql
│ │ │ ├── V27__refactor_notice.sql
│ │ │ ├── V28__modify_test_case.sql
│ │ │ ├── V29__test_case_matainer.sql
│ │ │ ├── V2__metersphere_ddl.sql
│ │ │ ├── V30__test_case_file.sql
│ │ │ ├── V31__message_task.sql
│ │ │ ├── V32__test_case_prerequisite.sql
│ │ │ ├── V33__modify_message_task.sql
│ │ │ ├── V34__api_test_jar.sql
│ │ │ ├── V35__modify_test_plan.sql
│ │ │ ├── V36__add_messag_task.sql
│ │ │ ├── V37__add_plan_index.sql
│ │ │ ├── V38__modify_message_task_test_id.sql
│ │ │ ├── V39__modify_message_task_create_time.sql
│ │ │ ├── V3__init_data.sql
│ │ │ ├── V40__test_case_node_add_pos.sql
│ │ │ ├── V41__set_ui.sql
│ │ │ ├── V42__modify_load_test_report.sql
│ │ │ ├── V43__add_role.sql
│ │ │ ├── V44__project_add_zentao_id.sql
│ │ │ ├── V45__modify_issues.sql
│ │ │ ├── V47__api_data_view.sql
│ │ │ ├── V48__notice_template.sql
│ │ │ ├── V49__user_add_project_id.sql
│ │ │ ├── V4__user_key.sql
│ │ │ ├── V50__api_scenario.sql
│ │ │ ├── V51__api_definition.sql
│ │ │ ├── V52__test_plan_api.sql
│ │ │ ├── V53__modify_api_scenario.sql
│ │ │ ├── V54__test_resource_pool_image.sql
│ │ │ ├── V55__modify_api_scenario_report.sql
│ │ │ ├── V56__modify_api_module_pos.sql
│ │ │ ├── V57__init_api_definition_num.sql
│ │ │ ├── V58__add_index.sql
│ │ │ ├── V59__test_plan_add_project_id.sql
│ │ │ ├── V5__schedule.sql
│ │ │ ├── V60__modify_project_add_repeatable.sql
│ │ │ ├── V61__modify_test_case_name.sql
│ │ │ ├── V62__add_test_plan_load_case.sql
│ │ │ ├── V63__add_tag.sql
│ │ │ ├── V64__auth_source.sql
│ │ │ ├── V65__init_load_test_num.sql
│ │ │ ├── V66__init_test_plan_report.sql
│ │ │ ├── V67__case_review_add_project_id.sql
│ │ │ ├── V68__modify_api_test_case.sql
│ │ │ ├── V69__swagger_url_project.sql
│ │ │ ├── V6__api_test_environment.sql
│ │ │ ├── V70__modify_test_plan_report.sql
│ │ │ ├── V71__modify_scenario.sql
│ │ │ ├── V72__modify_swagger_url_project.sql
│ │ │ ├── V73__modify_test_plan_api_scenario_id.sql
│ │ │ ├── V7__modify_user_table.sql
│ │ │ ├── V8__modify_test_case.sql
│ │ │ └── V9__modify_report_result.sql
│ │ ├── generatorConfig.xml
│ │ ├── i18n
│ │ │ ├── messages.properties
│ │ │ ├── messages_en_US.properties
│ │ │ ├── messages_zh_CN.properties
│ │ │ └── messages_zh_TW.properties
│ │ ├── javascript
│ │ │ └── func.js
│ │ ├── jmeter
│ │ │ └── bin
│ │ │ ├── jmeter.properties
│ │ │ ├── saveservice.properties
│ │ │ ├── upgrade.properties
│ │ │ └── user.properties
│ │ ├── logback.xml
│ │ └── mail
│ │ ├── ApiFailedNotification.html
│ │ ├── ApiSuccessfulNotification.html
│ │ ├── IssuesCreate.html
│ │ ├── PerformanceApiSuccessNotification.html
│ │ ├── PerformanceFailedNotification.html
│ │ ├── ReviewComments.html
│ │ ├── ReviewDelete.html
│ │ ├── ReviewEnd.html
│ │ ├── ReviewInitiate.html
│ │ ├── TestPlanDelete.html
│ │ ├── TestPlanEnd.html
│ │ ├── TestPlanFailedNotification.html
│ │ ├── TestPlanStart.html
│ │ └── TestPlanSuccessfulNotification.html
│ ├── frontend
│ │ ├── babel.config.js
│ │ ├── package.json
│ │ ├── pom.xml
│ │ ├── public
│ │ │ └── favicon.ico
│ │ ├── src
│ │ │ ├── assets
│ │ │ │ ├── browser
│ │ │ │ │ ├── chrome.svg
│ │ │ │ │ ├── firefox.svg
│ │ │ │ │ ├── ie.svg
│ │ │ │ │ └── opera.svg
│ │ │ │ ├── favicon-反白.png
│ │ │ │ ├── favicon-彩色.png
│ │ │ │ ├── info.png
│ │ │ │ ├── jira.png
│ │ │ │ ├── logo-MeterSphere.png
│ │ │ │ ├── logo-dark-MeterSphere.svg
│ │ │ │ ├── logo-light-MeterSphere.svg
│ │ │ │ ├── tapd.png
│ │ │ │ ├── template.png
│ │ │ │ ├── theme
│ │ │ │ │ ├── fonts
│ │ │ │ │ │ ├── element-icons.ttf
│ │ │ │ │ │ └── element-icons.woff
│ │ │ │ │ └── index.css
│ │ │ │ ├── xmind.jpg
│ │ │ │ └── zentao.jpg
│ │ │ ├── business
│ │ │ │ ├── App.vue
│ │ │ │ ├── components
│ │ │ │ │ ├── api
│ │ │ │ │ │ ├── ApiTest.vue
│ │ │ │ │ │ ├── automation
│ │ │ │ │ │ │ ├── ApiAutomation.vue
│ │ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ │ ├── ApiReportDetail.vue
│ │ │ │ │ │ │ │ ├── ApiReportExport.vue
│ │ │ │ │ │ │ │ ├── ApiReportList.vue
│ │ │ │ │ │ │ │ ├── ApiReportReqestHeaderItem.vue
│ │ │ │ │ │ │ │ ├── ApiReportStatus.vue
│ │ │ │ │ │ │ │ ├── ApiReportViewHeader.vue
│ │ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ │ ├── AssertionResults.vue
│ │ │ │ │ │ │ │ ├── MetricChart.vue
│ │ │ │ │ │ │ │ ├── RequestMetric.vue
│ │ │ │ │ │ │ │ ├── RequestResult.vue
│ │ │ │ │ │ │ │ ├── RequestResultTail.vue
│ │ │ │ │ │ │ │ ├── RequestSubResult.vue
│ │ │ │ │ │ │ │ ├── RequestText.vue
│ │ │ │ │ │ │ │ ├── ResponseText.vue
│ │ │ │ │ │ │ │ ├── ScenarioResult.vue
│ │ │ │ │ │ │ │ ├── ScenarioResults.vue
│ │ │ │ │ │ │ │ └── SqlResultTable.vue
│ │ │ │ │ │ │ ├── scenario
│ │ │ │ │ │ │ │ ├── AddBasisScenario.vue
│ │ │ │ │ │ │ │ ├── ApiCustomize.vue
│ │ │ │ │ │ │ │ ├── ApiScenarioList.vue
│ │ │ │ │ │ │ │ ├── ApiScenarioModule.vue
│ │ │ │ │ │ │ │ ├── ApiScenarioVariables.vue
│ │ │ │ │ │ │ │ ├── ApiVariableInput.vue
│ │ │ │ │ │ │ │ ├── DebugRun.vue
│ │ │ │ │ │ │ │ ├── EditApiScenario.vue
│ │ │ │ │ │ │ │ ├── ImportApiScenario.vue
│ │ │ │ │ │ │ │ ├── MsInputTag.vue
│ │ │ │ │ │ │ │ ├── ReferenceView.vue
│ │ │ │ │ │ │ │ ├── ScenarioExtendBtns.vue
│ │ │ │ │ │ │ │ ├── Setting.js
│ │ │ │ │ │ │ │ ├── TableMoreBtn.vue
│ │ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ │ ├── ApiRelevance.vue
│ │ │ │ │ │ │ │ │ ├── RelevanceApiList.vue
│ │ │ │ │ │ │ │ │ ├── RelevanceCaseList.vue
│ │ │ │ │ │ │ │ │ ├── ScenarioRelevance.vue
│ │ │ │ │ │ │ │ │ └── TableSelectCountBar.vue
│ │ │ │ │ │ │ │ ├── common
│ │ │ │ │ │ │ │ │ ├── ApiBaseComponent.vue
│ │ │ │ │ │ │ │ │ ├── CustomizeReqInfo.vue
│ │ │ │ │ │ │ │ │ └── Jsr233ProcessorContent.vue
│ │ │ │ │ │ │ │ ├── component
│ │ │ │ │ │ │ │ │ ├── ApiComponent.vue
│ │ │ │ │ │ │ │ │ ├── ApiResponseComponent.vue
│ │ │ │ │ │ │ │ │ ├── ApiScenarioComponent.vue
│ │ │ │ │ │ │ │ │ ├── ComponentConfig.vue
│ │ │ │ │ │ │ │ │ ├── ConstantTimer.vue
│ │ │ │ │ │ │ │ │ ├── IfController.vue
│ │ │ │ │ │ │ │ │ ├── Jsr233Processor.vue
│ │ │ │ │ │ │ │ │ └── LoopController.vue
│ │ │ │ │ │ │ │ ├── testplan
│ │ │ │ │ │ │ │ │ └── TestPlanList.vue
│ │ │ │ │ │ │ │ └── variable
│ │ │ │ │ │ │ │ ├── CsvFileUpload.vue
│ │ │ │ │ │ │ │ ├── EditConstant.vue
│ │ │ │ │ │ │ │ ├── EditCounter.vue
│ │ │ │ │ │ │ │ ├── EditCsv.vue
│ │ │ │ │ │ │ │ ├── EditListValue.vue
│ │ │ │ │ │ │ │ ├── EditRandom.vue
│ │ │ │ │ │ │ │ └── VariableList.vue
│ │ │ │ │ │ │ └── schedule
│ │ │ │ │ │ │ ├── ScheduleMaintain.vue
│ │ │ │ │ │ │ ├── ScheduleNotification.vue
│ │ │ │ │ │ │ └── ScheduleSwitch.vue
│ │ │ │ │ │ ├── definition
│ │ │ │ │ │ │ ├── ApiDefinition.vue
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── ApiAdvancedConfig.vue
│ │ │ │ │ │ │ │ ├── ApiConfig.vue
│ │ │ │ │ │ │ │ ├── ApiKeyValue.vue
│ │ │ │ │ │ │ │ ├── ApiScenarioVariables.vue
│ │ │ │ │ │ │ │ ├── ApiVariable.vue
│ │ │ │ │ │ │ │ ├── ApiVariableAdvance.vue
│ │ │ │ │ │ │ │ ├── ApiVariableInput.vue
│ │ │ │ │ │ │ │ ├── BottomContainer.vue
│ │ │ │ │ │ │ │ ├── MsCodeEdit.vue
│ │ │ │ │ │ │ │ ├── Run.vue
│ │ │ │ │ │ │ │ ├── assertion
│ │ │ │ │ │ │ │ │ ├── ApiAssertionDuration.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionJsonPath.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionJsr223.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionRegex.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionText.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionXPath2.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertions.vue
│ │ │ │ │ │ │ │ │ ├── ApiAssertionsEdit.vue
│ │ │ │ │ │ │ │ │ ├── ApiJsonPathSuggestButton.vue
│ │ │ │ │ │ │ │ │ ├── ApiJsonpathSuggest.vue
│ │ │ │ │ │ │ │ │ └── ApiJsonpathSuggestList.vue
│ │ │ │ │ │ │ │ ├── auth
│ │ │ │ │ │ │ │ │ └── ApiAuthConfig.vue
│ │ │ │ │ │ │ │ ├── basis
│ │ │ │ │ │ │ │ │ ├── AddBasisApi.vue
│ │ │ │ │ │ │ │ │ ├── BatchAddParameter.vue
│ │ │ │ │ │ │ │ │ ├── BatchAddParameterButton.vue
│ │ │ │ │ │ │ │ │ ├── BatchEdit.vue
│ │ │ │ │ │ │ │ │ ├── BatchMove.vue
│ │ │ │ │ │ │ │ │ └── SetEnvironment.vue
│ │ │ │ │ │ │ │ ├── body
│ │ │ │ │ │ │ │ │ ├── ApiBinaryVariable.vue
│ │ │ │ │ │ │ │ │ ├── ApiBody.vue
│ │ │ │ │ │ │ │ │ ├── ApiBodyFileUpload.vue
│ │ │ │ │ │ │ │ │ ├── ApiFromUrlVariable.vue
│ │ │ │ │ │ │ │ │ └── ApiJsonVariable.vue
│ │ │ │ │ │ │ │ ├── case
│ │ │ │ │ │ │ │ │ ├── ApiCaseHeader.vue
│ │ │ │ │ │ │ │ │ ├── ApiCaseItem.vue
│ │ │ │ │ │ │ │ │ ├── ApiCaseList.vue
│ │ │ │ │ │ │ │ │ └── MsEnvironmentSelect.vue
│ │ │ │ │ │ │ │ ├── collapse
│ │ │ │ │ │ │ │ │ ├── ApiCollapse.vue
│ │ │ │ │ │ │ │ │ ├── ApiCollapseItem.vue
│ │ │ │ │ │ │ │ │ └── ApiRequestMethodSelect.vue
│ │ │ │ │ │ │ │ ├── complete
│ │ │ │ │ │ │ │ │ ├── BasisApi.vue
│ │ │ │ │ │ │ │ │ ├── EditCompleteDubboApi.vue
│ │ │ │ │ │ │ │ │ ├── EditCompleteHTTPApi.vue
│ │ │ │ │ │ │ │ │ ├── EditCompleteSQLApi.vue
│ │ │ │ │ │ │ │ │ └── EditCompleteTCPApi.vue
│ │ │ │ │ │ │ │ ├── debug
│ │ │ │ │ │ │ │ │ ├── DebugDubboPage.vue
│ │ │ │ │ │ │ │ │ ├── DebugHttpPage.vue
│ │ │ │ │ │ │ │ │ ├── DebugJdbcPage.vue
│ │ │ │ │ │ │ │ │ └── DebugTcpPage.vue
│ │ │ │ │ │ │ │ ├── environment
│ │ │ │ │ │ │ │ │ ├── ApiEnvironmentConfig.vue
│ │ │ │ │ │ │ │ │ ├── ApiHostTable.vue
│ │ │ │ │ │ │ │ │ ├── EnvironmentCommonConfig.vue
│ │ │ │ │ │ │ │ │ ├── EnvironmentEdit.vue
│ │ │ │ │ │ │ │ │ ├── EnvironmentHttpConfig.vue
│ │ │ │ │ │ │ │ │ ├── EnvironmentSelect.vue
│ │ │ │ │ │ │ │ │ └── EnvironmentTcpConfig.vue
│ │ │ │ │ │ │ │ ├── extract
│ │ │ │ │ │ │ │ │ ├── ApiExtract.vue
│ │ │ │ │ │ │ │ │ ├── ApiExtractCommon.vue
│ │ │ │ │ │ │ │ │ └── ApiExtractEdit.vue
│ │ │ │ │ │ │ │ ├── import
│ │ │ │ │ │ │ │ │ ├── ApiImport.vue
│ │ │ │ │ │ │ │ │ ├── ImportScheduleEdit.vue
│ │ │ │ │ │ │ │ │ └── SwaggerTaskList.vue
│ │ │ │ │ │ │ │ ├── jmeter
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ │ ├── assertions
│ │ │ │ │ │ │ │ │ │ │ ├── assertion.js
│ │ │ │ │ │ │ │ │ │ │ ├── duration-assertion
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── json-path-assertion
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ └── response-assertion
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── auth-manager
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── configurations
│ │ │ │ │ │ │ │ │ │ │ ├── arguments
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── configuration.js
│ │ │ │ │ │ │ │ │ │ │ └── header-manager
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── jmeter-test-plan
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── post-processors
│ │ │ │ │ │ │ │ │ │ │ ├── json-path-extractor
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── jsr223-post-processor
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── post-processor.js
│ │ │ │ │ │ │ │ │ │ │ ├── regex-extractor
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ └── xpath2-extractor
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── pre-processors
│ │ │ │ │ │ │ │ │ │ │ ├── jsr223-pre-processor
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ └── pre-processor.js
│ │ │ │ │ │ │ │ │ │ ├── result-collector
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── sampler
│ │ │ │ │ │ │ │ │ │ │ ├── dubbo-sampler
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── http-sampler
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── jdbc-sampler
│ │ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ │ ├── sampler.js
│ │ │ │ │ │ │ │ │ │ │ └── tcp-sampler
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── test-plan
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ ├── thread-group
│ │ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ │ └── unspported-component
│ │ │ │ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ │ │ │ ├── components.js
│ │ │ │ │ │ │ │ │ ├── element.js
│ │ │ │ │ │ │ │ │ ├── hashtree.js
│ │ │ │ │ │ │ │ │ ├── props.js
│ │ │ │ │ │ │ │ │ └── setting.js
│ │ │ │ │ │ │ │ ├── list
│ │ │ │ │ │ │ │ │ ├── ApiCaseSimpleList.vue
│ │ │ │ │ │ │ │ │ ├── ApiList.vue
│ │ │ │ │ │ │ │ │ ├── ApiListContainer.vue
│ │ │ │ │ │ │ │ │ └── ApiStatus.vue
│ │ │ │ │ │ │ │ ├── module
│ │ │ │ │ │ │ │ │ ├── ApiModule.vue
│ │ │ │ │ │ │ │ │ ├── ApiModuleHeader.vue
│ │ │ │ │ │ │ │ │ └── ModuleTrashButton.vue
│ │ │ │ │ │ │ │ ├── reference
│ │ │ │ │ │ │ │ │ ├── ApiCaseTableExtendBtns.vue
│ │ │ │ │ │ │ │ │ ├── ApiExtendBtns.vue
│ │ │ │ │ │ │ │ │ └── ReferenceView.vue
│ │ │ │ │ │ │ │ ├── request
│ │ │ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ │ │ └── ApiDefinitionStepButton.vue
│ │ │ │ │ │ │ │ │ ├── database
│ │ │ │ │ │ │ │ │ │ ├── BasisParameters.vue
│ │ │ │ │ │ │ │ │ │ ├── DatabaseConfig.vue
│ │ │ │ │ │ │ │ │ │ ├── DatabaseConfigList.vue
│ │ │ │ │ │ │ │ │ │ └── DatabaseFrom.vue
│ │ │ │ │ │ │ │ │ ├── dubbo
│ │ │ │ │ │ │ │ │ │ ├── BasisParameters.vue
│ │ │ │ │ │ │ │ │ │ ├── ConfigCenter.vue
│ │ │ │ │ │ │ │ │ │ ├── ConsumerAndService.vue
│ │ │ │ │ │ │ │ │ │ ├── Interface.vue
│ │ │ │ │ │ │ │ │ │ ├── RegistryCenter.vue
│ │ │ │ │ │ │ │ │ │ └── dubbo.css
│ │ │ │ │ │ │ │ │ ├── http
│ │ │ │ │ │ │ │ │ │ ├── ApiAdvancedConfig.vue
│ │ │ │ │ │ │ │ │ │ └── ApiHttpRequestForm.vue
│ │ │ │ │ │ │ │ │ └── tcp
│ │ │ │ │ │ │ │ │ ├── TcpBasisParameters.vue
│ │ │ │ │ │ │ │ │ └── TcpConfig.vue
│ │ │ │ │ │ │ │ ├── response
│ │ │ │ │ │ │ │ │ ├── AssertionResults.vue
│ │ │ │ │ │ │ │ │ ├── RequestMetric.vue
│ │ │ │ │ │ │ │ │ ├── RequestResultTail.vue
│ │ │ │ │ │ │ │ │ ├── ResponseResult.vue
│ │ │ │ │ │ │ │ │ ├── ResponseText.vue
│ │ │ │ │ │ │ │ │ └── SqlResultTable.vue
│ │ │ │ │ │ │ │ ├── runtest
│ │ │ │ │ │ │ │ │ ├── RunTestDubboPage.vue
│ │ │ │ │ │ │ │ │ ├── RunTestHTTPPage.vue
│ │ │ │ │ │ │ │ │ ├── RunTestSQLPage.vue
│ │ │ │ │ │ │ │ │ └── RunTestTCPPage.vue
│ │ │ │ │ │ │ │ └── step
│ │ │ │ │ │ │ │ └── JmxStep.vue
│ │ │ │ │ │ │ └── model
│ │ │ │ │ │ │ ├── ApiTestModel.js
│ │ │ │ │ │ │ ├── EnvironmentModel.js
│ │ │ │ │ │ │ ├── JMX.js
│ │ │ │ │ │ │ ├── JsonData.js
│ │ │ │ │ │ │ └── NodeTree.js
│ │ │ │ │ │ ├── head
│ │ │ │ │ │ │ └── ApiHeaderMenus.vue
│ │ │ │ │ │ ├── home
│ │ │ │ │ │ │ ├── ApiReportRecentList.vue
│ │ │ │ │ │ │ ├── ApiTestHome.vue
│ │ │ │ │ │ │ ├── ApiTestRecentList.vue
│ │ │ │ │ │ │ └── ScheduleList.vue
│ │ │ │ │ │ ├── homepage
│ │ │ │ │ │ │ ├── ApiTestHomePage.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── ApiInfoCard.vue
│ │ │ │ │ │ │ ├── FailureTestCaseList.vue
│ │ │ │ │ │ │ ├── RunningTaskList.vue
│ │ │ │ │ │ │ ├── SceneInfoCard.vue
│ │ │ │ │ │ │ ├── ScheduleTaskInfoCard.vue
│ │ │ │ │ │ │ └── TestCaseInfoCard.vue
│ │ │ │ │ │ ├── monitor
│ │ │ │ │ │ │ ├── ApiMonitor.vue
│ │ │ │ │ │ │ ├── ApiMonitorChart.vue
│ │ │ │ │ │ │ ├── ApiMonitorSearch.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── ApiErrorMonitorChart.vue
│ │ │ │ │ │ │ ├── ApiResponseTimeMonitorChart.vue
│ │ │ │ │ │ │ └── CommonMonitorChart.vue
│ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ ├── ApiReportExport.vue
│ │ │ │ │ │ │ ├── ApiReportList.vue
│ │ │ │ │ │ │ ├── ApiReportReqestHeaderItem.vue
│ │ │ │ │ │ │ ├── ApiReportStatus.vue
│ │ │ │ │ │ │ ├── ApiReportView.vue
│ │ │ │ │ │ │ ├── ApiReportViewDetail.vue
│ │ │ │ │ │ │ ├── ApiReportViewHeader.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── AssertionResults.vue
│ │ │ │ │ │ │ ├── MetricChart.vue
│ │ │ │ │ │ │ ├── RequestMetric.vue
│ │ │ │ │ │ │ ├── RequestResult.vue
│ │ │ │ │ │ │ ├── RequestResultTail.vue
│ │ │ │ │ │ │ ├── RequestText.vue
│ │ │ │ │ │ │ ├── ResponseText.vue
│ │ │ │ │ │ │ ├── ScenarioResult.vue
│ │ │ │ │ │ │ ├── ScenarioResults.vue
│ │ │ │ │ │ │ └── SqlResultTable.vue
│ │ │ │ │ │ ├── router.js
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── ApiReportDialog.vue
│ │ │ │ │ │ ├── ApiTestConfig.vue
│ │ │ │ │ │ ├── ApiTestList.vue
│ │ │ │ │ │ ├── ApiTestStatus.vue
│ │ │ │ │ │ ├── OneClickOperation.vue
│ │ │ │ │ │ ├── Upgrade.vue
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── ApiAdvancedConfig.vue
│ │ │ │ │ │ │ ├── ApiCopyDialog.vue
│ │ │ │ │ │ │ ├── ApiEnvironmentConfig.vue
│ │ │ │ │ │ │ ├── ApiHostTable.vue
│ │ │ │ │ │ │ ├── ApiKeyValue.vue
│ │ │ │ │ │ │ ├── ApiScenarioConfig.vue
│ │ │ │ │ │ │ ├── ApiScenarioForm.vue
│ │ │ │ │ │ │ ├── ApiScenarioSelect.vue
│ │ │ │ │ │ │ ├── ApiScenarioSelectSubTable.vue
│ │ │ │ │ │ │ ├── ApiScenarioVariables.vue
│ │ │ │ │ │ │ ├── ApiVariable.vue
│ │ │ │ │ │ │ ├── ApiVariableAdvance.vue
│ │ │ │ │ │ │ ├── ApiVariableInput.vue
│ │ │ │ │ │ │ ├── assertion
│ │ │ │ │ │ │ │ ├── ApiAssertionDuration.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionJsonPath.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionJsr223.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionRegex.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionText.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionXPath2.vue
│ │ │ │ │ │ │ │ ├── ApiAssertions.vue
│ │ │ │ │ │ │ │ ├── ApiAssertionsEdit.vue
│ │ │ │ │ │ │ │ └── ApiJsonpathSuggestList.vue
│ │ │ │ │ │ │ ├── body
│ │ │ │ │ │ │ │ ├── ApiBody.vue
│ │ │ │ │ │ │ │ └── ApiBodyFileUpload.vue
│ │ │ │ │ │ │ ├── collapse
│ │ │ │ │ │ │ │ ├── ApiCollapse.vue
│ │ │ │ │ │ │ │ ├── ApiCollapseItem.vue
│ │ │ │ │ │ │ │ └── ApiRequestMethodSelect.vue
│ │ │ │ │ │ │ ├── environment
│ │ │ │ │ │ │ │ ├── EnvironmentCommonConfig.vue
│ │ │ │ │ │ │ │ ├── EnvironmentEdit.vue
│ │ │ │ │ │ │ │ └── EnvironmentHttpConfig.vue
│ │ │ │ │ │ │ ├── extract
│ │ │ │ │ │ │ │ ├── ApiExtract.vue
│ │ │ │ │ │ │ │ ├── ApiExtractCommon.vue
│ │ │ │ │ │ │ │ └── ApiExtractEdit.vue
│ │ │ │ │ │ │ ├── import
│ │ │ │ │ │ │ │ └── ApiImport.vue
│ │ │ │ │ │ │ ├── jar
│ │ │ │ │ │ │ │ ├── JarConfig.vue
│ │ │ │ │ │ │ │ ├── JarConfigFrom.vue
│ │ │ │ │ │ │ │ ├── JarConfigList.vue
│ │ │ │ │ │ │ │ └── JarSearchBar.vue
│ │ │ │ │ │ │ ├── processor
│ │ │ │ │ │ │ │ └── Jsr233Processor.vue
│ │ │ │ │ │ │ └── request
│ │ │ │ │ │ │ ├── ApiDubboRequestForm.vue
│ │ │ │ │ │ │ ├── ApiHttpRequestForm.vue
│ │ │ │ │ │ │ ├── ApiRequestConfig.vue
│ │ │ │ │ │ │ ├── ApiRequestForm.vue
│ │ │ │ │ │ │ ├── ApiSqlRequestForm.vue
│ │ │ │ │ │ │ ├── ApiTcpRequestForm.vue
│ │ │ │ │ │ │ ├── condition
│ │ │ │ │ │ │ │ ├── ConditionLabel.vue
│ │ │ │ │ │ │ │ ├── ConstantTimer.vue
│ │ │ │ │ │ │ │ └── IfController.vue
│ │ │ │ │ │ │ ├── database
│ │ │ │ │ │ │ │ ├── DatabaseConfig.vue
│ │ │ │ │ │ │ │ ├── DatabaseConfigList.vue
│ │ │ │ │ │ │ │ └── DatabaseFrom.vue
│ │ │ │ │ │ │ ├── dubbo
│ │ │ │ │ │ │ │ ├── ConfigCenter.vue
│ │ │ │ │ │ │ │ ├── ConsumerAndService.vue
│ │ │ │ │ │ │ │ ├── Interface.vue
│ │ │ │ │ │ │ │ ├── RegistryCenter.vue
│ │ │ │ │ │ │ │ └── dubbo.css
│ │ │ │ │ │ │ └── tcp
│ │ │ │ │ │ │ └── TcpConfig.vue
│ │ │ │ │ │ └── model
│ │ │ │ │ │ ├── EnvironmentModel.js
│ │ │ │ │ │ ├── JMX.js
│ │ │ │ │ │ └── ScenarioModel.js
│ │ │ │ │ ├── common
│ │ │ │ │ │ ├── chart
│ │ │ │ │ │ │ └── MsChart.vue
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── MsAsideContainer.vue
│ │ │ │ │ │ │ ├── MsAsideItem.vue
│ │ │ │ │ │ │ ├── MsCodeEdit.vue
│ │ │ │ │ │ │ ├── MsContainer.vue
│ │ │ │ │ │ │ ├── MsDeleteConfirm.vue
│ │ │ │ │ │ │ ├── MsDialogFooter.vue
│ │ │ │ │ │ │ ├── MsDrawer.vue
│ │ │ │ │ │ │ ├── MsDropdown.vue
│ │ │ │ │ │ │ ├── MsInstructionsIcon.vue
│ │ │ │ │ │ │ ├── MsJsonCodeEdit.vue
│ │ │ │ │ │ │ ├── MsMainContainer.vue
│ │ │ │ │ │ │ ├── MsPieChart.vue
│ │ │ │ │ │ │ ├── MsPreviousNextButton.vue
│ │ │ │ │ │ │ ├── MsRolesTag.vue
│ │ │ │ │ │ │ ├── MsScheduleConfig.vue
│ │ │ │ │ │ │ ├── MsScheduleEdit.vue
│ │ │ │ │ │ │ ├── MsTableButton.vue
│ │ │ │ │ │ │ ├── MsTableHeader.vue
│ │ │ │ │ │ │ ├── MsTableOperator.vue
│ │ │ │ │ │ │ ├── MsTableOperatorButton.vue
│ │ │ │ │ │ │ ├── MsTableOperators.vue
│ │ │ │ │ │ │ ├── MsTableSearchBar.vue
│ │ │ │ │ │ │ ├── MsTag.vue
│ │ │ │ │ │ │ ├── MsTestHeatmap.vue
│ │ │ │ │ │ │ ├── MsTipButton.vue
│ │ │ │ │ │ │ ├── dragbar
│ │ │ │ │ │ │ │ ├── MsBottom2TopDragBar.vue
│ │ │ │ │ │ │ │ ├── MsLeft2RightDragBar.vue
│ │ │ │ │ │ │ │ └── MsRight2LeftDragBar.vue
│ │ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ │ ├── MsReportExportTemplate.vue
│ │ │ │ │ │ │ │ └── MsReportTitle.vue
│ │ │ │ │ │ │ ├── search
│ │ │ │ │ │ │ │ ├── MsTableAdvSearchBar.vue
│ │ │ │ │ │ │ │ ├── MsTableSearchComponet.vue
│ │ │ │ │ │ │ │ ├── MsTableSearchDatePicker.vue
│ │ │ │ │ │ │ │ ├── MsTableSearchDateTimePicker.vue
│ │ │ │ │ │ │ │ ├── MsTableSearchInput.vue
│ │ │ │ │ │ │ │ ├── MsTableSearchSelect.vue
│ │ │ │ │ │ │ │ └── search-components.js
│ │ │ │ │ │ │ └── table
│ │ │ │ │ │ │ ├── MsTableHeaderSelectPopover.vue
│ │ │ │ │ │ │ └── MsTableSelectAll.vue
│ │ │ │ │ │ ├── cron
│ │ │ │ │ │ │ ├── Crontab.vue
│ │ │ │ │ │ │ ├── CrontabDay.vue
│ │ │ │ │ │ │ ├── CrontabHour.vue
│ │ │ │ │ │ │ ├── CrontabMin.vue
│ │ │ │ │ │ │ ├── CrontabMouth.vue
│ │ │ │ │ │ │ ├── CrontabResult.vue
│ │ │ │ │ │ │ ├── CrontabSecond.vue
│ │ │ │ │ │ │ ├── CrontabWeek.vue
│ │ │ │ │ │ │ └── CrontabYear.vue
│ │ │ │ │ │ ├── head
│ │ │ │ │ │ │ ├── AboutUs.vue
│ │ │ │ │ │ │ ├── CreateButton.vue
│ │ │ │ │ │ │ ├── CreateTest.vue
│ │ │ │ │ │ │ ├── HeaderOrgWs.vue
│ │ │ │ │ │ │ ├── HeaderTopMenus.vue
│ │ │ │ │ │ │ ├── HeaderUser.vue
│ │ │ │ │ │ │ ├── LanguageSwitch.vue
│ │ │ │ │ │ │ ├── ListEvent.js
│ │ │ │ │ │ │ ├── ProjectSwitch.vue
│ │ │ │ │ │ │ ├── RecentList.vue
│ │ │ │ │ │ │ ├── SearchList.vue
│ │ │ │ │ │ │ └── ShowAll.vue
│ │ │ │ │ │ ├── json-schema
│ │ │ │ │ │ │ ├── JsonSchemaEditor.vue
│ │ │ │ │ │ │ ├── common.js
│ │ │ │ │ │ │ ├── import
│ │ │ │ │ │ │ │ └── ImportJson.vue
│ │ │ │ │ │ │ ├── lib
│ │ │ │ │ │ │ │ ├── json-schema-editor-vue.common.js
│ │ │ │ │ │ │ │ ├── json-schema-editor-vue.css
│ │ │ │ │ │ │ │ ├── json-schema-editor-vue.umd.js
│ │ │ │ │ │ │ │ └── json-schema-editor-vue.umd.min.js
│ │ │ │ │ │ │ └── schema
│ │ │ │ │ │ │ ├── editor
│ │ │ │ │ │ │ │ ├── index.js
│ │ │ │ │ │ │ │ ├── main.vue
│ │ │ │ │ │ │ │ ├── mock
│ │ │ │ │ │ │ │ │ ├── Advance.vue
│ │ │ │ │ │ │ │ │ ├── MockComplete.vue
│ │ │ │ │ │ │ │ │ └── calculate.js
│ │ │ │ │ │ │ │ ├── type
│ │ │ │ │ │ │ │ │ ├── array.js
│ │ │ │ │ │ │ │ │ ├── boolean.js
│ │ │ │ │ │ │ │ │ ├── integer.js
│ │ │ │ │ │ │ │ │ ├── number.js
│ │ │ │ │ │ │ │ │ ├── object.js
│ │ │ │ │ │ │ │ │ ├── string.js
│ │ │ │ │ │ │ │ │ └── type.js
│ │ │ │ │ │ │ │ └── util.js
│ │ │ │ │ │ │ └── index.js
│ │ │ │ │ │ ├── pagination
│ │ │ │ │ │ │ └── TablePagination.vue
│ │ │ │ │ │ ├── router
│ │ │ │ │ │ │ ├── RouterSidebar.vue
│ │ │ │ │ │ │ ├── View.vue
│ │ │ │ │ │ │ └── router.js
│ │ │ │ │ │ ├── tableItem
│ │ │ │ │ │ │ └── ReportTriggerModeItem.vue
│ │ │ │ │ │ └── websocket
│ │ │ │ │ │ └── WebSocket.vue
│ │ │ │ │ ├── performance
│ │ │ │ │ │ ├── PerformanceTest.vue
│ │ │ │ │ │ ├── head
│ │ │ │ │ │ │ └── PerformanceHeaderMenus.vue
│ │ │ │ │ │ ├── home
│ │ │ │ │ │ │ ├── PerformanceReportRecentList.vue
│ │ │ │ │ │ │ ├── PerformanceTestHome.vue
│ │ │ │ │ │ │ └── PerformanceTestRecentList.vue
│ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ ├── PerformanceReportExport.vue
│ │ │ │ │ │ │ ├── PerformanceReportStatus.vue
│ │ │ │ │ │ │ ├── PerformanceReportView.vue
│ │ │ │ │ │ │ ├── PerformanceTestReport.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── ErrorLog.vue
│ │ │ │ │ │ │ ├── LogDetails.vue
│ │ │ │ │ │ │ ├── PerformanceChart.vue
│ │ │ │ │ │ │ ├── PerformancePressureConfig.vue
│ │ │ │ │ │ │ ├── RequestStatistics.vue
│ │ │ │ │ │ │ └── TestOverview.vue
│ │ │ │ │ │ ├── router.js
│ │ │ │ │ │ └── test
│ │ │ │ │ │ ├── EditPerformanceTest.vue
│ │ │ │ │ │ ├── PerformanceTestList.vue
│ │ │ │ │ │ ├── PerformanceTestStatus.vue
│ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ ├── PerformanceAdvancedConfig.vue
│ │ │ │ │ │ │ ├── PerformanceBasicConfig.vue
│ │ │ │ │ │ │ └── PerformancePressureConfig.vue
│ │ │ │ │ │ └── model
│ │ │ │ │ │ └── ThreadGroup.js
│ │ │ │ │ ├── settings
│ │ │ │ │ │ ├── CreateBox.vue
│ │ │ │ │ │ ├── CurrentUser.vue
│ │ │ │ │ │ ├── Setting.vue
│ │ │ │ │ │ ├── SettingMenu.vue
│ │ │ │ │ │ ├── organization
│ │ │ │ │ │ │ ├── BugManagement.vue
│ │ │ │ │ │ │ ├── MessageSettings.vue
│ │ │ │ │ │ │ ├── OrganizationMember.vue
│ │ │ │ │ │ │ ├── OrganizationWorkspace.vue
│ │ │ │ │ │ │ ├── ServiceIntegration.vue
│ │ │ │ │ │ │ ├── TaskNotification.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── BugManageBtn.vue
│ │ │ │ │ │ │ ├── DefectTaskNotification.vue
│ │ │ │ │ │ │ ├── JenkinsNotification.vue
│ │ │ │ │ │ │ ├── JiraSetting.vue
│ │ │ │ │ │ │ ├── ScheduleTaskNotification.vue
│ │ │ │ │ │ │ ├── TapdSetting.vue
│ │ │ │ │ │ │ ├── TestPlanTaskNotification.vue
│ │ │ │ │ │ │ ├── TestReviewNotification.vue
│ │ │ │ │ │ │ └── ZentaoSetting.vue
│ │ │ │ │ │ ├── personal
│ │ │ │ │ │ │ ├── ApiKeys.vue
│ │ │ │ │ │ │ └── PersonSetting.vue
│ │ │ │ │ │ ├── project
│ │ │ │ │ │ │ └── MsProject.vue
│ │ │ │ │ │ ├── router.js
│ │ │ │ │ │ ├── system
│ │ │ │ │ │ │ ├── BaseSetting.vue
│ │ │ │ │ │ │ ├── EmailSetting.vue
│ │ │ │ │ │ │ ├── LdapSetting.vue
│ │ │ │ │ │ │ ├── Organization.vue
│ │ │ │ │ │ │ ├── SystemParameterSetting.vue
│ │ │ │ │ │ │ ├── SystemWorkspace.vue
│ │ │ │ │ │ │ ├── TestResourcePool.vue
│ │ │ │ │ │ │ └── User.vue
│ │ │ │ │ │ └── workspace
│ │ │ │ │ │ ├── TestCaseReportTemplate.vue
│ │ │ │ │ │ └── WorkspaceMember.vue
│ │ │ │ │ ├── track
│ │ │ │ │ │ ├── TestTrack.vue
│ │ │ │ │ │ ├── case
│ │ │ │ │ │ │ ├── TestCase.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── BatchEdit.vue
│ │ │ │ │ │ │ ├── BatchMove.vue
│ │ │ │ │ │ │ ├── CaseComment.vue
│ │ │ │ │ │ │ ├── ReviewStatus.vue
│ │ │ │ │ │ │ ├── ShowMoreBtn.vue
│ │ │ │ │ │ │ ├── SwitchProject.vue
│ │ │ │ │ │ │ ├── TestCaseAttachment.vue
│ │ │ │ │ │ │ ├── TestCaseDetail.vue
│ │ │ │ │ │ │ ├── TestCaseEdit.vue
│ │ │ │ │ │ │ ├── TestCaseExport.vue
│ │ │ │ │ │ │ ├── TestCaseFile.vue
│ │ │ │ │ │ │ ├── TestCaseImport.vue
│ │ │ │ │ │ │ ├── TestCaseList.vue
│ │ │ │ │ │ │ ├── TestCaseMove.vue
│ │ │ │ │ │ │ └── TestCasePdf.vue
│ │ │ │ │ │ ├── common
│ │ │ │ │ │ │ ├── NodeBreadcrumb.vue
│ │ │ │ │ │ │ ├── NodeEdit.vue
│ │ │ │ │ │ │ ├── NodeTree.vue
│ │ │ │ │ │ │ ├── SelectMenu.vue
│ │ │ │ │ │ │ ├── TestCaseNodeTree.vue
│ │ │ │ │ │ │ └── tableItems
│ │ │ │ │ │ │ ├── plan
│ │ │ │ │ │ │ │ ├── PlanStageTableItem.vue
│ │ │ │ │ │ │ │ └── PlanStatusTableItem.vue
│ │ │ │ │ │ │ └── planview
│ │ │ │ │ │ │ ├── MethodTableItem.vue
│ │ │ │ │ │ │ ├── PriorityTableItem.vue
│ │ │ │ │ │ │ ├── StatusTableItem.vue
│ │ │ │ │ │ │ └── TypeTableItem.vue
│ │ │ │ │ │ ├── head
│ │ │ │ │ │ │ └── TrackHeaderMenus.vue
│ │ │ │ │ │ ├── home
│ │ │ │ │ │ │ ├── TrackHome.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── HomeBaseComponent.vue
│ │ │ │ │ │ │ ├── RelatedTestPlanList.vue
│ │ │ │ │ │ │ ├── ReviewList.vue
│ │ │ │ │ │ │ └── TestCaseSideList.vue
│ │ │ │ │ │ ├── plan
│ │ │ │ │ │ │ ├── TestPlan.vue
│ │ │ │ │ │ │ ├── common
│ │ │ │ │ │ │ │ ├── TestPlanStatusButton.vue
│ │ │ │ │ │ │ │ └── TestPlanTestCaseStatusButton.vue
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── TestPlanEdit.vue
│ │ │ │ │ │ │ │ └── TestPlanList.vue
│ │ │ │ │ │ │ ├── event-bus.js
│ │ │ │ │ │ │ └── view
│ │ │ │ │ │ │ ├── TestPlanView.vue
│ │ │ │ │ │ │ └── comonents
│ │ │ │ │ │ │ ├── ExecutorEdit.vue
│ │ │ │ │ │ │ ├── StatusEdit.vue
│ │ │ │ │ │ │ ├── TestCaseReportExport.vue
│ │ │ │ │ │ │ ├── TestReportTemplateList.vue
│ │ │ │ │ │ │ ├── api
│ │ │ │ │ │ │ │ ├── RelevanceScenarioList.vue
│ │ │ │ │ │ │ │ ├── TestCaseApiRelevance.vue
│ │ │ │ │ │ │ │ ├── TestCaseScenarioRelevance.vue
│ │ │ │ │ │ │ │ ├── TestPlanApi.vue
│ │ │ │ │ │ │ │ ├── TestPlanApiCaseList.vue
│ │ │ │ │ │ │ │ ├── TestPlanApiCaseResult.vue
│ │ │ │ │ │ │ │ ├── TestPlanApiScenarioList.vue
│ │ │ │ │ │ │ │ ├── TestPlanCaseListHeader.vue
│ │ │ │ │ │ │ │ └── TestPlanScenarioListHeader.vue
│ │ │ │ │ │ │ ├── base
│ │ │ │ │ │ │ │ ├── RelevanceDialog.vue
│ │ │ │ │ │ │ │ ├── TestCaseRelevanceBase.vue
│ │ │ │ │ │ │ │ └── TestPlanCommonComponent.vue
│ │ │ │ │ │ │ ├── functional
│ │ │ │ │ │ │ │ ├── FunctionalTestCaseEdit.vue
│ │ │ │ │ │ │ │ ├── FunctionalTestCaseList.vue
│ │ │ │ │ │ │ │ ├── TestCaseFunctionalRelevance.vue
│ │ │ │ │ │ │ │ └── TestPlanFunctional.vue
│ │ │ │ │ │ │ ├── head
│ │ │ │ │ │ │ │ └── TestPlanHeaderBar.vue
│ │ │ │ │ │ │ ├── load
│ │ │ │ │ │ │ │ ├── LoadCaseReport.vue
│ │ │ │ │ │ │ │ ├── LoadCaseReportView.vue
│ │ │ │ │ │ │ │ ├── TestCaseLoadRelevance.vue
│ │ │ │ │ │ │ │ ├── TestPlanLoad.vue
│ │ │ │ │ │ │ │ ├── TestPlanLoadCaseList.vue
│ │ │ │ │ │ │ │ └── TestPlanLoadCaseListHeader.vue
│ │ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ │ ├── TemplateComponent
│ │ │ │ │ │ │ │ │ ├── BaseInfoComponent.vue
│ │ │ │ │ │ │ │ │ ├── CommonComponent.vue
│ │ │ │ │ │ │ │ │ ├── DefectListComponent.vue
│ │ │ │ │ │ │ │ │ ├── ExportTestCaseReport.vue
│ │ │ │ │ │ │ │ │ ├── FailureResultAdvanceComponent.vue
│ │ │ │ │ │ │ │ │ ├── FailureResultComponent.vue
│ │ │ │ │ │ │ │ │ ├── RichTextComponent.vue
│ │ │ │ │ │ │ │ │ ├── TemplateComponent.vue
│ │ │ │ │ │ │ │ │ ├── TestResultAdvanceChartComponent.vue
│ │ │ │ │ │ │ │ │ ├── TestResultChartComponent.vue
│ │ │ │ │ │ │ │ │ ├── TestResultComponent.vue
│ │ │ │ │ │ │ │ │ └── component
│ │ │ │ │ │ │ │ │ ├── ApiFailureCasesList.vue
│ │ │ │ │ │ │ │ │ ├── FunctionalFailureCasesList.vue
│ │ │ │ │ │ │ │ │ ├── LoadFailureCasesList.vue
│ │ │ │ │ │ │ │ │ └── ScenarioFailureCasesList.vue
│ │ │ │ │ │ │ │ ├── TemplateComponentBar.vue
│ │ │ │ │ │ │ │ ├── TemplateComponentEditHeader.vue
│ │ │ │ │ │ │ │ ├── TestCaseReportTemplateEdit.vue
│ │ │ │ │ │ │ │ ├── TestCaseReportView.vue
│ │ │ │ │ │ │ │ ├── TestcaseTemplateItem.vue
│ │ │ │ │ │ │ │ └── statistics
│ │ │ │ │ │ │ │ └── TestCaseStatisticsReportView.vue
│ │ │ │ │ │ │ └── test
│ │ │ │ │ │ │ ├── ApiTestDetail.vue
│ │ │ │ │ │ │ ├── ApiTestResult.vue
│ │ │ │ │ │ │ ├── PerformanceTestDetail.vue
│ │ │ │ │ │ │ └── PerformanceTestResult.vue
│ │ │ │ │ │ ├── report
│ │ │ │ │ │ │ ├── TestPlanReport.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── TestPlanReportExport.vue
│ │ │ │ │ │ │ ├── TestPlanReportList.vue
│ │ │ │ │ │ │ └── TestPlanReportView.vue
│ │ │ │ │ │ ├── review
│ │ │ │ │ │ │ ├── TestCaseReview.vue
│ │ │ │ │ │ │ ├── commom
│ │ │ │ │ │ │ │ ├── ReviewComment.vue
│ │ │ │ │ │ │ │ └── ReviewCommentItem.vue
│ │ │ │ │ │ │ ├── components
│ │ │ │ │ │ │ │ ├── TestCaseReviewEdit.vue
│ │ │ │ │ │ │ │ └── TestCaseReviewList.vue
│ │ │ │ │ │ │ └── view
│ │ │ │ │ │ │ ├── TestCaseReviewView.vue
│ │ │ │ │ │ │ └── components
│ │ │ │ │ │ │ ├── TestReviewRelevance.vue
│ │ │ │ │ │ │ ├── TestReviewTestCaseEdit.vue
│ │ │ │ │ │ │ └── TestReviewTestCaseList.vue
│ │ │ │ │ │ └── router.js
│ │ │ │ │ └── xpack
│ │ │ │ ├── index.html
│ │ │ │ ├── main.js
│ │ │ │ ├── permission.js
│ │ │ │ └── store.js
│ │ │ ├── common
│ │ │ │ ├── css
│ │ │ │ │ ├── main.css
│ │ │ │ │ ├── material-icons.css
│ │ │ │ │ ├── material.woff2
│ │ │ │ │ ├── menu-header.css
│ │ │ │ │ └── report.css.js
│ │ │ │ └── js
│ │ │ │ ├── ajax.js
│ │ │ │ ├── calendar-heatmap.js
│ │ │ │ ├── chart.js
│ │ │ │ ├── constants.js
│ │ │ │ ├── cron.js
│ │ │ │ ├── directive.js
│ │ │ │ ├── filter.js
│ │ │ │ ├── format-utils.js
│ │ │ │ ├── func-filter.js
│ │ │ │ ├── icon.js
│ │ │ │ ├── message.js
│ │ │ │ ├── outside-click.js
│ │ │ │ ├── regex.js
│ │ │ │ ├── tableUtils.js
│ │ │ │ └── utils.js
│ │ │ ├── i18n
│ │ │ │ ├── en-US.js
│ │ │ │ ├── i18n.js
│ │ │ │ ├── zh-CN.js
│ │ │ │ └── zh-TW.js
│ │ │ └── login
│ │ │ ├── Login.vue
│ │ │ ├── login.html
│ │ │ └── login.js
│ │ ├── vue.config.js
│ │ └── 代码规范.MD
│ ├── package-lock.json
│ └── pom.xml
└── 接口性能测试工具.zip
315 directories, 1606 files
评论