Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
efbe03c3
提交
efbe03c3
authored
3月 17, 2022
作者:
mry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(base): 完成了报告数据的生成
上级
d5b40a4e
隐藏空白字符变更
内嵌
并排
正在显示
12 个修改的文件
包含
191 行增加
和
133 行删除
+191
-133
DataMove.java
.../src/main/java/org/matrix/testNg/web/entity/DataMove.java
+1
-1
GenerateReporter.java
...n/java/org/matrix/testNg/web/report/GenerateReporter.java
+3
-3
GenerateReporterJob.java
...ava/org/matrix/testNg/web/report/GenerateReporterJob.java
+8
-10
ReporterData.java
.../main/java/org/matrix/testNg/web/report/ReporterData.java
+5
-5
ReporterDataJob.java
...in/java/org/matrix/testNg/web/report/ReporterDataJob.java
+29
-13
TestNgImpl.java
...rc/main/java/org/matrix/testNg/web/report/TestNgImpl.java
+3
-3
DataBeansJobVo.java
...rc/main/java/org/matrix/testNg/web/vo/DataBeansJobVo.java
+9
-4
DataBeansMoveVo.java
...c/main/java/org/matrix/testNg/web/vo/DataBeansMoveVo.java
+28
-0
DataBeansVo.java
...e/src/main/java/org/matrix/testNg/web/vo/DataBeansVo.java
+5
-2
ReporterUtils.java
kt-base/src/main/java/org/matrix/util/ReporterUtils.java
+5
-5
overview.ftl
kt-base/src/main/resources/templates/overview.ftl
+42
-38
overviews.ftl
kt-base/src/main/resources/templates/overviews.ftl
+53
-49
没有找到文件。
kt-base/src/main/java/org/matrix/testNg/web/entity/Data
Bean
Move.java
→
kt-base/src/main/java/org/matrix/testNg/web/entity/DataMove.java
浏览文件 @
efbe03c3
...
...
@@ -10,7 +10,7 @@ import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
Data
Bean
Move
{
public
class
DataMove
{
/**
* 前置行动ID组,例如:1,2,3
...
...
kt-base/src/main/java/org/matrix/testNg/web/report/GenerateReporter.java
浏览文件 @
efbe03c3
...
...
@@ -5,7 +5,7 @@ import freemarker.template.Template;
import
freemarker.template.TemplateExceptionHandler
;
import
org.matrix.exception.GlobalException
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.Data
Bean
Move
;
import
org.matrix.testNg.web.entity.DataMove
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.ReportMessage
;
import
org.matrix.util.ReporterUtils
;
...
...
@@ -39,12 +39,12 @@ public class GenerateReporter {
Map
context
=
new
HashMap
();
ReporterData
reporterData
=
new
ReporterData
();
DataBean
dataBean
=
reporterData
.
testDataBean
();
Data
BeanMove
dataBean
Move
=
reporterData
.
testDataBeanMove
();
Data
Move
data
Move
=
reporterData
.
testDataBeanMove
();
List
<
DataBeans
>
dataBeansList
=
reporterData
.
testDataBeans
();
// 这里是公共的信息.
for
(
DataBeans
bean
:
dataBeansList
)
{
context
.
put
(
"overView"
,
dataBean
);
context
.
put
(
"move"
,
data
Bean
Move
);
context
.
put
(
"move"
,
dataMove
);
if
(
bean
.
getResult
())
{
context
.
put
(
"pass"
,
dataBeansList
);
}
else
{
...
...
kt-base/src/main/java/org/matrix/testNg/web/report/GenerateReporterJob.java
浏览文件 @
efbe03c3
...
...
@@ -5,8 +5,8 @@ import freemarker.template.Template;
import
freemarker.template.TemplateExceptionHandler
;
import
org.matrix.exception.GlobalException
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.DataBeanMove
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.DataMove
;
import
org.matrix.testNg.web.entity.ReportMessage
;
import
org.matrix.util.ReporterUtils
;
...
...
@@ -39,18 +39,16 @@ public class GenerateReporterJob {
Map
context
=
new
HashMap
();
ReporterDataJob
reporterDatajob
=
new
ReporterDataJob
();
DataBean
dataBean
=
reporterDatajob
.
testDataBean
();
List
<
Data
BeanMove
>
dataBean
Moves
=
reporterDatajob
.
testDataBeanMove
();
List
<
Data
Move
>
data
Moves
=
reporterDatajob
.
testDataBeanMove
();
List
<
DataBeans
>
dataBeansList
=
reporterDatajob
.
testDataBeans
();
// 这里是公共的信息.
for
(
DataBeans
bean
:
dataBeansList
)
{
context
.
put
(
"overView"
,
dataBean
);
for
(
DataBeanMove
dataBeanMove
:
dataBeanMoves
)
{
context
.
put
(
"move"
,
dataBeanMoves
);
if
(
bean
.
getResult
())
{
context
.
put
(
"pass"
,
bean
);
}
else
{
context
.
put
(
"fail"
,
bean
);
}
context
.
put
(
"move"
,
dataMoves
);
if
(
bean
.
getResult
())
{
context
.
put
(
"pass"
,
dataBeansList
);
}
else
{
context
.
put
(
"fail"
,
dataBeansList
);
}
}
//文件夹不存在的话进行创建
...
...
@@ -70,7 +68,7 @@ public class GenerateReporterJob {
}
catch
(
Exception
e
)
{
throw
new
GlobalException
(
e
.
getMessage
());
}
finally
{
ReporterUtils
.
m
ap
=
new
HashMap
<>();
ReporterUtils
.
jobM
ap
=
new
HashMap
<>();
}
}
}
kt-base/src/main/java/org/matrix/testNg/web/report/ReporterData.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
report
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.Data
Bean
Move
;
import
org.matrix.testNg.web.entity.DataMove
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.
entity
.DataBeansVo
;
import
org.matrix.testNg.web.
vo
.DataBeansVo
;
import
org.matrix.util.ReporterUtils
;
import
java.util.List
;
...
...
@@ -40,15 +40,15 @@ public class ReporterData {
dataBean
.
setTotal
(
passNum
+
failNum
);
//通过率
dataBean
.
setProbability
(
passNum
/
(
passNum
+
failNum
));
// TODO 时间需要处理
// TODO 时间需要处理
,通过率需要处理
return
dataBean
;
}
/**
* 动作部分
*/
public
Data
Bean
Move
testDataBeanMove
()
{
return
ReporterUtils
.
map
.
get
(
"dataBeansVo"
).
getData
Bean
Move
();
public
DataMove
testDataBeanMove
()
{
return
ReporterUtils
.
map
.
get
(
"dataBeansVo"
).
getDataMove
();
}
/**
...
...
kt-base/src/main/java/org/matrix/testNg/web/report/ReporterDataJob.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
report
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.DataBeanMove
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.DataBeansJobVo
;
import
org.matrix.testNg.web.entity.DataMove
;
import
org.matrix.testNg.web.vo.DataBeansJobVo
;
import
org.matrix.testNg.web.vo.DataBeansMoveVo
;
import
org.matrix.util.ReporterUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
...
...
@@ -18,17 +20,20 @@ public class ReporterDataJob {
* @return 补全了的所有报告信息
*/
public
DataBean
testDataBean
()
{
DataBeansJobVo
dataBeansJobVo
=
ReporterUtils
.
jobMap
.
get
(
"
dataBeansJobVo
"
);
DataBeansJobVo
dataBeansJobVo
=
ReporterUtils
.
jobMap
.
get
(
"
job
"
);
int
passNum
=
0
;
int
failNum
=
0
;
// 测试结果汇总数据
DataBean
dataBean
=
dataBeansJobVo
.
getDataBean
();
List
<
DataBeans
>
dataBeanLists
=
dataBeansJobVo
.
getDataBeansList
();
for
(
DataBeans
dataBeanList
:
dataBeanLists
)
{
if
(
dataBeanList
.
getResult
())
{
passNum
+=
1
;
}
else
{
failNum
+=
1
;
List
<
DataBeansMoveVo
>
dataBeansMoveVos
=
dataBeansJobVo
.
getDataBeansMove
();
for
(
DataBeansMoveVo
dataBeansMoveVo
:
dataBeansMoveVos
)
{
List
<
DataBeans
>
dataBeansList
=
dataBeansMoveVo
.
getDataBeansList
();
for
(
DataBeans
dataBeans
:
dataBeansList
)
{
if
(
dataBeans
.
getResult
())
{
passNum
+=
1
;
}
else
{
failNum
+=
1
;
}
}
}
//成功
...
...
@@ -39,15 +44,21 @@ public class ReporterDataJob {
dataBean
.
setTotal
(
passNum
+
failNum
);
//通过率
dataBean
.
setProbability
(
passNum
/
(
passNum
+
failNum
));
// TODO 时间需要处理
// TODO 时间需要处理
,通过率需要处理
return
dataBean
;
}
/**
* 动作部分
*/
public
List
<
DataBeanMove
>
testDataBeanMove
()
{
return
ReporterUtils
.
jobMap
.
get
(
"dataBeansJobVo"
).
getDataBeanMoveList
();
public
List
<
DataMove
>
testDataBeanMove
()
{
List
<
DataMove
>
dataMoveList
=
new
ArrayList
<>();
List
<
DataBeansMoveVo
>
dataBeansMoveVos
=
ReporterUtils
.
jobMap
.
get
(
"job"
).
getDataBeansMove
();
for
(
DataBeansMoveVo
dataBeansMoveVo
:
dataBeansMoveVos
)
{
DataMove
dataMove
=
dataBeansMoveVo
.
getDataMove
();
dataMoveList
.
add
(
dataMove
);
}
return
dataMoveList
;
}
/**
...
...
@@ -56,6 +67,11 @@ public class ReporterDataJob {
* @return 报告中细节部分的信息
*/
public
List
<
DataBeans
>
testDataBeans
()
{
return
ReporterUtils
.
jobMap
.
get
(
"dataBeansJobVo"
).
getDataBeansList
();
List
<
DataBeans
>
dataBeansList
=
null
;
List
<
DataBeansMoveVo
>
dataBeansMoveVos
=
ReporterUtils
.
jobMap
.
get
(
"job"
).
getDataBeansMove
();
for
(
DataBeansMoveVo
dataBeansMoveVo
:
dataBeansMoveVos
)
{
dataBeansList
=
dataBeansMoveVo
.
getDataBeansList
();
}
return
dataBeansList
;
}
}
kt-base/src/main/java/org/matrix/testNg/web/report/TestNgImpl.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
report
;
import
org.matrix.testNg.web.TestNg
;
import
org.matrix.testNg.web.
entity
.DataBeansJobVo
;
import
org.matrix.testNg.web.
entity
.DataBeansVo
;
import
org.matrix.testNg.web.
vo
.DataBeansJobVo
;
import
org.matrix.testNg.web.
vo
.DataBeansVo
;
import
org.matrix.testNg.web.entity.ReportMessage
;
import
org.matrix.util.ReporterUtils
;
import
org.springframework.stereotype.Component
;
...
...
@@ -30,7 +30,7 @@ public class TestNgImpl implements TestNg {
* 多条用例执行时,报告生成的位置
*/
public
ReportMessage
getReporterUrls
(
DataBeansJobVo
dataBeansJobVo
)
{
ReporterUtils
.
jobMap
.
put
(
"
dataBeansJobVo
"
,
dataBeansJobVo
);
ReporterUtils
.
jobMap
.
put
(
"
job
"
,
dataBeansJobVo
);
GenerateReporterJob
generateReporterJob
=
new
GenerateReporterJob
();
ReportMessage
reportMessage
=
generateReporterJob
.
generateReport
();
return
reportMessage
;
...
...
kt-base/src/main/java/org/matrix/testNg/web/
entity
/DataBeansJobVo.java
→
kt-base/src/main/java/org/matrix/testNg/web/
vo
/DataBeansJobVo.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
entity
;
package
org
.
matrix
.
testNg
.
web
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.matrix.testNg.web.entity.DataBean
;
import
java.util.List
;
...
...
@@ -14,9 +15,13 @@ import java.util.List;
@NoArgsConstructor
public
class
DataBeansJobVo
{
/**
* 报告公共部分
*/
private
DataBean
dataBean
;
private
List
<
DataBeanMove
>
dataBeanMoveList
;
private
List
<
DataBeans
>
dataBeansList
;
/**
* 动作对应多个细节部分
*/
private
List
<
DataBeansMoveVo
>
dataBeansMove
;
}
kt-base/src/main/java/org/matrix/testNg/web/vo/DataBeansMoveVo.java
0 → 100644
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.DataMove
;
import
java.util.List
;
/**
* @author MRY
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
DataBeansMoveVo
{
/**
* 动作部分
*/
private
DataMove
dataMove
;
/**
* 细节部分
*/
private
List
<
DataBeans
>
dataBeansList
;
}
kt-base/src/main/java/org/matrix/testNg/web/
entity
/DataBeansVo.java
→
kt-base/src/main/java/org/matrix/testNg/web/
vo
/DataBeansVo.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
testNg
.
web
.
entity
;
package
org
.
matrix
.
testNg
.
web
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.DataMove
;
import
java.util.List
;
...
...
@@ -24,7 +27,7 @@ public class DataBeansVo {
/**
* 动作部分
*/
private
Data
BeanMove
dataBean
Move
;
private
Data
Move
data
Move
;
/**
* 细节部分
...
...
kt-base/src/main/java/org/matrix/util/ReporterUtils.java
浏览文件 @
efbe03c3
package
org
.
matrix
.
util
;
import
org.matrix.actuators.usecase.Test
Data
ExecuteResult
;
import
org.matrix.testNg.web.
entity
.DataBeansJobVo
;
import
org.matrix.testNg.web.
entity
.DataBeansVo
;
import
org.matrix.actuators.usecase.Test
Case
ExecuteResult
;
import
org.matrix.testNg.web.
vo
.DataBeansJobVo
;
import
org.matrix.testNg.web.
vo
.DataBeansVo
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -13,9 +13,9 @@ import java.util.Map;
*/
public
class
ReporterUtils
{
public
static
Map
<
Long
,
Map
<
Long
,
List
<
Test
Data
ExecuteResult
>>>
userResultMap
=
new
HashMap
<>();
public
static
Map
<
Long
,
Map
<
Long
,
List
<
Test
Case
ExecuteResult
>>>
userResultMap
=
new
HashMap
<>();
public
static
Map
<
Long
,
List
<
Test
Data
ExecuteResult
>>
resultMap
=
new
HashMap
<>();
public
static
Map
<
Long
,
List
<
Test
Case
ExecuteResult
>>
resultMap
=
new
HashMap
<>();
public
static
Map
<
String
,
DataBeansVo
>
map
=
new
HashMap
<>();
...
...
kt-base/src/main/resources/templates/overview.ftl
浏览文件 @
efbe03c3
...
...
@@ -86,25 +86,25 @@
<th>
用例通过率
</th>
</tr>
<tr>
<td>
${overView.total}
</td>
<
#--用例总数-->
<td>
${overView.passNum}
</td>
<
#--执行通过-->
<td>
${overView.failNum}
</td>
<
#--执行失败-->
<td>
${overView.allTime}
</td>
<
#--执行时间(s)-->
<td>
${overView.probability}
</td>
<
#--用例通过率-->
<td>
${overView.total
!
}
</td>
<
#--用例总数-->
<td>
${overView.passNum
!
}
</td>
<
#--执行通过-->
<td>
${overView.failNum
!
}
</td>
<
#--执行失败-->
<td>
${overView.allTime
!
}
</td>
<
#--执行时间(s)-->
<td>
${overView.probability
!
}
</td>
<
#--用例通过率-->
</tr>
</table>
<br/><br/>
<h2>
Move
</h2>
<table
id=
"move
Action
"
class=
"tabNoBorder"
>
<table
id=
"move"
class=
"tabNoBorder"
>
<tr
class=
"columnHeadings"
>
<th>
前置动作
</th>
<th>
中置动作
</th>
<th>
后置动作
</th>
</tr>
<tr>
<td>
${move.moveBefore}
</td>
<
#--用例总数-->
<td>
${move.moveAfterCase}
</td>
<
#--未执行用例数-->
<td>
${move.moveAfterTest}
</td>
<
#--执行通过-->
<td>
${move.moveBefore
!无
}
</td>
<
#--用例总数-->
<td>
${move.moveAfterCase
!无
}
</td>
<
#--未执行用例数-->
<td>
${move.moveAfterTest
!无
}
</td>
<
#--执行通过-->
</tr>
</table>
<br/><br/>
...
...
@@ -121,35 +121,38 @@
<th>
结果信息
</th>
</tr>
<
#assign caseNo = 0>
<
#list fail as failCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${failCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${failCase.type!}
</td>
<
#--用例类型-->
<td>
${failCase.detail!}
</td>
<
#--详细参数-->
<td>
${failCase.description!}
</td>
<
#--用例描述-->
<td>
${failCase.result?c}
</td>
<td>
${failCase.duration!}
</td>
<
#--
<th>
执行时间(s)
</th>
-->
<td>
${failCase.resultMessage!}
</td>
</tr>
<
/#list>
<
#list pass as passCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${passCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${passCase.type!}
</td>
<
#--用例类型-->
<td>
${passCase.detail!}
</td>
<
#--详细参数-->
<td>
${passCase.moveBefore!}
</td>
<
#--前置动作-->
<td>
${passCase.moveAfterCase!}
</td>
<
#--中间动作-->
<td>
${passCase.moveAfterTest!}
</td>
<
#--后置动作-->
<td>
${passCase.description!}
</td>
<
#--用例描述-->
<td>
${passCase.result?c}
</td>
<td>
${passCase.duration!}
</td>
<
#--执行时间(s)-->
<td>
${passCase.resultMessage!}
</td>
<
#--结果信息-->
</tr>
<
/#list>
<
#if fail ??>
<
#list fail as failCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${failCase.testCaseName!'无'}
</td>
<
#--用例名称-->
<td>
${failCase.type!'无'}
</td>
<
#--用例类型-->
<td>
${failCase.detail!'无'}
</td>
<
#--详细参数-->
<td>
${failCase.description!'无'}
</td>
<
#--用例描述-->
<td>
${failCase.result?c}
</td>
<td>
${failCase.duration!'无'}
</td>
<
#--
<th>
执行时间(s)
</th>
-->
<td>
${failCase.resultMessage!'无'}
</td>
</tr>
<
/#list>
<
#else>
<
/#if>
<
#if pass ??>
<
#list pass as passCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${passCase.testCaseName!"无"}
</td>
<
#--用例名称-->
<td>
${passCase.type!'无'}
</td>
<
#--用例类型-->
<td>
${passCase.detail!'无'}
</td>
<
#--详细参数-->
<td>
${passCase.description!'无'}
</td>
<
#--用例描述-->
<td>
${passCase.result?c}
</td>
<td>
${passCase.duration!'无'}
</td>
<
#--执行时间(s)-->
<td>
${passCase.resultMessage!'无'}
</td>
<
#--结果信息-->
</tr>
<
/#list>
<
#else>
<
/#if>
</table>
</body>
</html>
\ No newline at end of file
kt-base/src/main/resources/templates/overviews.ftl
浏览文件 @
efbe03c3
...
...
@@ -80,39 +80,36 @@
<table
id=
"summary"
class=
"tabNoBorder"
>
<tr
class=
"columnHeadings"
>
<th>
用例总数
</th>
<th>
未执行用例数
</th>
<th>
执行通过
</th>
<th>
执行失败
</th>
<th>
跳过用例数
</th>
<th>
执行时间(s)
</th>
<th>
用例通过率
</th>
</tr>
<tr>
<td>
${overView.allTestsSize}
</td>
<
#--用例总数-->
<td>
${overView.excludeTestsSize}
</td>
<
#--未执行用例数-->
<td>
${overView.passedTestsSize}
</td>
<
#--执行通过-->
<td>
${overView.failedTestsSize}
</td>
<
#--执行失败-->
<td>
${overView.skippedTestsSize}
</td>
<
#--跳过用例数-->
<td>
${overView.testsTime}
</td>
<
#--执行时间(s)-->
<td>
${overView.passPercent}
</td>
<
#--用例通过率-->
<td>
${overView.total!}
</td>
<
#--用例总数-->
<td>
${overView.passNum!}
</td>
<
#--执行通过-->
<td>
${overView.failNum!}
</td>
<
#--执行失败-->
<td>
${overView.allTime!}
</td>
<
#--执行时间(s)-->
<td>
${overView.probability!}
</td>
<
#--用例通过率-->
</tr>
</table>
<br/><br/>
<h2>
Detail
</h2>
<table
class=
"tabNoBorder"
>
<tr
class=
"columnHeadings"
>
<th>
前置动作
</th>
<th>
中置动作
</th>
<th>
后置动作
</th>
</tr>
<
#list move as moveCase>
<tr>
<td>
${moveCase.moveBefore}
</td>
<
#--用例总数-->
<td>
${moveCase.moveAfterCase}
</td>
<
#--未执行用例数-->
<td>
${moveCase.moveAfterTest}
</td>
<
#--执行通过-->
</tr>
<
/#list>
<table
class=
"aaa"
>
<table
id=
"Move"
class=
"tabNoBorder"
>
<h2>
Move
</h2>
<table
id=
"move"
class=
"tabNoBorder"
>
<
#list move as moveCase>
<tr
class=
"columnHeadings"
>
<th>
前置动作
</th>
<th>
中置动作
</th>
<th>
后置动作
</th>
</tr>
<tr>
<td>
${moveCase.moveBefore!}
</td>
<
#--用例总数-->
<td>
${moveCase.moveAfterCase!}
</td>
<
#--未执行用例数-->
<td>
${moveCase.moveAfterTest!}
</td>
<
#--执行通过-->
</tr>
</table>
<table
id=
"Detail"
class=
"tabNoBorder"
>
<tr
class=
"columnHeadings"
>
<th>
编号
</th>
<th>
用例名称
</th>
...
...
@@ -124,31 +121,38 @@
<th>
结果信息
</th>
</tr>
<
#assign caseNo = 0>
<
#list fail as failCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${failCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${failCase.type!}
</td>
<
#--用例类型-->
<td>
${failCase.detail!}
</td>
<
#--详细参数-->
<td>
${failCase.description!}
</td>
<
#--用例描述-->
<td>
${failCase.result}
</td>
<td>
${failCase.duration!}
</td>
<
#--
<th>
执行时间(s)
</th>
-->
<td>
${failCase.resultMessage!}
</td>
</tr>
<
/#list>
<
#list pass as passCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${passCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${passCase.type!}
</td>
<
#--用例类型-->
<td>
${passCase.detail!}
</td>
<
#--详细参数-->
<td>
${passCase.description}
</td>
<
#--用例描述-->
<td>
${passCase.result}
</td>
<td>
${passCase.duration!}
</td>
<
#--执行时间(s)-->
<td>
${passCase.resultMessage!}
</td>
<
#--结果信息-->
</tr>
<
#if fail ??>
<
#list fail as failCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${failCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${failCase.type!}
</td>
<
#--用例类型-->
<td>
${failCase.detail!}
</td>
<
#--详细参数-->
<td>
${failCase.description!}
</td>
<
#--用例描述-->
<td>
${failCase.result?c}
</td>
<td>
${failCase.duration!}
</td>
<
#--
<th>
执行时间(s)
</th>
-->
<td>
${failCase.resultMessage!}
</td>
</tr>
<
/#list>
<
#else >
<
/#if>
<
#if pass??>
<
#list pass as passCase>
<tr>
<
#assign caseNo=caseNo+1>
<td>
${caseNo}
</td>
<
#--编号-->
<td>
${passCase.testCaseName!}
</td>
<
#--用例名称-->
<td>
${passCase.type!}
</td>
<
#--用例类型-->
<td>
${passCase.detail!}
</td>
<
#--详细参数-->
<td>
${passCase.description!}
</td>
<
#--用例描述-->
<td>
${passCase.result?c}
</td>
<td>
${passCase.duration!}
</td>
<
#--执行时间(s)-->
<td>
${passCase.resultMessage!}
</td>
<
#--结果信息-->
</tr>
<
/#list>
<
#else >
<
/#if>
<
/#list>
</table>
</table>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论