RF日志文件(log.html)解读一

Stella981
• 阅读 495

引入的js库:

Jquery,Jquery templates plugin,Jquery tablesorter,JsxCompressor(JSXGraph)

版本都很老,而且有些还是废弃的项目(Jquery templates plugin),但是脚本都直接写进了html页面中,所以版本问题无影响

页面呈现的内容:统计列表,python运行时错误,用例执行日志消息,都是通过调用js绘制,而不是直接生成html代码
所用数据保存在window对象中,其中

window.output["strings"]是日志数据的对象

<script type="text/javascript">
window.output["strings"] = window.output["strings"].concat(["*","*testMML","*D:\\gitworkspace\\base\\eta-sh\\common\\testMML.txt","*../../gitworkspace/base/eta-sh/common/testMML.txt","*OMM","*EMML.Login","*<p>ip:\x3c/p>","*10.62.44.135, 2121, admin, ${EMPTY}","eNqdjsEKgkAURffvK94iQoUksza2axOBo2AmUbQY9CVDzhgzI9HfZxZBW8/ycg8czxsL4JuEbNJJUk7OXDwocRVUIeOK19SvFvdPY0liTloKxZvBwY/643Rks5SxzClCF89ZWAQLP1j5wXyzDC//VwRvfHCcbncJdIa04pIi4FXfBHduzKPVVQQwmdZ2DYzFaL+9UdPWQqHpypKoAsn1LcLh9gLgFUn3","*EMML.Execute Mml","*CREATE:MOC=\"SubNetwork\",MOI=\"SubNetwork=1000\",ATTRIBUTES=\"NMSDNPREFIX=DC=www.zte.com.cn,NMSUSERDEFINEDNETWORKTYPE=AN,SubNetwork=1000,NMSSETOFMCC=460,USERLABEL=子网1000\",EXTENDS=\"\"","eNrz9fVRSE3OyLficg5ydQxxtfL1d7ZVCi5N8kstKc8vylbS8fX3RBawNTQwMFDScQwJCfJ0Cg1xDbZV8vMNdvELCHJ184ywdXG2LS8v1+OqKknVS87P1UvO0wFKhwa7BrkA5f1cXfxcQ8L9g7xDIgNcbR39dNAMBikOdg3xd/N1drY1MTPQAen0cXRy5fKxfbp2wvO9EyHWu0aEuPq5AO1Wso428o52GYWjcBSOwlE4CkfhKByFo3AUjsJROApH4YBDR1AnHUSoqKWXWA/ZoQYuPTBQUKhRgIDnuyc/mzeHSxcMuJ52zH66e9ezyb1P9s551jHhadf8xw1NXGjWwhRzgYMCAEL1cig=","*BuiltIn.Log","*<p>Logs the given message with the given level.\x3c/p>","*你好,编号9527","*EMS","*10.62.44.49, 21123, admin, ${EMPTY}","eNrT0iIXcCmgAb/UEr/S3NQ8hVBjQ4Xnu+c/2dHwfO/E5+sWPt+8G8hFV66AakBpbrFCNIoRYYZGeobGeqaGAYZGsWhatch39vOZu1/ObON6PmXFs47tTyf0WnElpuRm5nE9Xd/2fEGjFReXiqtv8LM5vU+7Fj6duULD0EDPzEjPxETPxFJTLb3EmsvX10ehJLUIqCUxxyonPz0zT6G4NDk5NTWFKzexKNtKAb9+AKKEaEI=","*CREATEOMM:VENDOR=ZTE Corporation,NAME=UV3网元_10.62.44.135,FTPPORT=20021,MOC=wcdma.omm,TIMEZONE=0,IPADDRESS=10.62.44.135,PORT=21125;","eNrz9fVRSE3OyLficg5ydQxx9ff1tQpz9XPxD7KNCnFVcM4vKsgvSizJzM/T8XP0dbUNDTN+vnfi09bmeEMDPTMjPRMTPS5DY1Mdt5CAAP+gEFsjAwMjQx1ff2fb8uSU3ES9/NxcnRBPX9cofz9XWwMdzwBHF5cg1+BgW7h2kG6IVkNDI1PraCPvaJdROApH4SgchaNwFI7CUTgKR+EoHIWjcBQOOHQEdtJVXH2Dn83pfdq18OnMFRrw3ryJpaZaeon1YBlN4NIDAwWFGgUIeDpx75PdS551Ln+xsOfpko0vtiy1ggg92dH7dO2Mp3NWPG5o4sLvOQDXU2GC"]);
</script>

