基于画布的测试方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:30321137 阅读:14 留言:0更新日期:2021-10-09 23:42
本申请公开一种基于画布的测试方法、装置、计算机设备及存储介质,涉及计算机应用技术领域,所述方法包括从画布中记录用户操作信息的待测试脚本,实现待测试脚本的回放,使得每次提交代码前和集成测试时无须对所有代码进行回归测试,从而节约了大量的人力和时间;将待测试脚本进行反序列化处理,以得到测试脚本,并获取测试脚本的运行结果,将运行结果与用户操作信息的预期结果进行比对,以输出测试结果,即通过对待测试脚本进行重构对象,并执行测试,可以实现对画布的局部测试,从而无须在大量代码中去查找定位画布的操作问题,有效提高了测试效率,进而提高了代码的健壮性。进而提高了代码的健壮性。进而提高了代码的健壮性。

【技术实现步骤摘要】
基于画布的测试方法、装置、计算机设备及存储介质


[0001]本申请涉及计算机应用
,尤其涉及基于画布的测试方法、装置、计算机设备及存储介质。

技术介绍

[0002]作为一款基于Canvas(画布)的Web端软件,由于其常常涉及许多操作以及编辑状态,特别是三维的软件,其代码的数量以及复杂程度常常远远高于一般的Web端网页。由于自动化测试可以有效地提高代码健壮性,方便程序员快速发现问题,提高开发的效率,提高程序品质等特点,常常用于系统的测试和运维中。
[0003]然而,现在前端的自动化测试大多是基于Dom(Document Object Model,文档对象模型)的搜寻以及比较或者是有明确的输入和输出数据,来实现测试。例如,自动化测试可以是常用的基于Dom节点的交互页面或者输入和输出明确的功能函数,但是对于Canvas来讲,内部没有可测试结构,canvas是一个单一的DOM,现在大部分前端的自动化,都是需要基于不同DOM间的点击,所以对于Canvas的页面无法实现自动化测试。在没有一套成熟的自动化回归测试框架的背景下,开发人员每次开发新功能都伴随着巨大的衰退风险,有时还无法及时发现,又要浪费大量的时间去排查产生衰退的原因,极大影响测试效率。

技术实现思路

