本技术涉及计算机,特别涉及一种应用程序的功能测试方法、装置、设备及介质。
背景技术:
1、随着移动互联网的快速发展,越来越多的应用程序被广泛应用于各种移动设备。这些应用程序包括大量的内置api(applicationprogramming interface,应用程序编程接口),以便与移动设备的硬件和操作系统功能进行交互。
2、在开发这些应用程序时,开发人员通常在桌面浏览器环境中编写和调试代码,但是,这些应用程序中的内置api只能在移动设备上运行,这导致应用程序的开发环境与运行环境不一致,无法在桌面浏览器的开发环境中测试应用程序的功能,极大地降低了应用程序的开发效率。
技术实现思路
1、为了解决上述现有技术中的问题,本技术实施例提供了一种应用程序的功能测试方法、装置、设备及介质,用于在桌面浏览器的开发环境中测试应用程序的功能,从而提高应用程序的开发效率。
2、第一方面,本技术实施例提供了一种应用程序的功能测试方法,所述方法包括:
3、响应针对目标应用的第一功能测试指令,获取所述目标应用对应的待测脚本和预设的模拟功能入口文件,其中所述模拟功能入口文件包括模拟功能函数,所述模拟功能入口文件用于被加载后提供所述目标应用对应的待测脚本的运行环境;
4、加载所述模拟功能入口文件,并执行所述目标应用对应的待测脚本,以调用所述模拟功能函数,得到所述模拟功能函数的调用结果;
5、通过比对所述模拟功能函数的调用结果与预设的功能调用结果,确定所述目标应用的待测功能的第一测试结果。
6、在一种可能的实施方式中,所述获取所述预设的模拟功能入口文件之前,所述方法还包括:
7、响应添加模拟功能函数的指令,在所述目标应用的桌面浏览器开发环境的入口文件中,添加模拟功能代码库中的模拟功能函数,得到所述模拟功能入口文件,所述模拟功能代码库中包括多个模拟功能函数。
8、在一种可能的实施方式中,所述执行所述目标应用对应的待测脚本,以调用所述模拟功能函数,得到所述模拟功能函数的调用结果,包括:
9、通过所述待测脚本中的功能调用函数,调用所述模拟功能入口文件中的模拟功能函数,得到所述模拟功能函数的返回值;
10、将所述模拟功能函数的返回值作为所述模拟功能函数的调用结果。
11、在一种可能的实施方式中,所述确定所述目标应用的功能测试结果之后,所述方法还包括:
12、若所述目标应用的功能测试结果为测试通过,则使用所述目标应用在移动设备的原生功能函数替换所述模拟功能函数;所述原生功能函数为所述移动设备的操作系统提供的应用程序编程接口;
13、将所述目标应用对应的目标代码脚本和所述原生功能函数打包,生成所述目标应用的待测安装包,所述目标应用对应的目标代码脚本为测试通过的待测脚本;
14、将所述待测安装包发送至所述移动设备,使得所述移动设备对所述待测安装包进行功能测试。
15、第二方面,本技术实施例提供了一种应用程序的功能测试方法,所述方法包括:
16、接收浏览器发送的待测安装包,所述待测安装包包括目标应用的目标代码脚本和原生功能函数,所述目标代码脚本为在所述目标应用对应的模拟功能入口文件被加载后提供的运行环境下,功能测试结果为测试通过的所述目标应用对应的待测脚本,所述模拟功能入口文件包括模拟功能函数,所述功能测试结果是通过比对预设的功能调用结果以及所述待测脚本调用所述模拟功能函数的调用结果确定的,所述原生功能函数为移动设备的操作系统提供的应用程序编程接口;
17、响应针对目标应用的第二功能测试指令,通过所述目标代码脚本中的功能调用函数调用所述原生功能函数,得到所述原生功能函数的调用结果;
18、通过比对所述原生功能函数的调用结果与所述预设的功能调用结果,确定所述目标应用的待测功能的第二测试结果。
19、第三方面,本技术实施例提供了一种应用程序的功能测试装置,所述装置包括:
20、获取单元,用于响应针对目标应用的第一功能测试指令,获取所述目标应用对应的待测脚本和预设的模拟功能入口文件,其中所述模拟功能入口文件包括模拟功能函数,所述模拟功能入口文件用于被加载后提供所述目标应用对应的待测脚本的运行环境;
21、第一调用单元,用于加载所述模拟功能入口文件,并执行所述目标应用对应的待测脚本,以调用所述模拟功能函数,得到所述模拟功能函数的调用结果;
22、第一测试单元,用于通过比对所述模拟功能函数的调用结果与预设的功能调用结果,确定所述目标应用的待测功能的第一测试结果。
23、在一种可能的实施方式中,所述获取单元,还用于:
24、响应添加模拟功能函数的指令,在所述目标应用的桌面浏览器开发环境的入口文件中,添加模拟功能代码库中的模拟功能函数,得到所述模拟功能入口文件,所述模拟功能代码库中包括多个模拟功能函数。
25、在一种可能的实施方式中,所述第一调用单元,具体用于:
26、通过所述待测脚本中的功能调用函数,调用所述模拟功能入口文件中的模拟功能函数,得到所述模拟功能函数的返回值;
27、将所述模拟功能函数的返回值作为所述模拟功能函数的调用结果。
28、在一种可能的实施方式中,所述第一测试单元,还用于:
29、若所述目标应用的功能测试结果为测试通过,则使用所述目标应用在移动设备的原生功能函数替换所述模拟功能函数;所述原生功能函数为所述移动设备的操作系统提供的应用程序编程接口;
30、将所述目标应用对应的目标代码脚本和所述原生功能函数打包,生成所述目标应用的待测安装包,所述目标应用对应的目标代码脚本为测试通过的待测脚本;
31、将所述待测安装包发送至所述移动设备,使得所述移动设备对所述待测安装包进行功能测试。
32、第四方面,本技术实施例提供了一种应用程序的功能测试装置,所述装置包括:
33、接收单元,用于接收浏览器发送的待测安装包,所述待测安装包包括目标应用的目标代码脚本和原生功能函数,所述目标代码脚本为在所述目标应用对应的模拟功能入口文件被加载后提供的运行环境下,功能测试结果为测试通过的所述目标应用对应的待测脚本,所述模拟功能入口文件包括模拟功能函数,所述功能测试结果是通过比对预设的功能调用结果以及所述待测脚本调用所述模拟功能函数的调用结果确定的,所述原生功能函数为移动设备的操作系统提供的应用程序编程接口;
34、第二调用单元,用于响应针对目标应用的第二功能测试指令,通过所述目标代码脚本中的功能调用函数调用所述原生功能函数,得到所述原生功能函数的调用结果;
35、第二测试单元,用于通过比对所述原生功能函数的调用结果与所述预设的功能调用结果,确定所述目标应用的待测功能的第二测试结果。
36、第五方面,本技术实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现第一方面应用程序的功能测试方法和第二方面应用程序的功能测试方法中任一项所述的方法。
37、第六方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面应用程序的功能测试方法和第二方面应用程序的功能测试方法中任一项所述的方法。
38、本技术实施例提供的技术方案至少带来以下有益效果:
39、本技术实施例中,响应针对目标应用的第一功能测试指令,获取目标应用对应的待测脚本以及预设的模拟功能入口文件之后,加载模拟功能入口文件,并执行目标应用对应的待测脚本,以调用模拟功能函数,得到模拟功能函数的调用结果,然后,通过比对模拟功能函数的调用结果与预设的功能调用结果,确定目标应用的待测功能的第一测试结果。在桌面浏览器的开发环境中,使用模拟功能函数模拟移动设备的应用程序的内置api功能,可以直接在桌面浏览器的开发环境中测试应用程序的功能,使得开发人员在开发环境中即时调试和优化应用程序的代码,有利于提高应用程序的开发效率。
40、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种应用程序的功能测试方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述预设的模拟功能入口文件之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述执行所述目标应用对应的待测脚本,以调用所述模拟功能函数,得到所述模拟功能函数的调用结果,包括:
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用的功能测试结果之后,所述方法还包括:
5.一种应用程序的功能测试方法,其特征在于,所述方法包括:
6.一种应用程序的功能测试装置,其特征在于,所述装置包括:
7.根据权利要求6所述的装置,其特征在于,所述获取单元,还用于:
8.一种应用程序的功能测试装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~5中任一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,其特征在于:所述计算机程序被处理器执行时,实现权利要求1~5中任一项所述的方法。
