Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
xiaofang li
MeterSphere
Commits
f83b8e3a
Commit
f83b8e3a
authored
3 years ago
by
song-tianyang
Committed by
刘瑞斌
3 years ago
Browse files
Options
Download
Email Patches
Plain Diff
fix: 在每一个新建和更新场景的函数前增加场景涉及url的统计
在每一个新建和更新场景的函数前增加场景涉及url的统计
parent
df7c5766
dev
dependabot/maven/backend/com.thoughtworks.xstream-xstream-1.4.18
dependabot/maven/backend/org.apache.commons-commons-compress-1.21
dependabot/maven/backend/org.jsoup-jsoup-1.14.2
dev-workstation
feat_api_custom_field
feat_custom_field
feat_custom_function
feat_environment_group
feat_environment_group_copy
feat_jmeter_definition_import
feat_plugin
feat_remove_organization
feat_timing_clean
feat_vc
feat_vc_testtrack
fix_definition_import
fix_lyh_v1.17
fix_stop_scenario
master
pr@dev@feat@四种协议test、case页面优化
pr@dev@feat_add_issueremark
pr@dev@feat_sync
pr@dev@feat_参数添加长度描述
pr@dev@feat_同步禅道缺陷
pr@dev@feat_同步第三方平台缺陷状态
pr@dev@feat_工作空间多项目环境组合
pr@dev@feat_性能测试版本对比页面修改_自动执行
pr@dev@feat_报告模板打包成一个html
pr@dev@feat_接口定义、批量场景转性能测试一键更新
pr@dev@feat_接口测试_文档结构断言
pr@dev@feat_接口用例列表添加批量执行
pr@dev@feat_测试计划报告分享
pr@dev@feat_测试计划用例自定义排序
pr@dev@feat_用例支持自定义排序
pr@dev@feat_脑图保存临时节点
pr@dev@feat_脑图用例没保存提示
pr@dev@feat_需求_plugin
pr@dev@fix
pr@dev@fix77
pr@dev@fix_
pr@dev@fix_23
pr@dev@fix_APIBackendListenerClient优化
pr@dev@fix_api_homepage
pr@dev@fix_bug09
pr@dev@fix_bug_07202243
pr@dev@fix_bug_0726
pr@dev@fix_jira提交空的非必填字段报错
pr@dev@fix_json-schema中填写的必填和字段描述不能被导出
pr@dev@fix_postman导入报错
pr@dev@fix_report_permission
pr@dev@fix_scenario_load_test
pr@dev@fix_sql版本冲突
pr@dev@fix_sql脚本中带了库名
pr@dev@fix_sql错误
pr@dev@fix_swagger未导入到指定模块
pr@dev@fix_xmind格式导入优化标签
pr@dev@fix_zentao
pr@dev@fix_—swagger导入报错
pr@dev@fix_从公共用例库移除_再编辑用例发现无法加到公共用例库了
pr@dev@fix_代码扫描图标不显示
pr@dev@fix_修复条件控制器变量值中有换行导致判断失败问题
pr@dev@fix_修复环境设置中编辑下模块和路径匹配时模块和路径允许为空的缺陷
pr@dev@fix_修改SQL中大小写与实际表名不一致问题
pr@dev@fix_修改db版本号
pr@dev@fix_修改prometheus内存使用率查询公式
pr@dev@fix_关联测试保存失效
pr@dev@fix_删除用例后数量统计错误
pr@dev@fix_删除项目清理定时任务
pr@dev@fix_功能用例版本切换
pr@dev@fix_同步缺陷失败
pr@dev@fix_回退问题PR
pr@dev@fix_场景导入按钮失效
pr@dev@fix_失败继续无效
pr@dev@fix_导出场景文件名为null
pr@dev@fix_应用管理没有自动保存
pr@dev@fix_开多个窗口编辑场景样式错乱
pr@dev@fix_批量操作数量显示错误
pr@dev@fix_接口case优化
pr@dev@fix_接口定义_列表筛选
pr@dev@fix_接口定义_用例执行
pr@dev@fix_接口定义_用例批量
pr@dev@fix_接口定义导入order字段为空
pr@dev@fix_接口定义导入用例id重复
pr@dev@fix_接口导入MS格式报空指针
pr@dev@fix_接口模块名带有斜杠导出导入异常
pr@dev@fix_接口测试_复制接口
pr@dev@fix_接口测试_安全漏洞
pr@dev@fix_接口测试_引用问题
pr@dev@fix_接口用例在定义后面
pr@dev@fix_接口自动化_步骤
pr@dev@fix_接口详情-变更历史无变更详情日志
pr@dev@fix_操作日志_增删改查除系统设置中的操作均无法跳转
pr@dev@fix_操作日志列表报错
pr@dev@fix_新增测试阶段字段在筛选列表中未更新
pr@dev@fix_测试执行打印错误日志
pr@dev@fix_测试用例关联缺陷列表状态没更新
pr@dev@fix_测试用例导入更新文本错误
pr@dev@fix_测试用例显示了已删除的缺陷
pr@dev@fix_测试计划-场景测试执行结果筛选失败
pr@dev@fix_测试计划-用例状态过滤失效
pr@dev@fix_测试计划实际结果无法编辑
pr@dev@fix_测试计划性能测试sql
pr@dev@fix_测试计划报告报错
pr@dev@fix_测试计划页面优化
pr@dev@fix_测试跟踪_功能用例_公共用例库_选择修改用例责任人后,新的责任人仍不可编辑和删除该用例
pr@dev@fix_用例导入文件限制改为100M
pr@dev@fix_用例导入无法显示责任人
pr@dev@fix_用例评审_测试计划_关注人支持多选
pr@dev@fix_编辑场景滑动滚动条控制台报错
pr@dev@fix_编辑用例点击关联缺陷缺少数据
pr@dev@fix_脑图创建用例自定义ID为空
pr@dev@fix_脑图无法删除用例
pr@dev@fix_自定义表头国际化问题
pr@dev@fix_被引用的数据删除显示重复
pr@dev@fix_选中模块后删除用例会显示全部用例
pr@dev@refactor_case_import
pr@dev@refactor_jira缺陷描述支持图片
pr@dev@refactor_load_test
pr@dev@refactor_menu_pos
pr@dev@refactor_postman导入变量格式转换
pr@dev@refactor_swagger2导入之后默认值没有导入
pr@dev@refactor_swagger导入body参数的顺序不变
pr@dev@refactor_swagger导入弃用接口打上Deleted标签
pr@dev@refactor_tapd详情支持图片
pr@dev@refactor_user_search
pr@dev@refactor_修改数据库连接池默认配置
pr@dev@refactor_勾选批量操作提示
pr@dev@refactor_升级Jython版本
pr@dev@refactor_右上角的帮助文档,修改为新页面打开
pr@dev@refactor_场景导入页面高度优化
pr@dev@refactor_接口定时任务编辑页面样式优化
pr@dev@refactor_样式优化
pr@dev@refactor_步骤描述格式优化
pr@dev@refactor_测试用例页面创建人显示名称
pr@dev@refactor_用例上传大小限制改为50M
pr@dev@refactor_缺陷列表增加用例数字段
pr@dev@refactor_缺陷列表添加过滤排序条件
pr@dev@refactor_缺陷列表点击关联用例跳转到用例列表过滤
pr@dev@refactor_获取场景报告接口效率优化
pr@dev@refactor_规范建表语句
pr@dev@refactor_请求头加描述
pr@dev@refactor_重构测试计划-场景测试
pr@dev@refactor_重构测试计划-性能测试页面
pr@dev@refactor_重构测试计划-接口测试页面
pr@dev@refactor_首页定时任务展示优化
pr@dev@style_调整多处样式使布局更加紧凑
pr@dev@内置函数构造器优化增加mock数据说明示例及场景变量
pr@dev@去掉测试跟踪及接口测试首页tips
pr@dev@构建完成后清理构建产物
pr@dev@编辑用例页面mock显示优化
pr@master@fix_代码扫描图标不显示
pr@v1.11@feat_接口定义、批量场景转性能测试一键更新
pr@v1.11@feat_接口用例列表添加批量执行
pr@v1.11@fix_postman导入报错
pr@v1.11@fix_report_permission
pr@v1.11@fix_review_bug_0726
pr@v1.11@fix_zentao
pr@v1.11@fix_—swagger导入报错
pr@v1.11@fix_修改prometheus内存使用率查询公式
pr@v1.11@fix_关联测试保存失效
pr@v1.11@fix_删除项目清理定时任务
pr@v1.11@fix_接口自动化_步骤
pr@v1.11@fix_测试执行打印错误日志
pr@v1.11@fix_测试用例导入更新文本错误
pr@v1.11@fix_测试用例显示了已删除的缺陷
pr@v1.11@fix_测试计划报告报错
pr@v1.11@fix_消息通知
pr@v1.11@fix_用例导入文件限制改为100M
pr@v1.11@fix_脑图无法删除用例
pr@v1.11@fix_自动化_执行
pr@v1.11@fix_自定义表头国际化问题
pr@v1.11@refactor_修改数据库连接池默认配置
pr@v1.11@编辑用例页面mock显示优化
pr@v1.12@fix_json-schema中填写的必填和字段描述不能被导出
pr@v1.12@fix_修复条件控制器变量值中有换行导致判断失败问题
pr@v1.12@fix_接口定义_用例批量
pr@v1.12@fix_接口自动化_循环执行问题
pr@v1.12@fix_接口自动化_执行问题
pr@v1.12@fix_接口自动化_拖拽
pr@v1.12@fix_测试计划实际结果无法编辑
pr@v1.12@refactor_swagger2导入之后默认值没有导入
pr@v1.12@refactor_swagger导入弃用接口打上Deleted标签
pr@v1.12@refactor_升级Jython版本
pr@v1.12@refactor_步骤描述格式优化
pr@v1.14@fix_接口测试_复制接口
pr@v1.14@fix_用例评审_测试计划_关注人支持多选
pr@v1.15@fix_sync
pr@v1.16@fix_scenario_load
pr@v1.16@fix_接口测试_安全漏洞
pr@v1.16@fix_接口测试_引用问题
pr@v1.16@fix_接口详情-变更历史无变更详情日志
pr@v1.16@fix_测试跟踪_功能用例_公共用例库_选择修改用例责任人后,新的责任人仍不可编辑和删除该用例
pr@v1.16@refactor_获取场景报告接口效率优化
pr@v1.17@feat_我的工作台加版本筛选
pr@v1.17@fix
pr@v1.17@fix_功能用例版本切换
pr@v1.17@fix_新增测试阶段字段在筛选列表中未更新
pr@v1.18@fix_修复环境设置中编辑下模块和路径匹配时模块和路径允许为空的缺陷
refactor
refactor_environment_group
refactor_group_member
refactor_project_setting
refactor_user_batch
refactor_ws_notice_template
repr@dev@7c38db9ad34ad57c62b4ff6126a7b0cc051d2d87@feat_测试计划导出html
repr@dev_V1.10_v1.11@40cd10d7ebcfd984dcbf159aa43136493bf6cc0b@fix_接口定义批量操作报错
repr@dev_master_v1.16@
repr@dev_v1.0@0cf2d0a69ee2872@fix
repr@dev_v1.0@71d32d30@refactor_rampup
repr@dev_v1.0@c350f1c137b500@fix77
repr@dev_v1.0@e6f921547ae76395@fixdev_bug
repr@dev_v1.0@fdabf2cb4@fix_缺陷数量
repr@dev_v1.10@32de68664756f019@fix_定时同步跳转
repr@dev_v1.10@3ca0e91480b41667c@fix
repr@dev_v1.10@9dc0f51ea06584447020dcd946d291115362a1b1@feat_脑图用例没保存提示
repr@dev_v1.10@cff1e95686ce@fix_dev
repr@dev_v1.11@8cbdf7cb54ce7ea2097b43990f4f0f25602548ad@fix_其他平台缺陷添加取消关联缺陷
repr@dev_v1.11@dx@fix_接口自动化_执行报告处理
repr@dev_v1.11_v1.10@b590ba7d7a2079d331805573c279f71572f40fd4@fix_测试执行打印错误日志
repr@dev_v1.12@28a030cf@fix_接口定义_批量执行
repr@dev_v1.12@9f49f57a@fix_接口自动化_拖拽
repr@dev_v1.14@@fix_【接口定义】-添加mock函数时值生成优化+页面翻译“return”
repr@dev_v1.14@f7409212@fix_接口测试_CSV优化
repr@dev_v1.14_v1.16@fc598de402cffa8744ee656948f715c31e7d58a2@refactor_场景资源池执行添加日志打印
repr@dev_v1.16@1abe60fc@fix_接口测试_循环控制器
repr@dev_v1.16@22a21ac3@fix_接口测试_自动化步骤
repr@dev_v1.16@5d8ba4eb@fix_接口详情-变更历史无变更详情日志
repr@dev_v1.16@6de996ff@fix_接口定义_开启过多时环境与接口名称重叠
repr@dev_v1.16@a009bb38@fix_接口测试_场景执行
repr@dev_v1.16@e15672af3dc95618192ee81aedbefffdfd377b8a@fix_代码扫描图标不显示
repr@dev_v1.16@e43c11a7@fix_应用管理没有保存
repr@dev_v1.16@e43c11a7@fix_应用管理没有自动保存
repr@dev_v1.16_v1.17@430a1864ffe9800240f4fbd9b0c92991305c0baa@fix_脑图创建的用例导出状态和责任人为空
repr@dev_v1.16_v1.17@91c1b2a7@fix_接口测试_插件步骤
repr@dev_v1.17@0d05cd92d9a1b005aac8c07594625f3cda8319080d05cd92d9a1b005aac8c07594625f3cda831908@feat_测试跟踪用例版本相关
repr@dev_v1.17@0d05cd92d9a1b005aac8c07594625f3cda831908@fix_功能用例版本管理回收站
repr@dev_v1.18@abc86b09@fix_lyh_dev
repr@devev_v1.16@31e9453dccbf5b363f72b9a2c4d6b1f40d9e92f5@fix_tapd不显示图片
repr@v1.11_dev@6fd05b82@fix_envparam
repr@v1.16@fix_JSONPATH断言等有200个字符限制
repr@v1.16_dev@09a4129d@fix_接口测试_调试状态
repr@v1.16_dev@11eb4bc6@feat_error_report
repr@v1.16_dev@6a89622f@fix_接口测试_JSON校验处理
repr@v1.16_dev@d5cf72dc@fix_接口测试_场景报告
repr@v1.16_dev@e2e90011@fix_testplan_用例执行
repr@v1.16_dev@ef78a7eb@fix_xpack_code
repr@v1.16_v1.17_dev@bfb01376@fix_bugs_import_api
repr@v1.16_v1.17_dev@dd1880fa@fix_bugs_0118
seleniumdocker获取报告图表
ui
v1.11
v1.12
v1.13
v1.14
v1.15
v1.16
v1.17
v1.18
工作空间多项目环境组合
v1.18.2-rc2
v1.18.2-rc1
v1.18.2-rc0
v1.18.2-arm64
v1.18.1
v1.18.0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.15.0
v1.14.7
v1.14.6
v1.14.5
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.14.0-rc3
v1.14.0-rc2
v1.14.0-rc1
v1.13.2
v1.13.1
v1.13.0
v1.12.3
v1.12.2
v1.12.1
v1.12.1-rc1
v1.12.0
v1.12.0-rc3
v1.12.0-rc2
v1.12.0-rc1
v1.11.3
v1.11.2
v1.11.2-rc1
v1.11.1
v1.11.0
v1.11-rc1
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java
+10
-6
...java/io/metersphere/api/service/ApiAutomationService.java
backend/src/main/java/io/metersphere/api/service/HistoricalDataUpgradeService.java
+8
-0
...metersphere/api/service/HistoricalDataUpgradeService.java
with
18 additions
and
6 deletions
+18
-6
backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java
+
10
-
6
View file @
f83b8e3a
...
...
@@ -1572,6 +1572,10 @@ public class ApiAutomationService {
ApiScenarioWithBLOBs
apiScenarioWithBLOBs
=
new
ApiScenarioWithBLOBs
();
BeanUtils
.
copyBean
(
apiScenarioWithBLOBs
,
request
);
apiScenarioWithBLOBs
.
setUpdateTime
(
System
.
currentTimeMillis
());
if
(
apiScenarioWithBLOBs
.
getScenarioDefinition
()
!=
null
){
List
<
ApiMethodUrlDTO
>
useUrl
=
this
.
parseUrl
(
apiScenarioWithBLOBs
);
apiScenarioWithBLOBs
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
}
apiScenarioMapper
.
updateByExampleSelective
(
apiScenarioWithBLOBs
,
apiScenarioExample
);
...
...
@@ -1600,11 +1604,15 @@ public class ApiAutomationService {
private
void
_importCreate
(
List
<
ApiScenarioWithBLOBs
>
sameRequest
,
ApiScenarioMapper
batchMapper
,
ApiScenarioWithBLOBs
scenarioWithBLOBs
,
ApiTestImportRequest
apiTestImportRequest
)
{
if
(
CollectionUtils
.
isEmpty
(
sameRequest
))
{
scenarioWithBLOBs
.
setId
(
UUID
.
randomUUID
().
toString
());
List
<
ApiMethodUrlDTO
>
useUrl
=
this
.
parseUrl
(
scenarioWithBLOBs
);
scenarioWithBLOBs
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
batchMapper
.
insert
(
scenarioWithBLOBs
);
}
else
{
//如果存在则修改
scenarioWithBLOBs
.
setId
(
sameRequest
.
get
(
0
).
getId
());
scenarioWithBLOBs
.
setNum
(
sameRequest
.
get
(
0
).
getNum
());
List
<
ApiMethodUrlDTO
>
useUrl
=
this
.
parseUrl
(
scenarioWithBLOBs
);
scenarioWithBLOBs
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
batchMapper
.
updateByPrimaryKeyWithBLOBs
(
scenarioWithBLOBs
);
}
}
...
...
@@ -1633,6 +1641,8 @@ public class ApiAutomationService {
_importCreate
(
sameRequest
,
batchMapper
,
scenarioWithBLOBs
,
apiTestImportRequest
);
}
else
if
(
StringUtils
.
equals
(
"incrementalMerge"
,
apiTestImportRequest
.
getModeId
()))
{
if
(
CollectionUtils
.
isEmpty
(
sameRequest
))
{
List
<
ApiMethodUrlDTO
>
useUrl
=
this
.
parseUrl
(
scenarioWithBLOBs
);
scenarioWithBLOBs
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
batchMapper
.
insert
(
scenarioWithBLOBs
);
}
...
...
@@ -1811,12 +1821,6 @@ public class ApiAutomationService {
return
100
;
}
/**
* 前置工作:
* 1。将接口集合转化数据结构: map<method,Map<url,List<id>>> urlMap 用来做筛选
* 4。自定义List<api.id> coveragedIdList 已覆盖的id集合。 最终计算公式是 coveragedIdList/allApiIdList在
*
*/
Map
<
ApiMethodUrlDTO
,
List
<
String
>>
urlMap
=
new
HashMap
<>();
for
(
ApiDefinition
model
:
allEffectiveApiList
)
{
String
url
=
model
.
getPath
();
...
...
This diff is collapsed.
Click to expand it.
backend/src/main/java/io/metersphere/api/service/HistoricalDataUpgradeService.java
+
8
-
0
View file @
f83b8e3a
package
io.metersphere.api.service
;
import
com.alibaba.fastjson.JSON
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
io.metersphere.api.dto.EnvironmentDTO
;
import
io.metersphere.api.dto.SaveHistoricalDataUpgrade
;
import
io.metersphere.api.dto.automation.ScenarioStatus
;
import
io.metersphere.api.dto.datacount.ApiMethodUrlDTO
;
import
io.metersphere.api.dto.definition.request.MsScenario
;
import
io.metersphere.api.dto.definition.request.MsTestElement
;
import
io.metersphere.api.dto.definition.request.assertions.MsAssertionDuration
;
...
...
@@ -53,6 +55,8 @@ public class HistoricalDataUpgradeService {
@Resource
private
ExtApiScenarioMapper
extApiScenarioMapper
;
@Resource
private
ApiAutomationService
apiAutomationService
;
@Resource
SqlSessionFactory
sqlSessionFactory
;
@Resource
ApiTestEnvironmentService
apiTestEnvironmentService
;
...
...
@@ -360,6 +364,8 @@ public class HistoricalDataUpgradeService {
scenario
.
setUpdateTime
(
System
.
currentTimeMillis
());
scenario
.
setStatus
(
ScenarioStatus
.
Underway
.
name
());
scenario
.
setUserId
(
SessionUtils
.
getUserId
());
List
<
ApiMethodUrlDTO
>
useUrl
=
apiAutomationService
.
parseUrl
(
scenario
);
scenario
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
mapper
.
updateByPrimaryKeySelective
(
scenario
);
}
else
{
scenario
=
new
ApiScenarioWithBLOBs
();
...
...
@@ -378,6 +384,8 @@ public class HistoricalDataUpgradeService {
scenario
.
setStatus
(
ScenarioStatus
.
Underway
.
name
());
scenario
.
setUserId
(
SessionUtils
.
getUserId
());
scenario
.
setNum
(
num
);
List
<
ApiMethodUrlDTO
>
useUrl
=
apiAutomationService
.
parseUrl
(
scenario
);
scenario
.
setUseUrl
(
JSONArray
.
toJSONString
(
useUrl
));
mapper
.
insert
(
scenario
);
}
}
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment
Menu
Projects
Groups
Snippets
Help