文档章节

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

a
 akira9909
发布于 2016/06/22 17:21
字数 549
阅读 493
收藏 0
点赞 0
评论 0

引入的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();
});

 

 

 

© 著作权归作者所有

共有 人打赏支持
a
粉丝 0
博文 43
码字总数 124949
作品 0
浦东
微信关注自动回复消息

<?php // 晕大海 2014.09.26 define("TOKEN", "weixin");$wechatObj = new wechatCallbackapiTest(); if(!isset($_GET["echostr"])){ $wechatObj->responseMsg();}else{ $wechatObj->valid(......

晕大海 ⋅ 2014/09/27 ⋅ 0

使用 Map-Reduce 统计Web 服务器 access.log 日志文件

1.6. Map-Reduce 1.6.1. 使用 Map-Reduce 统计Web 服务器 access.log 日志文件 首先将web服务器access.log倒入到mongodb,参考 http://netkiller.github.io/article/log.html。 格式如下: {"......

neo-chen ⋅ 2013/07/15 ⋅ 0

mysql-bin日志分析

参考文档: http://www.mysqlsystems.com/2009/05/mysql-log.html mysql的4种日志: 日志默认在$MYSQL_HOME/data目录下。 可以登录到mysql查看日志情况: mysql> show variables like '%log......

爱喝貓的咖啡 ⋅ 2014/04/01 ⋅ 0

多服务器的日志合并统计——apache日志的cronolog轮循

http://www.chedong.com/tech/rotatemerge_log.html

zt371 ⋅ 2008/12/14 ⋅ 0

通过android日志监控activity的生命周期

创建一个简单的应用程序,用于考察android的activity的生命周期,需要覆盖多个Activity类的方法。这些方法是android根据事件将Activity置于某个生命周期状态时调用。 Activity代码: packag...

华宰 ⋅ 2011/09/08 ⋅ 0

linux服务器定时任务/etc/crontab

环境介绍:多台linux服务器内备份数据,拷贝到win共享文件夹内,win系统上安装了备份软件,定时备份到磁带机。具体操作(linux服务器上,多台): 找个目录,比如/tmp或者脚本目录/opt/auto...

hewei09 ⋅ 01/04 ⋅ 0

重做日志中如何分析日志容量及切换频率?

导读 在Oracle数据库的世界里,Redo Log是一个非常核心的存在,通过Redo日志,Oracle实现了数据变更的延迟写出,通过日志的顺序写推延了数据块离散写的性能影响,从而实现了高效率运作。 Re...

问题终结者 ⋅ 05/26 ⋅ 0

调整ORACLE日志文件方法

方法一: 调整ORACLE日志文件为8个 默认下,oracle日志为3个,可以调整为8个以避免日志文件 1、创建5个新的日志组 ALTER DATABASE ADD LOGFILE GROUP 4 ('/u01/app/oracle/oradata/orcl/redo...

sfih ⋅ 2016/10/14 ⋅ 0

java读取日志文件,遇到读出空字符串的问题

我要倒序读一个日志文件,从网上找了一段代码,测试自己创建的txt文件,可以正常使用,但是当读取真正是生成的log日志文件时,读出都是空字符串,自己测试了,感觉和文件后缀没有关系,应该是...

code即正义 ⋅ 2017/04/29 ⋅ 0

Git显示漂亮日志的小技巧

原文:http://garmoncheg.blogspot.com/2012/06/pretty-git-log.html (墙) Git的传统log如下所示,你喜欢吗? 看看下面这个你喜不喜欢?(点击图片看大图) 要做到这样,命令行如下: git ...

罗树鹏 ⋅ 2012/09/21 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

容器之重命名镜像

使用docker tag命令来重命名镜像名称,先执行help,查看如何使用如下 mjduan@mjduandeMacBook-Pro:~/Docker % docker tag --helpUsage:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TA...

汉斯-冯-拉特 ⋅ 13分钟前 ⋅ 0

with 的高级用法

那么 上下文管理器 又是什么呢? 上下文管理器协议包含 __enter__ 和 __exit__ 两个方法。with 语句开始运行时,会在上下文管理器对象上调用 __enter__ 方法。with 语句运行结束后,会在上下...

阿豪boy ⋅ 32分钟前 ⋅ 0

使用 jsoup 模拟登录 urp 教务系统

需要的 jsoup 相关 jar包:https://www.lanzous.com/i1abckj 1、首先打开教务系统的登录页面,F12 开启浏览器调试,注意一下 Request Headers 一栏的 Cookie 选项,我们一会需要拿这个 Cook...

大灰狼时间 ⋅ 32分钟前 ⋅ 0

关于线程的创建

转自自己的笔记: http://note.youdao.com/noteshare?id=87584d4874acdeaf4aa027bdc9cb7324&sub=B49E8956E145476191C3FD1E4AB40DFA 1.创建线程的方法 Java使用Thread类代表线程,所有的线程对......

MarinJ_Shao ⋅ 44分钟前 ⋅ 0

工厂模式学习

1. 参考资料 工厂模式-伯乐在线 三种工厂-思否 深入理解工厂模式 2. 知识点理解 2.1 java三种工厂 简单工厂 工厂模式 抽象工厂 2.2 异同点 逐级复杂 简单工厂通过构造时传入的标识来生产产品...

liuyan_lc ⋅ 56分钟前 ⋅ 0

Java NIO

1.目录 Java IO的历史 Java NIO之Channel Java NIO之Buffer Java NIO之Selector Java NIO之文件处理 Java NIO之Charset Java 可扩展IO 2.简介 “IO的历史”讲述了Java IO API从开始到现在的发...

士别三日 ⋅ 今天 ⋅ 0

[Err] ORA-24344: success with compilation error

从txt文本复制出创建function的脚本,直接执行,然后报错:[Err] ORA-24344: success with compilation error。 突然发现脚本的关键字,居然不是高亮显示。 然后我把脚本前面的空格去掉,执行...

wenzhizhon ⋅ 今天 ⋅ 0

Spring Security授权过程

前言 本文是接上一章Spring Security认证过程进一步分析Spring Security用户名密码登录授权是如何实现得; 类图 调试过程 使用debug方式启动https://github.com/longfeizheng/logback该项目,...

hutaishi ⋅ 今天 ⋅ 0

HAProxy基于KeepAlived实现Web高可用及动静分离

前言 软件负载均衡一般通过两种方式来实现: 基于操作系统的软负载实现 基于第三方应用的软负载实现 LVS是基于Linux操作系统实现的一种软负载,而HAProxy则是基于第三方应用实现的软负载。 ...

寰宇01 ⋅ 今天 ⋅ 0

微软自研处理器的小动作:已经开始移植其他平台的工具链

微软将 Windows 10 、Linux 以及工具链如 C/C++ 和 .NET Core 运行时库、Visual C++ 2017 命令行工具、RyuJIT 编辑器等移植到其自主研发的处理器架构 E2。微软还移植了广泛使用的 LLVM C/C++...

linux-tao ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部