window.output["stats"]是统计表格的数据,该列表有3个元素,分别对应3个表格

<script type="text/javascript">
window.output["stats"] = [[{"elapsed":"00:00:07","fail":0,"label":"Critical Tests","pass":2},{"elapsed":"00:00:07","fail":0,"label":"All Tests","pass":2}],[],[{"elapsed":"00:00:07","fail":0,"id":"s1","label":"testMML","name":"testMML","pass":2}]];
</script>

还增加了window.fileloading,window.model,window.util,window.testdata,window.output等对象/模块

绘制统计数据表格的函数为addStatistics,addStatTable

折叠日志消息的函数toggleElement,,其代码段:

function toggleSuite(suiteId) {
    toggleElement(suiteId, ['keyword', 'suite', 'test']);
}
function toggleTest(testId) {
    toggleElement(testId, ['keyword']);
}
function toggleKeyword(kwId) {
    toggleElement(kwId, ['keyword', 'message']);
}
function toggleElement(elementId, childrenNames) {
    var element = $('#' + elementId);
    var children = element.children('.children');
    children.toggle(100, '', function () {
        element.children('.element-header').toggleClass('closed');
    });
    populateChildren(elementId, children, childrenNames);
}
function populateChildren(elementId, childElement, childrenNames) {
    if (!childElement.hasClass('populated')) {
        var element = window.testdata.findLoaded(elementId);
        var callback = drawCallback(element, childElement, childrenNames);
        element.callWhenChildrenReady(callback);
        childElement.addClass('populated');
    }
}

页面中各种图标使用base64代码

比如RF标志:

<link rel="icon" type="image/x-icon" href="data:image/x-icon;base64,AAABAAEAEBAQAAEABAAoAQAAFgAAACgAAAAQAAAAIAAAAAEABAAAAAAAAAIAAAAAAAAAAAAAEAAAAAAAAAAAAAAAJEBoACtnfgA5cYYAERsiAEx2lAAbKkQAcazBACZCVwAcM1cAK0ucAAMDBQAnQncASG+FABkoVQAyWmgA6f8SgvH/Ij99+GLyIinyJfn/Yi//KSLzUy9iZogpIld3/4JVVTkid7vyUjNVNVJEAGOZ6Z7pXwAABpmZkRiLAAAGiJZpmGAAAEEt3SXdxAAATC7o/u3EAAC8MRZpjasAAAY1VVVTYAAABKqqqqpAAAAADKqq4AAAAAAAv4sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMADAADgAwAA4AcAAOAHAADgBwAAwAcAAOAHAADgDwAA8A8AAPg/AAD+fwAA">

又比如用例折叠的图标:

.element-header {
    border: 1px solid transparent;
    border-radius: 2px;
    padding: 0.3em 6.5em 0.3em 1.4em;
    background-repeat: no-repeat;
    background-position: left center;
    background-image: url("data:image/gif;base64,R0lGODlhDQALAIAAAAAAAAAAACH5BAEKAAEALAAAAAANAAsAAAIZTICpYGz/nIOxUShvPU1ZroHTlYWlJi1LAQA7");
}

表格排序使用了jquery tablesorter插件,看介绍使用比较简单,设置table的class为tablesorter,然后在$().ready()中调用$("#"+table id).tablesorter()就可以

$(function(){
  $("#myTable").tablesorter();
});
点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
java中比较两个时间的差值
项目背景1.某篇文稿的发布时间是publishDate,例如:2020072118:00:41。2.现要求判断该篇文稿的发布时间是否在近30天之内。publicstaticlongdayDiff(DatecurrentDate,DatepublishDate){LongcurrentTimecurrentDat
Stella981 Stella981
2年前
Django之Django模板
1、问:html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2012082616:00:00,但是页面显示的却是Aug.26,2012,4p.m.答:为了页面和数据库中显示一致,需要在页面格式化时间,需要添加<td{{dayrecord.p\_time|date:
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这