一种测试方法及装置制造方法及图纸

技术编号:23604518 阅读:24 留言:0更新日期:2020-03-28 05:39
本发明专利技术实施例公开了一种测试方法及装置,录制用户对测试界面的操作得到测试案例,若确定对测试案例进行测试,则根据用户对一个或多个DOM节点进行操作的操作信息对测试界面进行回放,在每个DOM节点对应的操作回放结束后,对回放得到的第一界面和操作对应的标准界面进行渲染。通过设置每个操作结束后自动执行断言,可以无需用户手动地设置断言条件,如此,无编程能力的用户也可以使用该方法进行前端界面测试,使用门槛低,自动化测试的程度较高;且,通过对第一界面和标准界面进行渲染,使得用户能够直观地查看到测试结果中的差异数据,相比于现有的测试方法给出测试报告的方式来说,用户的体验更好。

A test method and device

【技术实现步骤摘要】
一种测试方法及装置
本专利技术涉及金融科技(Fintech)
,尤其涉及一种测试方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。前端界面测试是金融界面开发的一项常规操作,传统的界面测试方法通常需要预先安排测试人员,使用测试人员在每次界面测试过程中重复地点击测试界面上的DOM节点,然而,该种方式极为依赖人工,测试的效率较低,且人为操作的差异性可能会导致测试的结果不准确。为了解决上述问题,在一种可能的实现方式中,可以使用现有的自动化测试软件实现自动化的界面测试工作,比如sikuli软件、selenium软件、katalon软件等。然而,这些软件通常需要用户具有一定的编程能力,从而导致其自动化测试的程度低,用户的使用体验不好;比如selenium软件通常需要人为设置断言条件,也就是说,用户需要使用selenium软件支持的编程语言在selenium软件界面中输入控制断言条件的语句,如此,selenium软件在执行界面测试时才会在满足断言条件的位置进行断言,若用户未设置控制断言条件的语句或者用户设置的语句有误,则selenium软件无法得到准确的测试结果。综上,目前亟需一种测试方法,用以解决现有的自动化测试软件由于需要用户具有一定的编程能力所导致的自动化测试的程度低、用户的体验不好的技术问题。
技术实现思路
本专利技术实施例提供一种测试方法及装置,用以解决现有的自动化测试软件由于需要用户具有一定的编程能力所导致的自动化测试的程度低、用户的体验不好的技术问题。第一方面,本专利技术实施例提供的一种测试方法,包括:录制用户对测试界面的操作得到测试案例,所述测试案例包括所述用户对所述测试界面对应的DOM树上的一个或多个DOM节点进行操作的操作信息;进一步地,若确定对所述测试案例进行测试,则根据所述用户对所述一个或多个DOM节点进行操作的操作信息对所述测试界面进行回放,并在每个DOM节点对应的操作回放结束后,根据所述操作对应的测试结果,对回放得到的第一界面和所述操作对应的标准界面进行渲染。在上述设计中,通过设置对每个DOM节点的操作结束后自动执行断言,可以无需用户手动地设置断言条件,如此,无编程能力的用户也可以使用该方法进行前端界面测试,从而使用门槛低,自动化测试的程度较高;且,通过设置每个DOM节点的操作回放结束后,根据回放操作的测试结果对第一界面和标准界面进行渲染,可以使得用户直观地查看到测试结果中的差异数据,相比于现有的测试方法给出复杂的测试报告的方式来说,用户的体验更好,且更浅显易懂。在一种可能的设计中,所述录制用户对测试界面的操作得到测试案例,包括:针对所述用户对所述测试界面的任一操作,从所述测试界面对应的DOM树中确定所述用户触发的目标DOM节点;根据所述目标DOM节点的标识、类型和/或所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点在所述DOM树中的定位标识,并根据所述目标DOM节点在所述DOM树中的定位标识、所述操作的类型、所述操作的内容、所述操作与上一操作的时间信息生成所述操作对应的测试数据;如此,根据所述用户对所述测试界面的各个操作对应的测试数据生成所述测试案例。在上述设计中,通过使用目标DOM节点的标识、类型和/或所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点在所述DOM树中的定位标识,可以根据实际情况选择较为简单的计算条件来计算目标DOM节点的定位标识,相比于现有的测试方法直接根据目标DOM节点在DOM树中的层级关系得到目标DOM节点的方式来说,可以无需对每个DOM节点执行较为复杂的计算过程,从而可以降低计算复杂度。在一种可能的设计中,所述根据所述目标DOM节点的标识、类型和/或所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点在所述DOM树中的定位标识,包括:判断所述目标DOM节点的标识是否属于第一类型标识,若是,则将所述目标DOM节点的标识作为所述目标DOM节点的定位标识,所述第一类型标识用于在录制和回放时唯一标识所述目标DOM节点;若否,则判断所述目标DOM节点的类型是否为所述DOM树中的唯一类型,若是,则将所述目标DOM节点的类型作为所述目标DOM节点的定位标识,若否,则根据所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点的定位标识。在上述设计中,通过设置先标识、再类型、最后层级关系的计算逻辑,可以快速地计算出目标DOM节点的定位标识,相比于现有技术使用目标DOM节点的绝对路径来计算每个目标DOM节点的定位标识的方式来说,可以极大地降低计算复杂度,提高测试的效率。在一种可能的设计中,所述根据所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点的定位标识,包括:判断所述目标DOM节点的父节点是否存在,若不存在,则根据所述目标DOM节点的类型在所述DOM树中的顺序确定所述目标DOM节点的定位标识;若存在,则组合所述目标DOM节点的父节点的类型、所述目标DOM节点的类型,得到所述目标DOM节点对应的一级组合类型,判断所述目标DOM节点对应的一级组合类型是否为所述DOM树中的唯一类型,若是,则将所述目标DOM节点对应的一级组合类型作为所述目标DOM节点的定位标识,若否,则判断所述目标DOM节点的父节点的父节点是否存在,若不存在,则根据所述目标DOM节点对应的一级组合类型在所述DOM树中的顺序确定所述目标DOM节点的定位标识;若存在,则组合所述目标DOM节点的父节点的父节点的类型、所述目标DOM节点的父节点的类型、所述目标DOM节点的类型,得到所述目标DOM节点对应的二级组合类型,并根据所述目标DOM节点对应的二级组合类型确定所述目标DOM节点的定位标识。在上述设计中,通过逐次调用父节点得到目标DOM节点对应的组合类型,并在组合类型唯一时直接将组合类型作为定位标识,在组合类型不唯一时调用更上一级父节点得到组合类型,可以根据距离目标DOM节点较近的父节点快速地确定其定位标识,而无需使用目标DOM节点在DOM树中的完整路径确定其定位标识,从而可以在保证定位标识唯一的基础上,降低测试所需处理的数据量,提高测试的效率。在一种可能的设计中,所述判断所述目标DOM节点的标识是否为第一类型标识,包括:若所述目标DOM节点的标识由数字组成,则确定所述目标DOM节点的标识不属于所述第一类型标识,若所述目标DOM节点的标识包括数字以外的字符,则确定所述目标DOM节点的标识属于所述第一类型标识。在上述设计中,时间戳、设备标识等均是由数字组成,若将时间戳或设备标识作为目标DOM节点的标识,则在录制和回放时由于时间戳不同,或者在不同的测试服务器上执行录制和回放,则目标DOM节点的标识会发生改变,从而导致回放操作时无法根据目标DOM节点的标识定位到录制的目标DOM节点;据此,通过设置第一类型标识包含数字以外的字符,可以明本文档来自技高网...

