Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
holmes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
QA
holmes
Commits
6b74fed2
Commit
6b74fed2
authored
May 27, 2021
by
黎博
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'auto'
去掉Testcase和SceneTestcase里的variables
parents
6602c0b2
15bb748e
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
76 additions
and
18 deletions
+76
-18
TestReportController.java
...va/cn/qg/holmes/controller/auto/TestReportController.java
+19
-3
SceneTestcase.java
src/main/java/cn/qg/holmes/entity/auto/SceneTestcase.java
+0
-1
Testcase.java
src/main/java/cn/qg/holmes/entity/auto/Testcase.java
+1
-1
SceneTestcaseReportMapper.java
...a/cn/qg/holmes/mapper/auto/SceneTestcaseReportMapper.java
+1
-1
AutoUtilsService.java
...main/java/cn/qg/holmes/service/auto/AutoUtilsService.java
+2
-0
SceneTestcaseReportService.java
...cn/qg/holmes/service/auto/SceneTestcaseReportService.java
+1
-1
AutoUtilsServiceImpl.java
.../cn/qg/holmes/service/auto/impl/AutoUtilsServiceImpl.java
+19
-0
SceneTestcaseReportServiceImpl.java
...mes/service/auto/impl/SceneTestcaseReportServiceImpl.java
+2
-2
SceneTestcaseServiceImpl.java
...qg/holmes/service/auto/impl/SceneTestcaseServiceImpl.java
+10
-5
TestcaseServiceImpl.java
...a/cn/qg/holmes/service/auto/impl/TestcaseServiceImpl.java
+1
-1
SceneTestcaseReportMapper.xml
src/main/resources/mapper/auto/SceneTestcaseReportMapper.xml
+20
-3
No files found.
src/main/java/cn/qg/holmes/controller/auto/TestReportController.java
View file @
6b74fed2
...
...
@@ -56,8 +56,8 @@ public class TestReportController {
* @return
*/
@GetMapping
(
"/scene/batch/list"
)
public
JsonResult
getSceneTestcaseReportBatchList
(
String
namespace
,
Integer
projectId
,
@RequestParam
Integer
pageNum
,
@RequestParam
Integer
pageSize
)
{
IPage
<
Map
<
String
,
Object
>>
sceneTestcaseReportIPage
=
sceneTestcaseReportService
.
getSceneTestcaseReportGroupByBatch
(
namespace
,
projectId
,
pageNum
,
pageSize
);
public
JsonResult
getSceneTestcaseReportBatchList
(
String
namespace
,
Integer
projectId
,
Integer
sceneId
,
String
sceneName
,
@RequestParam
Integer
pageNum
,
@RequestParam
Integer
pageSize
)
{
IPage
<
Map
<
String
,
Object
>>
sceneTestcaseReportIPage
=
sceneTestcaseReportService
.
getSceneTestcaseReportGroupByBatch
(
namespace
,
projectId
,
sceneId
,
sceneName
,
pageNum
,
pageSize
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"total"
,
sceneTestcaseReportIPage
.
getTotal
());
map
.
put
(
"list"
,
sceneTestcaseReportIPage
.
getRecords
());
...
...
@@ -119,6 +119,22 @@ public class TestReportController {
sceneTestcaseReportQueryWrapper
.
eq
(
"namespace"
,
namespace
);
sceneTestcaseReportQueryWrapper
.
eq
(
"batch"
,
batch
);
List
<
SceneTestcaseReport
>
sceneTestcaseReports
=
sceneTestcaseReportService
.
list
(
sceneTestcaseReportQueryWrapper
);
return
JsonResult
.
buildSuccessResult
(
sceneTestcaseReports
);
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
int
total
=
sceneTestcaseReports
.
size
();
int
pass
=
0
;
int
fail
=
0
;
for
(
SceneTestcaseReport
sceneTestcaseReport:
sceneTestcaseReports
)
{
String
status
=
sceneTestcaseReport
.
getStatus
();
if
(
status
.
equals
(
"pass"
))
{
pass
+=
1
;
}
else
if
(
status
.
equals
(
"fail"
))
{
fail
+=
1
;
}
}
map
.
put
(
"total"
,
total
);
map
.
put
(
"pass"
,
pass
);
map
.
put
(
"fail"
,
fail
);
map
.
put
(
"list"
,
sceneTestcaseReports
);
return
JsonResult
.
buildSuccessResult
(
map
);
}
}
src/main/java/cn/qg/holmes/entity/auto/SceneTestcase.java
View file @
6b74fed2
...
...
@@ -24,7 +24,6 @@ public class SceneTestcase {
private
String
postAction
;
private
String
headers
;
private
String
parameters
;
private
String
variables
;
private
String
extract
;
private
String
validate
;
private
Integer
sequence
;
...
...
src/main/java/cn/qg/holmes/entity/auto/Testcase.java
View file @
6b74fed2
...
...
@@ -24,7 +24,7 @@ public class Testcase {
private
String
postAction
;
private
String
headers
;
private
String
parameters
;
private
String
variables
;
//
private String variables;
private
String
extract
;
private
String
validate
;
private
Integer
moduleId
;
...
...
src/main/java/cn/qg/holmes/mapper/auto/SceneTestcaseReportMapper.java
View file @
6b74fed2
...
...
@@ -7,5 +7,5 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import
java.util.Map
;
public
interface
SceneTestcaseReportMapper
extends
BaseMapper
<
SceneTestcaseReport
>
{
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
IPage
<
Map
<
String
,
Object
>>
page
);
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
I
nteger
sceneId
,
String
sceneName
,
I
Page
<
Map
<
String
,
Object
>>
page
);
}
src/main/java/cn/qg/holmes/service/auto/AutoUtilsService.java
View file @
6b74fed2
...
...
@@ -10,6 +10,8 @@ public interface AutoUtilsService {
Map
<
String
,
String
>
replaceParameters
(
String
parameters
,
String
variables
,
UUID
uuid
);
Map
<
String
,
String
>
replaceVariables
(
String
parameters
,
UUID
uuid
);
boolean
extractResponse
(
String
response
,
String
extract
,
UUID
uuid
);
boolean
assertResponse
(
String
response
,
List
<
Map
>
validateList
);
...
...
src/main/java/cn/qg/holmes/service/auto/SceneTestcaseReportService.java
View file @
6b74fed2
...
...
@@ -10,5 +10,5 @@ public interface SceneTestcaseReportService extends IService<SceneTestcaseReport
Map
<
String
,
Object
>
getSceneTestcaseReportListByNamespace
(
String
namespace
,
Integer
moduleId
,
Integer
pageNum
,
Integer
pageSize
);
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
Integer
pageNum
,
Integer
pageSize
);
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
Integer
sceneId
,
String
sceneName
,
Integer
pageNum
,
Integer
pageSize
);
}
src/main/java/cn/qg/holmes/service/auto/impl/AutoUtilsServiceImpl.java
View file @
6b74fed2
...
...
@@ -63,6 +63,25 @@ public class AutoUtilsServiceImpl implements AutoUtilsService {
return
parameterMap
;
}
/**
* 参数替换-新
* @param parameters headers或者parameters
* @param uuid 唯一标识
*/
@Override
public
Map
<
String
,
String
>
replaceVariables
(
String
parameters
,
UUID
uuid
)
{
Map
<
String
,
String
>
parameterMap
=
JSON
.
parseObject
(
parameters
,
Map
.
class
);
log
.
info
(
"替换之前的参数:{}"
,
parameterMap
);
for
(
String
key:
parameterMap
.
keySet
())
{
String
value
=
parameterMap
.
get
(
key
);
if
(
value
.
startsWith
(
"$"
))
{
parameterMap
.
put
(
key
,
redisUtils
.
get
(
uuid
+
"_"
+
value
.
substring
(
1
)).
toString
());
}
}
log
.
info
(
"替换之后的参数:{}"
,
parameterMap
);
return
parameterMap
;
}
/**
* 将响应中的值解析出来并存储到redis值
* @param response 响应json
...
...
src/main/java/cn/qg/holmes/service/auto/impl/SceneTestcaseReportServiceImpl.java
View file @
6b74fed2
...
...
@@ -40,8 +40,8 @@ public class SceneTestcaseReportServiceImpl extends ServiceImpl<SceneTestcaseRep
}
@Override
public
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
Integer
pageNum
,
Integer
pageSize
)
{
public
IPage
<
Map
<
String
,
Object
>>
getSceneTestcaseReportGroupByBatch
(
String
namespace
,
Integer
projectId
,
Integer
sceneId
,
String
sceneName
,
Integer
pageNum
,
Integer
pageSize
)
{
IPage
<
Map
<
String
,
Object
>>
page
=
new
Page
<>(
pageNum
,
pageSize
);
return
sceneTestcaseReportMapper
.
getSceneTestcaseReportGroupByBatch
(
namespace
,
projectId
,
page
);
return
sceneTestcaseReportMapper
.
getSceneTestcaseReportGroupByBatch
(
namespace
,
projectId
,
sceneId
,
sceneName
,
page
);
}
}
src/main/java/cn/qg/holmes/service/auto/impl/SceneTestcaseServiceImpl.java
View file @
6b74fed2
...
...
@@ -86,18 +86,23 @@ public class SceneTestcaseServiceImpl extends ServiceImpl<SceneTestcaseMapper, S
String
interfaceName
=
anInterface
.
getName
();
String
headers
=
sceneTestcase
.
getHeaders
();
String
parameters
=
sceneTestcase
.
getParameters
();
String
variables
=
sceneTestcase
.
getVariables
();
String
extract
=
sceneTestcase
.
getExtract
();
String
validate
=
sceneTestcase
.
getValidate
();
Map
<
String
,
String
>
parameterMap
=
JSON
.
parseObject
(
parameters
,
Map
.
class
);
Map
<
String
,
String
>
headersMap
=
JSON
.
parseObject
(
headers
,
Map
.
class
);
// 使用变量替换headers
if
(
variables
!=
null
&&
!
variables
.
isEmpty
()
&&
headers
!=
null
&&
!
headers
.
isEmpty
())
{
headersMap
=
autoUtilsService
.
replaceHeaders
(
headers
,
variables
,
uuid
);
// if (variables != null && !variables.isEmpty() && headers != null && !headers.isEmpty()) {
// headersMap = autoUtilsService.replaceHeaders(headers, variables, uuid);
// }
if
(
headers
!=
null
&&
!
headers
.
isEmpty
())
{
headersMap
=
autoUtilsService
.
replaceVariables
(
headers
,
uuid
);
}
// 使用变量替换参数
if
(
variables
!=
null
&&
!
variables
.
isEmpty
()
&&
parameters
!=
null
&&
!
parameters
.
isEmpty
())
{
parameterMap
=
autoUtilsService
.
replaceParameters
(
parameters
,
variables
,
uuid
);
// if (variables != null && !variables.isEmpty() && parameters != null && !parameters.isEmpty()) {
// parameterMap = autoUtilsService.replaceParameters(parameters, variables, uuid);
// }
if
(
parameters
!=
null
&&
!
parameters
.
isEmpty
())
{
parameterMap
=
autoUtilsService
.
replaceVariables
(
parameters
,
uuid
);
}
// 创建断言列表
List
<
Map
>
validateList
=
new
ArrayList
<>();
...
...
src/main/java/cn/qg/holmes/service/auto/impl/TestcaseServiceImpl.java
View file @
6b74fed2
...
...
@@ -68,7 +68,7 @@ public class TestcaseServiceImpl extends ServiceImpl<TestcaseMapper, Testcase> i
String
headers
=
testcase
.
getHeaders
();
String
parameters
=
testcase
.
getParameters
();
String
testcaseName
=
testcase
.
getName
();
String
variables
=
testcase
.
getVariables
();
//
String variables = testcase.getVariables();
String
extract
=
testcase
.
getExtract
();
String
validate
=
testcase
.
getValidate
();
// 参数准备
...
...
src/main/resources/mapper/auto/SceneTestcaseReportMapper.xml
View file @
6b74fed2
...
...
@@ -3,14 +3,31 @@
<mapper
namespace=
"cn.qg.holmes.mapper.auto.SceneTestcaseReportMapper"
>
<select
id=
"getSceneTestcaseReportGroupByBatch"
resultType=
"java.util.Map"
>
SELECT st.`scene_id` as sceneId, st.`batch`, st.`namespace`, st.`project_id` as projectId, pro.`name` as projectName, st.`create_time` as createTime from `scene_testcase_report` st
left join `auto_project` pro on st.`project_id` = pro.`id` WHERE 1=1
SELECT st.`scene_id` as sceneId,
st.`batch`,
st.`namespace`,
st.`project_id` as projectId,
pro.`name` as projectName,
sc.`name` as sceneName,
st.`create_time` as createTime
FROM `scene_testcase_report` st
INNER JOIN `auto_project` pro
ON st.`project_id` = pro.`id`
INNER JOIN `scene` sc
ON st.`scene_id` = sc.id
WHERE 1=1
<if
test=
"projectId != null and projectId !=''"
>
AND st.`project_id` = #{projectId}
AND st.`project_id` = #{projectId}
</if>
<if
test=
"namespace != null and namespace != ''"
>
AND st.`namespace` = #{namespace}
</if>
<if
test=
"sceneId != null and sceneId != ''"
>
AND st.`scene_id` = #{sceneId}
</if>
<if
test=
"sceneName != null and sceneName != ''"
>
AND sc.`name` LIKE CONCAT('%', #{sceneName}, '%')
</if>
GROUP BY st.`batch`
</select>
...
...
Write
Preview
Markdown
is supported
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