基于HTML5的测试报告生成方法、装置及存储介质制造方法及图纸

技术编号:27618208 阅读:17 留言:0更新日期:2021-03-10 10:53
本发明专利技术提供一种基于HTML5的测试报告生成方法、装置及存储介质,其中方法包括:测试数据解析器接收测试框架的测试数据,将测试数据处理成测试报告生成器能读取和操作的字典类型的数据结构体;将数据结构体中的数据填入预先设置好的HTML5模板中,生成一个后缀为.html的单一的HTML5静态文件的测试报告。基于本发明专利技术的方法和装置生成的报告,其可读性和数据结构都可兼顾,并且美观,可以通过修改模板的样式和格式来自定义模板的展示效果,不影响测试数据的结构。据的结构。据的结构。

【技术实现步骤摘要】
基于HTML5的测试报告生成方法、装置及存储介质


[0001]本专利技术涉及安卓系统的测试
,特别涉及一种基于HTML5的测试报告生成方法、装置及存储介质。

技术介绍

[0002]目前,对安卓系统的测试需要用到测试框架,比如Robotium测试框架、Appium测试框架。使用上述测试框架完成对安卓系统的测试后,会自动生成一份测试报告。当前测试框架的测试报告都以xml等对程序友好的形式输出,但是可读性很差。因为xml格式的测试报告,只有文字信息,不能输出图表、进行文字加粗高亮等帮助阅读的修饰动作。使得测试报告不能更灵活、直观地表现测试内容和测试结果。

技术实现思路