【技术保护点】
1.一种测试方法,其特征在于,所述方法包括:/n录制用户对测试界面的操作得到测试案例;所述测试案例包括所述用户对所述测试界面对应的DOM树上的一个或多个DOM节点进行操作的操作信息;/n若确定对所述测试案例进行测试,则根据所述用户对所述一个或多个DOM节点进行操作的操作信息对所述测试界面进行回放;/n在每个DOM节点对应的操作回放结束后,根据所述操作对应的测试结果,在回放得到的第一界面和所述操作对应的标准界面上进行渲染。/n

【技术特征摘要】
1.一种测试方法,其特征在于,所述方法包括:
录制用户对测试界面的操作得到测试案例;所述测试案例包括所述用户对所述测试界面对应的DOM树上的一个或多个DOM节点进行操作的操作信息;
若确定对所述测试案例进行测试,则根据所述用户对所述一个或多个DOM节点进行操作的操作信息对所述测试界面进行回放;
在每个DOM节点对应的操作回放结束后,根据所述操作对应的测试结果,在回放得到的第一界面和所述操作对应的标准界面上进行渲染。


2.根据权利要求1所述的方法,其特征在于,所述录制用户对测试界面的操作得到测试案例,包括:
针对所述用户对所述测试界面的任一操作,从所述测试界面对应的DOM树中确定所述用户触发的目标DOM节点;根据所述目标DOM节点的标识、类型和/或所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点在所述DOM树中的定位标识,并根据所述目标DOM节点在所述DOM树中的定位标识、所述操作的类型、所述操作的内容、所述操作与上一操作的时间信息生成所述操作对应的测试数据;
根据所述用户对所述测试界面的各个操作对应的测试数据生成所述测试案例。


