【技术实现步骤摘要】
一种测试方法及装置
本专利技术涉及金融科技(Fintech)
,尤其涉及一种测试方法及装置。
技术介绍
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,然而,由于金融行业的安全性、实时性要求,金融科技也对技术提出了更高的要求。前端界面测试是金融界面开发的一项常规操作,传统的界面测试方法通常需要预先安排测试人员,使用测试人员在每次界面测试过程中重复地点击测试界面上的DOM节点,然而,该种方式极为依赖人工,测试的效率较低,且人为操作的差异性可能会导致测试的结果不准确。为了解决上述问题,在一种可能的实现方式中,可以使用现有的自动化测试软件实现自动化的界面测试工作,比如sikuli软件、selenium软件、katalon软件等。然而,这些软件通常需要用户具有一定的编程能力,从而导致其自动化测试的程度低,用户的使用体验不好;比如selenium软件通常需要人为设置断言条件,也就是说,用户需要使用selenium软件支持的编程语言在selenium软件界面中输入控制断言条件的语句,如此,selenium软件在执行界面测试时才会在满足断言条件的位置进行断言,若用户未设置控制断言条件的语句或者用户设置的语句有误,则selenium软件无法得到准确的测试结果。综上,目前亟需一种测试方法,用以解决现有的自动化测试软件由于需要用户具有一定的编程能力所导致的自动化测试的程度低、用户的体验不好的技术问题。
技术实现思路
本专利技术实施例提供一种 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。