[0004]本申请实施例的目的在于提出一种基于画布的测试方法,以解决测试效率低的问题。
[0005]为了解决上述技术问题,本申请实施例提供一种基于画布的测试方法,包括如下步骤:
[0006]从画布中记录用户操作信息的待测试脚本;
[0007]将待测试脚本进行反序列化处理,以得到测试脚本;
[0008]获取测试脚本的运行结果;
[0009]将运行结果与用户操作信息的预期结果进行比对,以输出测试结果。
[0010]进一步地,从画布中记录用户操作信息的待测试脚本包括:
[0011]从画布中获取用户操作信息;
[0012]对操作信息进行分类处理得到初始脚本,其中,初始脚本包括命令和事件;
[0013]将初始脚本进行序列化处理,以得到待测试脚本。
[0014]进一步地,对操作信息进行分类处理得到初始脚本之后,基于画布的测试方法还包括:
[0015]根据命令和事件,确定操作信息对应的选择集标识,其中,选择集标识用于指示选择器。
[0016]进一步地,预期结果包括选择集标识对应的选择器预期结果,将运行结果与用户操作信息的预期结果进行比对,以输出测试结果包括:
[0017]运行测试脚本中的命令或事件;
[0018]若运行结果无报错,则比对运行结果与选择器预期结果;
[0019]若比对结果一致且待测试脚本未结束回放,则继续执行待测试脚本的反序测试过程。
[0020]进一步地,所述基于画布的测试方法还包括:
[0021]若运行结果报错或者比对结果不一致,则确定当前的测试脚本测试失败。
[0022]进一步地,本申请实施例提供一种基于画布的测试装置,包括:
[0023]记录模块,用于从画布中记录用户操作信息的待测试脚本;
[0024]反序列模块,用于将待测试脚本进行反序列化处理,以得到测试脚本;
[0025]获取模块,用于获取测试脚本的运行结果;
[0026]测试模块,用于将运行结果与用户操作信息的预期结果进行比对,以输出测试结果。
[0027]进一步地,记录模块包括:
[0028]获取单元,用于从画布中获取用户操作信息;
[0029]分类单元,用于对操作信息进行分类处理得到初始脚本,其中,初始脚本包括命令和事件;
[0030]序列化单元,用于将初始脚本进行序列化处理,以得到待测试脚本。
[0031]进一步地,所述基于画布的测试装置还包括:
[0032]选择器模块,用于根据命令和事件,确定操作信息对应的选择集标识,其中,选择集标识用于指示选择器。
[0033]进一步地,测试模块包括:
[0034]运行单元,用于运行测试脚本中的命令或事件;
[0035]比对单元,用于若运行结果无报错,则比对运行结果与选择器预期结果;
[0036]执行单元,用于若比对结果一致且待测试脚本未结束回放,则继续执行待测试脚本的反序测试过程。
[0037]进一步地,所述基于画布的测试装置还包括:
[0038]测试失败模块,用于若运行结果报错或者比对结果不一致,则确定当前的测试脚本测试失败。
[0039]为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述基于画布的测试方法的步骤。
[0040]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于画布的测试方法的步骤。
[0041]与现有技术相比,本申请实施例主要有以下有益效果:
[0042]通过从画布中记录用户操作信息的待测试脚本,实现待测试脚本的回放,使得每次提交代码前和集成测试时无须对所有代码进行回归测试,从而节约了大量的人力和时间;将待测试脚本进行反序列化处理,以得到测试脚本,并获取测试脚本的运行结果,将运行结果与用户操作信息的预期结果进行比对,以输出测试结果,即通过对待测试脚本进行
重构对象,并执行测试,可以实现对画布的局部测试,从而无须在大量代码中逐一去查找定位画布的操作问题,有效提高了测试效率,进而提高了代码的健壮性。
附图说明
[0043]为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1是本申请可以应用于其中的示例性系统架构图;
[0045]图2是本申请提供的基于画布的测试系统的示意图;
[0046]图3是本申请提供的基于画布的测试的方法的一个实施例的流程图
[0047]图4是本申请提供的基于画布的测试装置的一个实施例的结构示意图;
[0048]图5是本申请提供的计算机设备的一个实施例的结构示意图。
具体实施方式
[0049]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
[0050]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于画布的测试方法,其特征在于,所述方法包括:从画布中记录用户操作信息的待测试脚本;将所述待测试脚本进行反序列化处理,以得到测试脚本;获取所述测试脚本的运行结果;将所述运行结果与所述用户操作信息的预期结果进行比对,以输出测试结果。2.根据权利要求1所述的基于画布的测试方法,其特征在于,所述从画布中记录用户操作信息的待测试脚本包括:从所述画布中获取用户操作信息;对所述操作信息进行分类处理得到初始脚本,其中,所述初始脚本包括命令和事件;将所述初始脚本进行序列化处理,以得到待测试脚本。3.根据权利要求2所述的基于画布的测试方法,其特征在于,所述对所述操作信息进行分类处理得到初始脚本之后,所述方法还包括:根据所述命令和所述事件,确定所述操作信息对应的选择集标识,其中,所述选择集标识用于指示选择器。4.根据权利要求3所述的基于画布的测试方法,其特征在于,所述预期结果包括所述选择集标识对应的选择器预期结果,所述将所述运行结果与所述用户操作信息的预期结果进行比对,以输出测试结果包括:运行所述测试脚本中的命令或事件;若所述运行结果无报错,则比对所述运行结果与所述选择器预期结果;若比对结果一致且所述待测试脚本未结束回放,则继续执行所述待测试脚本的反序测试过程。5.根据权利要求1

5任意一项所述的基于画布的测试方法,其特征在于,所述方法还包括:若所述运行结果报错或者所述比对结果不一致,则确定当前的测试脚本...

【专利技术属性】
技术研发人员:陆毅
申请(专利权)人:杭州群核信息技术有限公司
类型:发明
国别省市:

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

1