3.根据权利要求2所述的方法,其特征在于,所述根据所述目标DOM节点的标识、类型和/或所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点在所述DOM树中的定位标识,包括:
判断所述目标DOM节点的标识是否属于第一类型标识,若是,则将所述目标DOM节点的标识作为所述目标DOM节点的定位标识,所述第一类型标识用于在录制和回放时唯一标识所述目标DOM节点;若否,则判断所述目标DOM节点的类型是否为所述DOM树中的唯一类型,若是,则将所述目标DOM节点的类型作为所述目标DOM节点的定位标识,若否,则根据所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点的定位标识。


4.根据权利要求3所述的方法,其特征在于,所述根据所述目标DOM节点在所述DOM树中的层级关系确定所述目标DOM节点的定位标识,包括:
判断所述目标DOM节点的父节点是否存在,若不存在,则根据所述目标DOM节点的类型在所述DOM树中的顺序确定所述目标DOM节点的定位标识;若存在,则组合所述目标DOM节点的父节点的类型、所述目标DOM节点的类型,得到所述目标DOM节点对应的一级组合类型,判断所述目标DOM节点对应的一级组合类型是否为所述DOM树中的唯一类型,若是,则将所述目标DOM节点对应的一级组合类型作为所述目标DOM节点的定位标识,若否,则判断所述目标DOM节点的父节点的父节点是否存在,若不存在,则根据所述目标DOM节点对应的一级组合类型在所述DOM树中的顺序确定所述目标DOM节点的定位标识;若存在,则组合所述目标DOM节点的父节点的父节点的类型、所述目标DOM节点的父节点的类型、所述目标DOM节点的类型,得到所述目标DOM节点对应的二级组合类型,并根据所述目标DOM节点对应的二级组合类型确定所述目标DOM节点的定位标识。


5.根据权利要求3所述的方法,其特征在于,所述判断所述目标DOM节点的标识是否为第一类型标识,包括:
若所述目标DOM节点的标识由数字组成,则确定所述目标DOM节点的标识不属于所述第一类型标识,若所述目标DOM节点的标识包括数字以外的字符,则确定所述目标DOM节点的标识属于所述第一类型标识。


6.根据权利要求1所述的方法,其特征在于,所述根据所述操作对应的测试结果,在回放得到的第一界面和所述操作对应的标准界面上进行渲染,包括:
解析所述第一界面得到第一DOM树,解析所述标准界面得到标准DOM树;
针对于所述第一DOM树和所述标准DOM树的第I级节点层中的任一差异节点,根据所述差异节点在所述第一DOM树和所述标准DOM树中的区别生成所述差异节点对应的差异数据;针对于所述第一DOM树和标准DOM树的第I级节点层中的任一相同节点,若确定所述相同节点存在连接的第I+1级子节点,则对比所述第一DOM树和所述标准DOM树中所述相同节点连接的所有第I+1级子节点,并根据对比结果判断任一连接的第I+1级子节点属于差异节点还是相同节点;其中,I为大于0的整数;
根据各级节点层中各个差异节点对应的差异数据,在所述第一界面和所述标准界面上对所述各个差异节点对应的元素进行渲染,得到所述操作对应的测试结果。


7.根据权利要求6所述的方法,其特征在于,所述根据对比结果判断任一连接的第I+1级子节点属于差异节点还是相同节点,包括:
若所述标准DOM树中不存在所述第I+1级子节点且所述第一DOM树中存在所述第I+1级子节点,则确定所述第I+1级子节点为新增节点;若所述标准DOM树中存在所述第I+1级子节点且所述第一DOM树中不存在所述第I+1级子节点,则确定所述第I+1级子节点为删除节点;若所述标准DOM树中的所述第I+1级子节点与所述第一DOM树中的所述第I+1级子节点在样式、类型、名称、标识、属性上存在任意一项或任意多项不同,则确定所述第I+1级子节点为变更节点;
若所述第I+1级子节点为新增节点、删除节点或变更节点中的任意一种,则确定所述第I+1级子节点为差异节点,若所述标准DOM树中的所述第I+1级子节点与所述第一DOM树中的所述第I+1级子节点在样式、类型、名称、标识、属性上均相同,则确定所述第I+1级子节点为相同节点。


8.根据权利要求1至7中任一项所述的方法,其特征在于,所述根据所述用户对所述一个或多个DOM节点进行操作的操作信息对所述测试界面进行回放,包括:
将所述测试案例插入任务池,所述任务池用于存储待执行的一个或多个测试案例;
从多个进程中选取处于空闲状态的第一进程,将所述测试案例发送给所述第一进程,以使所述第一进程根据所述用户对所述一个或多个DOM节点进行操作的操作信息对所述测试界面进行回放操作,并将所述任务池中的所述测试案例设置为锁定状态。


9....

【专利技术属性】
技术研发人员:万纯林挺卢道和
申请(专利权)人:深圳前海微众银行股份有限公司
类型:发明
国别省市:广东;44

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

1