页面代码的测试方法、装置、计算机可读介质及电子设备制造方法及图纸

技术编号:39312004 阅读:10 留言:0更新日期:2023-11-12 15:57
本申请的实施例提供了一种页面代码的测试方法、装置、计算机可读介质及电子设备,该方法包括:将页面内容转换为第一抽象语法树,并根据所述第一抽象语法树生成与所述第一抽象语法树中各节点对应的逻辑数据;根据所述逻辑数据构造包括多个逻辑节点的逻辑树,并根据预先配置的节点范围信息在所述逻辑树的逻辑节点中确定出测试节点,所述节点范围信息记录着需要测试的节点的范围;根据测试节点和第一抽象语法树构建测试执行代码;通过执行所述测试执行代码,对所述页面内容中的页面代码进行测试。本申请实施例可以减少编写测试用例的开发量,节约成本,提高了测试效率。本申请实施例可应用于地图、自动驾驶、智慧交通、辅助驾驶等各种场景。种场景。种场景。

【技术实现步骤摘要】
页面代码的测试方法、装置、计算机可读介质及电子设备


[0001]本申请涉及软件测试
,具体而言,涉及一种页面代码的测试方法、装置、计算机可读介质及电子设备。

技术介绍

[0002]软件测试是一种用来促进鉴定软件的正确性、完整性、安全性和质量的手段。
[0003]目前,虽然一些项目实现了自动化测试,但大都是在后端实现的,现有的很多前端项目依然采用手动测试;此外,虽然一些前端项目采用了编写测试用例来进行模拟测试的方案,但这种方式依然需要编写大量的测试用例。
[0004]因此,现有的测试方式人力资源成本高、测试效率低下。

技术实现思路

