本发明涉及计算机,具体涉及一种应用程序测试方法、装置、电子设备和可读存储介质。
背景技术:
1、近年来,随着互联网技术的飞速发展,各种各样的应用程序(application,app)也越来越多。在应用程序被使用之前,需要先对应用程序的用户界面(user interface,ui)进行测试。
2、在目前对应用程序的用户界面进行测试的方法中,针对应用程序的不同用户界面需编写不同的测试代码,导致测试效率较低。
技术实现思路
1、本发明实施例提供一种应用程序测试方法、装置、电子设备和可读存储介质,可以提高测试效率。
2、一种应用程序测试方法,包括:
3、获取待测试应用程序的界面的测试图像;
4、识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置;
5、在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果。
6、可选地,识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置,包括:
7、识别上述测试图像,得到与上述测试图像对应的各个最初动作的集合以及各个上述最初动作在上述界面上的最初位置;
8、从上述集合中随机选取一个上述最初动作作为与上述测试图像对应的目标当前动作,并将选取的最初动作的最初位置作为上述目标当前动作在上述界面上的目标位置。
9、可选地,上述识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置,包括:
10、通过已训练的神经网络模型识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置。
11、可选地,在通过已训练的神经网络模型识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置之前,还包括:
12、获取用户界面的图像训练集;
13、将上述图像训练集中的训练图像输入至待训练的神经网络模型中进行识别,得到上述训练图像对应的初始当前动作和上述初始当前动作在上述用户界面上的初始位置;
14、在上述初始位置上执行上述初始当前动作,得到执行结果;
15、根据上述执行结果对上述待训练的神经网络模型进行训练,得到已训练的神经网络模型。
16、可选地,上述根据上述执行结果对上述待训练的神经网络模型进行训练,得到已训练的神经网络模型,包括:
17、若上述执行结果满足预设条件,则将奖励值加1,若上述执行结果不满足预设条件,则将奖励值减1;
18、若上述奖励值小于预设数值,则根据上述初始当前动作、上述初始位置、真实当前动作和真实位置确定目标损失值;
19、根据上述目标损失值更新待训练的神经网络模型的网络参数,并返回执获取用户界面的图像训练集;
20、若上述奖励值等于预设数值,则停止训练,得到上述已训练的神经网络模型。
21、可选地,在上述在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果之后,还包括:
22、将上述目标位置、上述目标当前动作、上述测试应用程序响应于上述目标当前动作的时间以及上述测试结果作为测试日志进行存储。
23、可选地,在上述将上述目标位置、上述目标当前动作、上述测试应用程序响应于上述目标当前动作的时间以及上述测试结果作为测试日志进行存储之后,还包括:
24、对上述测试日志进行分析,得到测试报告;
25、将上述测试报告输出至测试用户。
26、相应地,本发明实施例提供一种应用程序测试装置,包括:
27、获取模块,用于获取待测试应用程序的界面的测试图像;
28、识别模块,用于识别上述测试图像,得到与上述测试图像对应的目标当前动作以及上述目标当前动作在上述界面上的目标位置;
29、执行模块,用于在上述目标位置执行上述目标当前动作,得到上述待测试应用程序的测试结果。
30、此外,本发明实施例还提供一种电子设备,包括处理器和存储器,上述存储器存储有计算机程序,上述处理器用于运行上述存储器内的计算机程序实现本发明实施例提供的应用程序测试方法。
31、此外,本发明实施例还提供一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序适于处理器进行加载,以执行本发明实施例所提供的任一种应用程序测试方法中的步骤。
32、在本实施例中,先获取待测试应用程序的界面的测试图像。然后识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置执行目标当前动作,得到待测试应用程序的测试结果。
33、即在本申请实施例中,通过识别测试图像,得到与测试图像对应的目标当前动作以及目标当前动作在界面上的目标位置。最后在目标位置自动执行目标当前动作,从而使得无需根据应用程序不同的界面编写不同的测试代码,进而提高应用程序的测试效率。
1.一种应用程序测试方法,其特征在于,包括:
2.根据权利要求1所述的应用程序测试方法,其中,所述识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置,包括:
3.根据权利要求1或2任一项所述的应用程序测试方法,其中,所述识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置,包括:
4.根据权利要求3所述的应用程序测试方法,其特征在于,在所述通过已训练的神经网络模型识别所述测试图像,得到与所述测试图像对应的目标当前动作以及所述目标当前动作在所述界面上的目标位置之前,还包括:
5.根据权利要求4所述的应用程序测试方法,其中,所述根据所述执行结果对所述待训练的神经网络模型进行训练,得到已训练的神经网络模型,包括:
6.根据权利要求1所述的应用程序测试方法,其特征在于,在所述在所述目标位置执行所述目标当前动作,得到所述待测试应用程序的测试结果之后,还包括:
7.根据权利要求6所述的应用程序测试方法,其特征在于,在所述将所述目标位置、所述目标当前动作、所述测试应用程序响应于所述目标当前动作的时间以及所述测试结果作为测试日志进行存储之后,还包括:
8.一种应用程序测试装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述处理器用于运行所述存储器内的计算机程序,以执行权利要求1至7任一项所述的应用程序测试方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行权利要求1至7任一项所述的应用程序测试方法。