测试方法、装置、设备、存储介质和计算机程序产品制造方法及图纸

技术编号:38655211 阅读:7 留言:0更新日期:2023-09-02 22:41
本申请提供一种测试方法、装置、设备、存储介质和计算机程序产品,可以应用于车载应用的测试场景中,以测试车载子应用的交互页面的响应状况。本申请可以提高测试用例的生成效率,包括:在与被测页面中的目标元素绑定的事件被触发后,保存与事件对应的事件对象,事件对象至少包括目标元素在被测页面中的元素路径和事件的事件类型;根据事件对象包括的元素路径,将目标元素映射至测试用例中,以及根据事件对象包括的事件类型,将事件映射至测试用例中,得到目标测试用例;根据目标测试用例,测试与被测页面中目标元素绑定的事件被触发后的响应状况。响应状况。响应状况。

【技术实现步骤摘要】
测试方法、装置、设备、存储介质和计算机程序产品


[0001]本申请涉及计算机处理
,特别是涉及一种测试方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]随着计算机技术的发展,为了使用户可以更好地和计算机进行信息交互,出现了可与用户交互的页面,用户可以在页面上进行操作,如点击页面上的按钮,计算机则可以通过页面响应用户,如在页面上展示相应的内容。
[0003]页面被开发出来后,在正式提供给用户之前,一般需要模拟用户对页面的操作,以测试页面对该用户的操作所做出的响应是否正常。一般来说,可以手工编写测试用例,以模拟用户对页面的操作,但是手工编写测试用例效率较低。

技术实现思路

[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]上述测试方法、装置、计算机设备、存储介质和计算机程序产品中,在与被测页面中的目标元素绑定的事件被触发后,保存与该被触发的事件所对应的事件本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种测试方法,其特征在于,所述方法包括:在与被测页面中的目标元素绑定的事件被触发后,保存与所述事件对应的事件对象,所述事件对象至少包括所述目标元素在所述被测页面中的元素路径和所述事件的事件类型;根据所述事件对象包括的所述元素路径,将所述目标元素映射至测试用例中,以及根据所述事件对象包括的所述事件类型,将所述事件映射至所述测试用例中,得到目标测试用例;根据所述目标测试用例,测试与所述被测页面中所述目标元素绑定的所述事件被触发后的响应状况。2.根据权利要求1所述的方法,其特征在于,所述保存与所述事件对应的事件对象,包括:在所述事件对应的事件对象传入所述事件的响应函数后,在所述响应函数以所述事件对象为参数进行响应之前,通过代理函数获取并保存传入所述响应函数的所述事件对象;所述方法还包括:通过所述代理函数基于获取的所述事件对象,代理调用所述响应函数。3.根据权利要求2所述的方法,其特征在于,所述在所述响应函数以所述事件对象为参数进行响应之前,通过代理函数获取并保存传入所述响应函数的所述事件对象,包括:在所述响应函数以所述事件对象为参数进行响应之前,通过运行所述代理函数的拦截代码拦截所述事件的响应函数;从拦截的所述响应函数中,获取作为所述响应函数的参数的事件对象。4.根据权利要求3所述的方法,其特征在于,所述被测页面属于车载子应用的交互页面,所述方法还包括:将所述代理函数注入所述车载子应用框架的逻辑层中;所述在所述响应函数以所述事件对象为参数进行响应之前,通过运行所述代理函数的拦截代码拦截所述事件的响应函数,包括:通过运行所述逻辑层中的所述代理函数以代理调用所述响应函数之前,通过运行所述逻辑层中的所述代理函数的拦截代码拦截所述事件的响应函数。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在将所述代理函数注入所述车载子应用框架的逻辑层后,启动检测被触发的事件;所述通过运行所述逻辑层中的所述代理函数以代理调用所述响应函数之前,通过运行所述逻辑层中的所述代理函数的拦截代码拦截所述事件的响应函数,包括:在启动检测被触发的事件之后,通过运行所述逻辑层中的所述代理函数以代理调用所述响应函数之前,通过运行所述逻辑层中的所述代理函数的拦截代码拦截所述事件的响应函数。6.根据权利要求4所述的方法,其特征在于,所述将所述代理函数注入所述车载子应用框架的逻辑层中,包括:当所述被测页面依托于所述车载子应用框架运行,且所述车载子应用框架依托于车机模拟器运行时,在启动所述车机模拟器之后,将所述代理函数注入所述车载子应用框架的逻辑层。
7.根据权利要求1所述的方法,其特征在于,所述保存与所述事件对应的事件对象,包括:从所述事件对应的事件对象中获取所述事件的事件类型;当所述事件类型表征所述事件为需映射至测试用例的事件时,保存所述事件对应的事件对象。8.根据权利要求1所述的方法,其特征在于,所述被测页面属于车载子应用的交互页面,在保存与所述事件对应的事件对象之前,所述方法还包括:当通过运行所述车载子应用框架的渲染层检测到与被测页面中的目标元素绑定的事件时,通过运行的所述渲染层提供的所述事件的事件类型和所述渲染层提供的目标元素在所述被测页面中的元素路径,形成与所述事件对应的事件对象。9.根据权利要求1所述的方法,其特征在于,所述根据所述事件...

【专利技术属性】
技术研发人员:毕志棉
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1