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

fix(web): 修复了报告中的bug

上级 b21248f8
...@@ -20,47 +20,27 @@ ...@@ -20,47 +20,27 @@
<div class="topTitle">报告汇总</div> <div class="topTitle">报告汇总</div>
<form class="form"> <form class="form">
<#if overView ??> <#if overView ??>
<div class="form-group flex">
<label for="total">用例总数:</label>
<input class="form-control" id="total" readonly="readonly" value="${overView.total!}"/>
</div>
<div class="form-group flex">
<label for="allTime">执行时间(s):</label>
<input class="form-control" id="allTime" readonly="readonly" value="${overView.allTime!}"/>
</div>
<div class="form-group flex">
<label for="passNum">通过:</label>
<input class="form-control" id="passNum" readonly="readonly" value="${overView.passNum!}"/>
</div>
<div class="form-group flex">
<label for="failNum">失败:</label>
<input class="form-control" id="failNum" readonly="readonly" value="${overView.failNum!}"/>
</div>
<div class="form-group flex">
<label for="probability">测试通过率:</label>
<input class="form-control" id="probability" readonly="readonly" value="${overView.probability!}"/>
</div>
<#else>
<div class="form-group flex"> <div class="form-group flex">
<label for="total">用例总数:</label> <label for="total">用例总数:</label>
<input class="form-control" id="total" readonly="readonly" value="0"/> <input class="form-control" id="total" readonly="readonly" value="${overView.total!}"/>
</div> </div>
<div class="form-group flex"> <div class="form-group flex">
<label for="allTime">执行时间(s):</label> <label for="allTime">执行时间(s):</label>
<input class="form-control" id="allTime" readonly="readonly" value="0"/> <input class="form-control" id="allTime" readonly="readonly" value="${overView.allTime!}"/>
</div> </div>
<div class="form-group flex"> <div class="form-group flex">
<label for="passNum">通过:</label> <label for="passNum">通过:</label>
<input class="form-control" id="passNum" readonly="readonly" value="0"/> <input class="form-control" id="passNum" readonly="readonly" value="${overView.passNum!}"/>
</div> </div>
<div class="form-group flex"> <div class="form-group flex">
<label for="failNum">失败:</label> <label for="failNum">失败:</label>
<input class="form-control" id="failNum" readonly="readonly" value="0"/> <input class="form-control" id="failNum" readonly="readonly" value="${overView.failNum!}"/>
</div> </div>
<div class="form-group flex"> <div class="form-group flex">
<label for="probability">测试通过率:</label> <label for="probability">测试通过率:</label>
<input class="form-control" id="probability" readonly="readonly" value="0"/> <input class="form-control" id="probability" readonly="readonly" value="${overView.probability!}"/>
</div> </div>
<#else>
</#if> </#if>
</form> </form>
</div> </div>
...@@ -133,7 +113,6 @@ ...@@ -133,7 +113,6 @@
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div> </div>
</div> </div>
</div> </div>
...@@ -155,15 +134,15 @@ ...@@ -155,15 +134,15 @@
$(".clickClass").each((i, v) => { $(".clickClass").each((i, v) => {
v.onclick = function () { v.onclick = function () {
if(!v.getAttribute('data-message')){ if (!v.getAttribute('data-message')) {
alert('该条测试数据执行失败') alert('该条测试数据执行失败')
return return
} }
let data = handleData(v.getAttribute('data-message')) let data = handleData(v.getAttribute('data-message'))
$('#myModal').modal() $('#myModal').modal()
if (data) { if (data) {
console.log(data)
let oDiv = document.getElementById('grp') let oDiv = document.getElementById('grp')
$("#grp").empty();
data.map(v => { data.map(v => {
let div1 = document.createElement('div') let div1 = document.createElement('div')
let lab1 = document.createElement('label') let lab1 = document.createElement('label')
...@@ -177,12 +156,9 @@ ...@@ -177,12 +156,9 @@
div1.appendChild(lab2) div1.appendChild(lab2)
oDiv.appendChild(div1) oDiv.appendChild(div1)
}) })
} }
} }
}) })
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
package org.matrix.autotest.controller;
import org.matrix.testNg.web.vo.DataBeansJobVo;
import org.matrix.testNg.web.vo.DataBeansVo;
import org.matrix.testNg.web.entity.ReportMessage;
import org.matrix.testNg.web.report.TestNgImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author MRY
*/
@RestController
@RequestMapping("/tests")
public class Controller {
@Autowired
private TestNgImpl testNg;
@PostMapping("/test")
public ReportMessage test(@RequestBody DataBeansVo dataBeansVo) {
System.out.println(testNg.getReportUrl(dataBeansVo));
return testNg.getReportUrl(dataBeansVo);
}
@PostMapping("/test1")
public ReportMessage test1(@RequestBody DataBeansJobVo dataBeansJobVo) {
System.out.println(testNg.getReporterUrls(dataBeansJobVo));
return testNg.getReporterUrls(dataBeansJobVo);
}
}
...@@ -12,123 +12,128 @@ ...@@ -12,123 +12,128 @@
</head> </head>
<body> <body>
<div class="top"> <div class="top">
测试报告 测试报告
</div>
<div class="content">
<div class="topForm">
<div class="topTitle">报告汇总</div>
<form class="form">
<div class="form-group flex">
<label for="total">用例总数:</label>
<input type="text" class="form-control" id="total" readonly="readonly" value="total"/>
</div>
<div class="form-group flex">
<label for="allTime">执行时间(s):</label>
<input type="text" class="form-control" id="allTime" readonly="readonly" value="allTime"/>
</div>
<div class="form-group flex">
<label for="passNum">通过:</label>
<input type="text" class="form-control" id="passNum" readonly="readonly" value="passNum"/>
</div>
<div class="form-group flex">
<label for="failNum">失败:</label>
<input type="text" class="form-control" id="failNum" readonly="readonly" value="failNum"/>
</div>
<div class="form-group flex">
<label for="probability">测试通过率:</label>
<input type="text" class="form-control" id="probability" readonly="readonly" value="probability"/>
</div>
</form>
</div> </div>
<div class="content"> <div class="table">
<div class="topForm"> <table class="table table-striped">
<div class="topTitle">报告汇总</div> <thead>
<form class="form"> <tr>
<div class="form-group flex"> <th>编号</th>
<label for="total">用例总数:</label> <th>用例名称</th>
<input type="text" class="form-control" id="total" readonly="readonly" value="total"/> <th>用例类型</th>
</div> <th>详细参数</th>
<div class="form-group flex"> <th>用例描述</th>
<label for="allTime">执行时间(s):</label> <th>执行结果</th>
<input type="text" class="form-control" id="allTime" readonly="readonly" value="allTime"/> <th>执行时间</th>
</div> <th>结果信息</th>
<div class="form-group flex"> </tr>
<label for="passNum">通过:</label> </thead>
<input type="text" class="form-control" id="passNum" readonly="readonly" value="passNum"/> <tbody>
</div> <tr>
<div class="form-group flex"> <th scope="row">1</th>
<label for="failNum">失败:</label> <td></td>
<input type="text" class="form-control" id="failNum" readonly="readonly" value="failNum"/> <td></td>
</div> <td></td>
<div class="form-group flex"> <td></td>
<label for="probability">测试通过率:</label> <td></td>
<input type="text" class="form-control" id="probability" readonly="readonly" value="probability"/> <td></td>
</div> <td class="clickClass"
</form> data-message="CheckPointResult(checkPointResultDetails=[CheckPointResultDetail(isSuccess=true, type=EXCEPTION_CHECK, matchExpression=string, parseExpression=string, message=string)])">
</div> 点击
<div class="table"> </td>
<table class="table table-striped"> </tr>
<thead> </tbody>
<tr> </table>
<th>编号</th>
<th>用例名称</th>
<th>用例类型</th>
<th>详细参数</th>
<th>用例描述</th>
<th>执行结果</th>
<th>执行时间</th>
<th>结果信息</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">1</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td class="clickClass" data-message="CheckPointResult(checkPointResultDetails=[CheckPointResultDetail(isSuccess=true, type=EXCEPTION_CHECK, matchExpression=string, parseExpression=string, message=string)])">点击</td>
</tr>
</tbody>
</table>
</div>
</div> </div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> </div>
<div class="modal-dialog" role="document"> <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-content"> <div class="modal-dialog" role="document">
<div class="modal-header"> <div class="modal-content">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span <div class="modal-header">
aria-hidden="true">&times;</span></button> <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
<h4 class="modal-title" id="myModalLabel">Modal title</h4> aria-hidden="true">&times;</span></button>
</div> <h4 class="modal-title" id="myModalLabel">Modal title</h4>
<div class="modal-body"> </div>
<form class="form-horizontal" id="grp"> <div class="modal-body">
</form> <form class="form-horizontal" id="grp">
</div>
<div class="modal-footer"> </form>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button> </div>
<button type="button" class="btn btn-primary">Save changes</button> <div class="modal-footer">
</div> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div> </div>
</div> </div>
</div> </div>
<script src="./js/jquery.min.js"></script> </div>
<script src="./js/bootstrap.js"></script> <script src="./js/jquery.min.js"></script>
<script> <script src="./js/bootstrap.js"></script>
function handleData(data) { <script>
let a = data function handleData(data) {
let b = a.split('=').splice(1, a.split('=').length - 2) let a = data
let c = b.join('=').split('(')[1].split(')')[0] let b = a.split('=').splice(1, a.split('=').length - 2)
let d = c.split(',') let c = b.join('=').split('(')[1].split(')')[0]
let e = [] let d = c.split(',')
d.map(v => { let e = []
e.push({ key: v.split('=')[0], value: v.split('=')[1] }) d.map(v => {
}) e.push({key: v.split('=')[0], value: v.split('=')[1]})
return e })
} return e
$(".clickClass").each((i, v) => { }
v.onclick = function () {
let data = handleData(v.getAttribute('data-message'))
$('#myModal').modal()
if(data){
console.log(data)
let oDiv = document.getElementById('grp')
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)
})
} $(".clickClass").each((i, v) => {
v.onclick = function () {
let data = handleData(v.getAttribute('data-message'))
$('#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)
})
} }
}) }
})
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论