本发明涉及软件测试的,具体来说,涉及一种在基于图像识别的ui自动化测试中基于sam(segment anything model)的识别控件点击操作后生成断言参考图片库的方法。
背景技术:
1、基于图像识别的自动化测试工具(如airtest)在各种桌面应用软件的自动化测试应用中,需要在对识别控件进行点击操作后进行断言操作,以验证识别控件点击操作后软件有没有按设计流程反应。在这一过程中,断言标准即为识别控件点击操作后,软件用户界面做出操作反应后的一些特征图片。
2、例如在公布号为“cn113254343a”中公开了“一种用户界面测试断言方法、装置、电子设备及存储介质”,在测试过程中,基于测试用例所指示的测试对象的预设图像标识符,从预设图像库中查找是否存在与目标界面截图相匹配的界面截图,根据查找结果,输出测试用例的测试结果。又例如在公布号为“cn115437946a”中公开了“图像断言方法、装置、存储介质、计算机设备”,提出了一种在cypress框架下进行ui自动化测试中计算目标图像与参考图像的相似度的方法,并根据所得相似度来判断测试前端项目测试是否通过测试。
3、目前在基于图像识别的录制回放ui自动化测试范畴检索到的断言相关专利主要解决的问题是在已经获取了断言预期图片或参考图片后,怎样进行断言的自动判断,但断言预期图片或参考图片的获取并形成断言参考库主要为通过人工识别操作的方法,此方法比较耗时,效率较低。针对此问题,目前还未有针对性方法。
技术实现思路
1、针对相关技术中的上述技术问题,本发明提供一种生成断言参考图库的方法、装置、存储介质、计算机设备,能够解决上述问题。
2、为实现上述技术目的,本发明的技术方案是这样实现的:
3、一种生成断言参考图库的方法,包括以下步骤:
4、s1、将第n步的软件用户界面图片和鼠标点击位置信息输入基于sam与强化学习的控件区唯一性定位模块中;
5、s2、在基于sam与强化学习的控件区唯一性定位模块中对输入的软件用户界面图片和鼠标点击位置信息进行处理,从而获得点击控件编号信息、点击控件位置信息、点击控件长高信息、用户界面图片编号信息、控件区唯一性定位信息;
6、s3、将第n+1步的软件用户界面图片和鼠标点击位置信息输入基于sam与强化学习的控件区唯一性定位模块,并重复步骤s2;
7、s4、将步骤s2中所输出的点击控件编号信息、点击控件位置信息、点击控件长高信息、用户界面图片编号信息、控件区唯一性定位信息以及步骤s3中所输出的点击控件编号信息、点击控件位置信息、点击控件长高信息输入断言库生成模块,进行鼠标操作断言关系映射操作,形成第n步断言信息。
8、进一步的,步骤s2具体还包括以下步骤:
9、s2-1、在基于sam与强化学习的控件区唯一性定位模块内对输入的软件用户界面图片进行编号,从而生成用户界面图片编号信息,待软件用户界面图片编号完后将其输入sam模型,输出全部控件的mask信息;
10、s2-2、计算全部控件mask外接矩形的位置和长高信息并对外接矩形进行编号,得出全部控件的位置、长高信息和编号信息,结合鼠标点击位置信息和全部控件位置信息、全部控件长高信息、全部控件编号信息,计算出点击控件编号信息、点击控件位置信息和点击控件长高信息,并根据点击控件编号信息、点击控件位置信息和点击控件长高信息,对点击控件进行固定阈值下的模板匹配,得出点击控件区在用户界面内是否唯一的信息;
11、s2-3、将输入的软件用户界面图片缩放到固定大小,然后通过预训练好的图片特征提取网络,并通过四个1x1卷积核,形成包含四个通道的特征图,将所形成的特征图和点击控件位置信息进行roi align处理,得出点击控件区特征图;
12、s2-4、结合点击控件位置信息、点击控件长高信息、点击控件区特征图、点击控件区在用户界面内是否唯一的信息,形成状态特征向量s,将状态特征向量s输入训练好的控件区唯一性定位强化学习网络中的actor网络,得出动作向量a,根据动作向量a执行划分区定位,得出控件区唯一性定位信息,控件区唯一性定位信息包含控件的划定区位置信息和划定区尺寸信息。
13、进一步的,步骤s2-1的具体操作为:将各个控件mask内像素进行遍历,得出控件范围内最小和最大的水平和竖向坐标组合为(xmin,ymin),(xmax,ymax),即为各个控件矩形的左上和右下坐标,l=xmax-xmin,h=ymax-ymin,l和h分别为各个控件矩形的长和高,再根据各控件左上角点坐标信息,按从左到右,从上到下的顺序进行控件外接矩形编号。
14、进一步的,步骤2-2的具体操作为:根据鼠标点击位置信息(x,y)与各控件矩形位置和长高信息进行比较,如果满足公式(a)要求,则j代表控件即为操作控件,得出点击控件编号信息、点击控件位置信息和点击控件长高信息,
15、
16、进一步的,点击控件区特征图为经过双线性插值处理的控件区特征图。
17、进一步的,步骤s2-4的具体操作为:将点击控件区特征图做flatten处理,然后与点击控件区在用户界面内是否唯一信息、控件区中心坐标相对界面长高的位置信息、控件区长高相对界面长高信息做连接处理,形成状态特征向量s,将状态特征向量s输入训练好的控件区唯一性定位强化学习网络中的actor网络,得出动作向量a=(λ1,λ2),其中λ1=l1/l0,λ2=h1/h0,而(l1,h1),(l0,h0)分别为控件唯一性划定区和控件的长高信息。
18、进一步的,根据动作向量a=(λ1,λ2)执行划定区定位,得出控件区唯一性定位信息,
19、
20、l,h分别为具有识别唯一性、包含控件在内的划定区的长和高,划定区中心位置取控件中心位置。
21、一种生成断言参考图库的装置,包括:
22、输入模块,用于输入软件用户界面图片和鼠标点击位置信息,并将软件用户界面图片和鼠标点击位置信息输送给基于sam与强化学习的控件区唯一性定位模块内;
23、基于sam与强化学习的控件区唯一性定位模块,用于对软件用户界面图片和鼠标点击位置信息进行处理,得到点击控件编号和位置、长高信息,以及用户界面图片编号信息、控件区唯一性定位信息;
24、断言库生成模块,用于接收基于sam与强化学习的控件区唯一性定位模块处理后得到的数据信息,并生成断言信息。
25、一种存储介质,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行生成断言参考图库的方法的步骤。
26、一种计算机设备,包括:一个或多个处理器,以及存储器;存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行生成断言参考图库的方法的步骤。
27、本发明的有益效果:本发明提出的一种基于sam的识别控件点击操作后生成断言参考图片库的方法,可根据用户操作来自动分割获取每部操作的断言参考图片,为基于图像识别的录制回放ui自动化测试中断言参考库的建立打下基础,进而应用于用户界面ui自动化测试脚本自动化生成,减少测试人员的工作量,提高自动化测试脚本质量,提高自动化测试效率,提高企业经济效益。
1.一种生成断言参考图库的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种生成断言参考图库的方法,其特征在于,步骤s2具体还包括以下步骤:
3.根据权利要求2所述的一种生成断言参考图库的方法,其特征在于,步骤s2-1的具体操作为:将各个控件mask内像素进行遍历,得出控件范围内最小和最大的水平和竖向坐标组合为(xmin,ymin),(xmax,ymax),即为各个控件矩形的左上和右下坐标,l=xmax-xmin,h=ymax-ymin,l和h分别为各个控件矩形的长和高,再根据各控件左上角点坐标信息,按从左到右,从上到下的顺序进行控件外接矩形编号。
4.根据权利要求2所述的一种生成断言参考图库的方法,其特征在于,步骤2-2的具体操作为:根据鼠标点击位置信息(x,y)与各控件矩形位置和长高信息进行比较,如果满足公式(a)要求,则j代表控件即为操作控件,得出点击控件编号信息、点击控件位置信息和点击控件长高信息,
5.根据权利要求2所述的一种生成断言参考图库的方法,其特征在于,点击控件区特征图为经过双线性插值处理的控件区特征图。
6.根据权利要求2所述的一种生成断言参考图库的方法,其特征在于,步骤s2-4的具体操作为:将点击控件区特征图做flatten处理,然后与点击控件区在用户界面内是否唯一信息、控件区中心坐标相对界面长高的位置信息、控件区长高相对界面长高信息做连接处理,形成状态特征向量s,将状态特征向量s输入训练好的控件区唯一性定位强化学习网络中的actor网络,得出动作向量a=(λ1,λ2),其中λ1=l1/l0,λ2=h1/h0,而(l1,h1),(l0,h0)分别为控件唯一性划定区和控件的长高信息。
7.根据权利要求6所述的一种生成断言参考图库的方法,其特征在于,根据动作向量a=(λ1,λ2)执行划定区定位,得出控件区唯一性定位信息,
8.一种生成断言参考图库的装置,其特征在于,包括:
9.一种存储介质,其特征在于,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1至7中任一项所述的生成断言参考图库的方法的步骤。
10.一种计算机设备,其特征在于,包括:一个或多个处理器,以及存储器;存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行如权利要求1至7中任一项所述的生成断言参考图库的方法的步骤。