提交 da160772 authored 作者: mry's avatar mry

fix(web): 修改了报告样式

上级 43e98fb2
......@@ -50,5 +50,8 @@ public class DataBeans {
*/
private CheckPointResult resultMessage;
/**
* 结果信息转JSON
*/
private String str;
}
package org.matrix.testNg.web.report;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.matrix.actuators.checkpoint.CheckPointResult;
import org.matrix.actuators.checkpoint.CheckPointResultDetail;
import org.matrix.exception.GlobalException;
import org.matrix.testNg.web.entity.DataBean;
import org.matrix.testNg.web.entity.DataBeans;
import org.matrix.testNg.web.entity.DataMove;
......@@ -34,7 +39,27 @@ public class ReporterData {
* @return 报告中细节部分的信息
*/
public List<DataBeans> testDataBeans() {
return ReporterUtils.map.get("dataBeansVo").getDataBeanLists();
List<DataBeans> dataBeansList = ReporterUtils.map.get("dataBeansVo").getDataBeanLists();
ObjectMapper objectMapper = new ObjectMapper();
for (DataBeans dataBeans : dataBeansList) {
try {
CheckPointResult resultMessage = dataBeans.getResultMessage();
List<CheckPointResultDetail> checkPointResultDetails = resultMessage.getCheckPointResultDetails();
for (CheckPointResultDetail checkPointResultDetail : checkPointResultDetails) {
if (checkPointResultDetail.getMatchExpression() == null){
checkPointResultDetail.setMatchExpression("");
}
if (checkPointResultDetail.getParseExpression() == null){
checkPointResultDetail.setParseExpression("");
}
}
dataBeans.setStr(objectMapper.writeValueAsString(resultMessage));
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new GlobalException("报告中结果信息,序列化失败");
}
}
return dataBeansList;
}
}
\ No newline at end of file
package org.matrix.testNg.web.report;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.matrix.actuators.checkpoint.CheckPointResult;
import org.matrix.actuators.checkpoint.CheckPointResultDetail;
import org.matrix.exception.GlobalException;
import org.matrix.testNg.web.entity.DataBean;
import org.matrix.testNg.web.entity.DataBeans;
import org.matrix.testNg.web.entity.DataMove;
......@@ -43,8 +48,27 @@ public class ReporterDataJob {
public List<DataBeans> testDataBeans() {
List<DataBeans> dataBeansList = new ArrayList<>();
List<DataBeansMoveVo> dataBeansMoveVos = ReporterUtils.jobMap.get("job").getDataBeansMove();
ObjectMapper objectMapper = new ObjectMapper();
for (DataBeansMoveVo dataBeansMoveVo : dataBeansMoveVos) {
dataBeansList = dataBeansMoveVo.getDataBeansList();
for (DataBeans dataBeans : dataBeansList) {
try {
CheckPointResult resultMessage = dataBeans.getResultMessage();
List<CheckPointResultDetail> checkPointResultDetails = resultMessage.getCheckPointResultDetails();
for (CheckPointResultDetail checkPointResultDetail : checkPointResultDetails) {
if (checkPointResultDetail.getMatchExpression() == null){
checkPointResultDetail.setMatchExpression("");
}
if (checkPointResultDetail.getParseExpression() == null){
checkPointResultDetail.setParseExpression("");
}
}
dataBeans.setStr(objectMapper.writeValueAsString(resultMessage));
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new GlobalException("报告中结果信息,序列化失败");
}
}
}
return dataBeansList;
}
......
......@@ -72,7 +72,7 @@
<td style="color: red">${failCase.result?c}</td>
<td>${failCase.duration!}</td>
<td class="clickClass"
data-message='${failCase.resultMessage}'>
data-message='${failCase.str!}'>
查看结果
</td>
</tr>
......@@ -94,7 +94,7 @@
<td style="color: green">${passCase.result?c}</td>
<td>${passCase.duration!}</td>
<td class="clickClass"
data-message='${passCase.resultMessage}'>
data-message='${passCase.str!}'>
查看结果
</td>
</tr>
......@@ -127,15 +127,7 @@
<script src="./res/js/bootstrap.js"></script>
<script>
function handleData(data) {
let a = data
let b = a.split('=').splice(1, a.split('=').length - 2)
let c = b.join('=').split('(')[1].split(')')[0]
let d = c.split(',')
let e = []
d.map(v => {
e.push({key: v.split('=')[0] + ":", value: v.split('=')[1]})
})
return e
return data
}
$(".clickClass").each((i, v) => {
......@@ -144,24 +136,40 @@
alert('该条测试数据执行失败')
return
}
let data = handleData(v.getAttribute('data-message'))
let data = JSON.parse(v.getAttribute('data-message')).checkPointResultDetails
$('#myModal').modal()
if (data) {
let oDiv = document.getElementById('grp')
$("#grp").empty();
data.map(v => {
let div1 = document.createElement('div')
let lab1 = document.createElement('label')
let lab2 = document.createElement('label')
div1.className = 'form-group'
lab1.className = 'col-sm-4 control-label w20'
lab2.className = 'col-sm-6 control-label txtl'
lab1.innerText = v.key
lab2.innerText = v.value
div1.appendChild(lab1)
div1.appendChild(lab2)
oDiv.appendChild(div1)
})
for (let item of data) {
let hr = document.createElement('hr')
oDiv.appendChild(hr)
for (let j in item) {
let content = null
if (j == 'isSuccess') {
content = '是否成功:'
} else if (j == 'type') {
content = '类型:'
} else if (j == 'matchExpression') {
content = '匹配前表达式:'
} else if (j == 'parseExpression') {
content = '匹配后表达式:'
} else if (j == 'message') {
content = '信息:'
}
let div1 = document.createElement('div')
let lab1 = document.createElement('label')
let lab2 = document.createElement('label')
div1.className = 'form-group'
lab1.className = 'col-sm-4 control-label w20'
lab2.className = 'col-sm-6 control-label txtl'
lab1.innerText = content
lab2.innerText = item[j]
div1.appendChild(lab1)
div1.appendChild(lab2)
oDiv.appendChild(div1)
}
}
}
}
})
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论