[0003]本专利技术的目的是提供一种基于HTML5的测试报告生成方法、装置及存储介质,可以解决现有技术中的以xml格式输出的测试报告只有文字信息,不能输出图表等修饰动作的问题。
[0004]本专利技术的目的是通过以下技术方案实现的:
[0005]第一方面,本专利技术提供一种基于HTML5的测试报告生成方法,包括以下步骤:
[0006]步骤1、测试数据解析器接收测试框架的测试数据,将测试数据处理成测试报告生成器能读取和操作的字典类型的数据结构体;
[0007]步骤2、将数据结构体中的数据填入预先设置好的HTML5模板中,生成一个后缀为.html的单一的HTML5静态文件的测试报告。
[0008]进一步的,所述的将数据结构体中的数据填入预先设置好的HTML5模板中,是调用jinja2的render_template方法实现渲染输出的。
[0009]进一步的,所述的调用jinja2的render_template方法实现渲染输出的过程包括:
[0010]获取模板文本内容;
[0011]将测试数据解析器解析的数据结构体中的数据替换到模板对应的位置;
[0012]生成完整的文本内容;
[0013]保存为HTML5文件。
[0014]进一步的,所述的基于HTML5的测试报告生成方法还包括生成HTML5模板的步骤:
[0015]使用HTML的元素布局报告关键信息,然后使用CSS对报告关键信息进行样式描述,最后使用js实现交互逻辑。
[0016]进一步的,所述的报告关键信息包括报告汇总信息和详细用例测试数据。
[0017]进一步的,所述的报告汇总信息包括但不限于用例名称、用例总数、用例通过数、用例失败数、用例跳过数、开始时间、测试时间、用例结果百分饼图。
[0018]进一步的,所述的详细用例测试数据包括但不限于用例ID、测试类型、测试方法、用例描述、运行时长、测试结果、查看日志。
[0019]第二方面,本专利技术提供一种基于HTML5的测试报告生成装置,包括存储模块、测试数据解析器和测试报告生成器,其中:
[0020]存储模块,用于存储HTML5模板;
[0021]测试数据解析器,用于接收测试框架的测试数据,然后处理成测试报告生成器能读取和操作的字典类型的数据结构体;
[0022]测试报告生成器,用于将解析的数据结构体中的数据填入预先设置好的HTML5模板中,生成一个后缀为.html的单一的HTML5静态文件的测试报告。
[0023]第三方面,本专利技术提供一种存储介质,所述存储介质中存储有计算机程序,其特征在于,运行所述计算机程序,能执行上述基于HTML5的测试报告生成方法。
[0024]本专利技术基于HTML5的测试报告生成方法、装置及存储介质,其输出的报告可读性和数据结构都可兼顾,并且美观,可以通过修改模板的样式和格式来自定义模板的展示效果,不影响测试数据的结构。
附图说明
[0025]图1为本专利技术的基于HTML5的测试报告生成方法步骤图;
[0026]图2为本专利技术的基于HTML5的测试报告生成装置结构示意图;
[0027]图3为本专利技术的HTML5模板样例。
具体实施方式
[0028]下面结合附图对本公开实施例进行详细描述。
[0029]以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0030]本专利技术基于HTML5的测试报告生成方法,包括以下步骤:
[0031]步骤1、测试数据解析器接收测试框架的测试数据,然后处理成测试报告生成器能读取和操作的数据结构体,此结构体使用字典类型实现。
[0032]字典类型是Python语言的内置的一种数据类型。Python中的字典是由键(key)值(value)对组成的,其中键和值用冒号隔开,不同组的键值对用逗号分割,整个字典使用{}包裹,字典是无序的,我们可以通过key去获取value的值。比如一个有值的字典dict1={'苹果':8,'香蕉':3,'桃子':5}。
[0033]测试框架诸如Python Unittest和Python Pytest等,测试框架的测试数据是python对象的数据。
[0034]步骤2、将数据结构体中的数据填入预先设置好的HTML5模板中,生成一个后缀为.html的单一的HTML5静态文件的测试报告。
[0035]将数据结构体中的数据填入HTML5模板中主要调用jinja2的render_template方
法实现渲染输出,其过程包括:
[0036]获取模板文本内容;
[0037]将测试数据解析器解析的数据结构体中的数据替换到模板对应的位置;
[0038]生成完整的文本内容;
[0039]保存为HTML5文件。
[0040]Jinja2是基于python的模板引擎。生成的测试报告可以直接使用浏览器打开查看或者放在web服务器上对外展示。render_template是flask本身内的模板渲染功能之一。
[0041]进一步的,本专利技术的基于HTML5的测试报告生成方法,还包括生成HTML5模板的步骤:
[0042]使用HTML的元素布局报告关键信息,然后使用CSS对报告关键信息进行样式描述,最后使用js实现交互逻辑。交互逻辑例如饼图绘制及查看、日志查看交互等。
[0043]报告关键信息包括报告汇总信息和详细用例测试数据。报告汇总信息包括但不限于用例名称、用例总数、用例通过数、用例失败数、用例跳过数、开始时间、测试时间、用例结果百分饼图。详细用例测试数据包括但不限于用例ID、测试类型、测试方法、用例描述、运行时长、测试结果、查看日志。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于HTML5的测试报告生成方法,其特征在于,包括以下步骤:步骤1、测试数据解析器接收测试框架的测试数据,将测试数据处理成测试报告生成器能读取和操作的字典类型的数据结构体;步骤2、将数据结构体中的数据填入预先设置好的HTML5模板中,生成一个后缀为.html的单一的HTML5静态文件的测试报告。2.根据权利要求1所述的基于HTML5的测试报告生成方法,其特征在于,所述的将数据结构体中的数据填入预先设置好的HTML5模板中,是调用jinja2的render_template方法实现渲染输出的。3.根据权利要求2所述的基于HTML5的测试报告生成方法,其特征在于,所述的调用jinja2的render_template方法实现渲染输出的过程包括:获取模板文本内容;将测试数据解析器解析的数据结构体中的数据替换到模板对应的位置;生成完整的文本内容;保存为HTML5文件。4.根据权利要求1所述的基于HTML5的测试报告生成方法,其特征在于,还包括生成HTML5模板的步骤:使用HTML的元素布局报告关键信息,然后使用CSS对报告关键信息进行样式描述,最后使用js实现交互逻辑。5.根据权利要求4所述的基于...

【专利技术属性】
技术研发人员:唐涛陈龙洪飞龙
申请(专利权)人:广州朗国电子科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1