[0005]本申请的实施例提供了一种页面代码的测试方法、装置、计算机可读介质及电子设备,进而至少在一定程度上可以实现对页面代码的自动化测试,并进一步降低测试成本和提高测试效率。
[0006]本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
[0007]根据本申请实施例的一个方面,提供了一种页面代码的测试方法,所述方法包括:将页面内容转换为第一抽象语法树,并根据所述第一抽象语法树生成与所述第一抽象语法树中各节点对应的逻辑数据,所述逻辑数据记录着所述页面内容中的逻辑流信息,所述逻辑流信息用于表示所述页面内容的交互方式;根据所述逻辑数据构造包括多个逻辑节点的逻辑树,并根据预先配置的节点范围信息在所述逻辑树的逻辑节点中确定出测试节点,所述节点范围信息记录着需要测试的节点的范围;根据所述测试节点和所述第一抽象语法树构建测试执行代码;通过执行所述测试执行代码,对所述页面内容中的页面代码进行测试。
[0008]根据本申请实施例的一个方面,提供了一种页面代码的测试装置,所述装置包括:转换和生成单元,用于将页面内容转换为第一抽象语法树,并根据所述第一抽象语法树生成与所述第一抽象语法树中各节点对应的逻辑数据,所述逻辑数据记录着所述页面内容中的逻辑流信息,所述逻辑流信息用于表示所述页面内容的交互方式;构造和确定单元,用于根据所述逻辑数据构造包括多个逻辑节点的逻辑树,并根据预先配置的节点范围信息在所述逻辑树的逻辑节点中确定出测试节点,所述节点范围信息记录着需要测试的节点的范围;构建单元,用于根据所述测试节点和所述第一抽象语法树构建测试执行代码;执行单元,用于通过执行所述测试执行代码,对所述页面内容中的页面代码进行测试。
[0009]在本申请的一些实施例中,基于前述方案,所述构建单元配置为:根据所述测试节点对所述第一抽象语法树进行修改,得到第二抽象语法树;根据所述第二抽象语法树生成包括操作符的操作符代码;对所述操作符代码进行编译,得到可执行文件;在所述可执行文件中注入模拟代码,得到测试执行代码。
[0010]在本申请的一些实施例中,基于前述方案,所述模拟代码包括以下中的至少一项:用于收集代码执行结果的模拟方法;用于截获日志数据的模拟方法;用于模拟后端请求数据的模拟方法。
[0011]在本申请的一些实施例中,基于前述方案,所述构建单元进一步配置为:将各所述测试节点转换为操作符形式的抽象语法树节点;为各抽象语法树节点添加事件操作符,并将添加了事件操作符的抽象语法树节点转换为方法调用形式的抽象语法树节点;基于各方法调用形式的抽象语法树节点对所述第一抽象语法树中的相应内容进行替换,得到第二抽象语法树。
[0012]在本申请的一些实施例中,基于前述方案,所述构造和确定单元配置为:将所述逻辑数据转换为代码对象,作为逻辑节点;根据所述第一抽象语法树生成逻辑节点路径信息;基于所述逻辑节点和所述逻辑节点路径信息构造包括多个逻辑节点的逻辑树。
[0013]在本申请的一些实施例中,基于前述方案,所述执行单元配置为:生成测试用例代码;通过执行所述测试执行代码,得到代码执行结果;通过执行所述测试用例代码,对所述代码执行结果与预先配置的期望数据进行比较,得到测试结果。
[0014]在本申请的一些实施例中,基于前述方案,所述执行单元进一步配置为:生成与每个测试节点对应的测试用例代码,并对各测试用例代码进行分组;在通过执行所述测试用例代码,对所述代码执行结果与预先配置的期望数据进行比较,得到测试结果之后,所述执行单元还用于:对每组测试用例代码对应的测试结果进行统计。
[0015]在本申请的一些实施例中,基于前述方案,所述执行单元进一步配置为:获取断言代码片段,作为测试用例代码。
[0016]在本申请的一些实施例中,基于前述方案,在通过执行所述测试用例代码,对所述代码执行结果与预先配置的期望数据进行比较,得到测试结果之后,所述执行单元还用于:根据所述测试结果生成测试报告或者测试日志。
[0017]根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的页面代码的测试方法。
[0018]根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的页面代码的测试方法。
[0019]根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中,计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行如上述实施例中所述的页面代码的测试方法。
[0020]在本申请的一些实施例所提供的技术方案中,通过先将页面内容转换为第一抽象语法树,并生成与第一抽象语法树中各节点对应的逻辑数据,然后,根据逻辑数据构造包括多个逻辑节点的逻辑树,并根据预先配置的节点范围信息在逻辑节点中确定出测试节点,进而根据已建立的测试节点和第一抽象语法树能够构建出测试执行代码,最终可以通过执行测试执行代码实现对页面内容中页面代码的测试。因此,此方法整个对页面代码的测试过程完全是自动化进行的,实现了对前端页面代码的自动化测试,由于只需要提供页面内容和预先配置的信息便可以自动构建出测试执行代码,无需人工编写测试用例代码,减少
了编写测试用例的开发量,节约了人力资源成本,显著提高了测试开发效率。
[0021]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0022]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0023]图1示出了相关技术中的测试流程示意图;
[0024]图2示出了根据本申请的一个实施例的测试流程示意图;
[0025]图3示出了可以用来实现本申请实施例的技术方案的示例性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种页面代码的测试方法,其特征在于,所述方法包括:将页面内容转换为第一抽象语法树,并根据所述第一抽象语法树生成与所述第一抽象语法树中各节点对应的逻辑数据,所述逻辑数据记录着所述页面内容中的逻辑流信息,所述逻辑流信息用于表示所述页面内容的交互方式;根据所述逻辑数据构造包括多个逻辑节点的逻辑树,并根据预先配置的节点范围信息在所述逻辑树的逻辑节点中确定出测试节点,所述节点范围信息记录着需要测试的节点的范围;根据所述测试节点和所述第一抽象语法树构建测试执行代码;通过执行所述测试执行代码,对所述页面内容中的页面代码进行测试。2.根据权利要求1所述的页面代码的测试方法,其特征在于,所述根据所述测试节点和所述第一抽象语法树构建测试执行代码,包括:根据所述测试节点对所述第一抽象语法树进行修改,得到第二抽象语法树;根据所述第二抽象语法树生成包括操作符的操作符代码;对所述操作符代码进行编译,得到可执行文件;在所述可执行文件中注入模拟代码,得到测试执行代码。3.根据权利要求2所述的页面代码的测试方法,其特征在于,所述模拟代码包括以下中的至少一项:用于收集代码执行结果的模拟方法;用于截获日志数据的模拟方法;用于模拟后端请求数据的模拟方法。4.根据权利要求2所述的页面代码的测试方法,其特征在于,所述根据所述测试节点对所述第一抽象语法树进行修改,得到第二抽象语法树,包括:将各所述测试节点转换为操作符形式的抽象语法树节点;为各抽象语法树节点添加事件操作符,并将添加了事件操作符的抽象语法树节点转换为方法调用形式的抽象语法树节点;基于各方法调用形式的抽象语法树节点对所述第一抽象语法树中的相应内容进行替换,得到第二抽象语法树。5.根据权利要求1所述的页面代码的测试方法,其特征在于,所述根据所述逻辑数据构造包括多个逻辑节点的逻辑树,包括:将所述逻辑数据转换为代码对象,作为逻辑节点;根据所述第一抽象语法树生成逻辑节点路径信息;基于所述逻辑节点和所述逻辑节点路径信息构造包括多个逻辑节点的逻辑树。6.根据权利要求1所述的页面代码的测试方法,其特征在于,所述通过执行所述测试执行代码,对所述页面内容中的页面代码进行测试,包括:生成测试用例代码;通过执行所述测试执行代码,得到代码执行结果;通过执行所述测试用例代码,对所述代码执行结果与预先...

【专利技术属性】
技术研发人员:刘维安王旭东周虎
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1