CN114817078B - 一种自动化测试的方法、装置及存储介质 - Google Patents
一种自动化测试的方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114817078B CN114817078B CN202210751563.9A CN202210751563A CN114817078B CN 114817078 B CN114817078 B CN 114817078B CN 202210751563 A CN202210751563 A CN 202210751563A CN 114817078 B CN114817078 B CN 114817078B
- Authority
- CN
- China
- Prior art keywords
- program
- attribute values
- user interface
- production
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种自动化测试的方法、装置及存储介质,涉及自动化测试技术领域、自动化技术领域以及计算机领域。该方法包括:利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,预设接口集合中包括属性值恒定不变的接口,或部分属性值恒定不变的接口中的至少一项;生产测试工具用于在生产管理***和RPA工具的控制下对被测器件进行测试,并向RPA工具反馈测试结果;生产管理***用于控制生产测试工具;按照预定测试策略对生产测试工具和生产管理***的各用户界面元素进行操作,以进行自动化测试。利用该方法,重启应用时仍可以识别出程序窗体,无需重新适配,提升了自动化测试的效率。
Description
技术领域
本申请涉及自动化测试技术领域,尤其涉及一种自动化测试的方法、装置及存储介质。
背景技术
随着生产规模的日益扩大以及生产流程的复杂化,对生产线线体的测试也变得更加困难和复杂,传统的人工测试的局限性也越来越明显。自动化测试技术可以克服传统测试技术的许多问题。
自动化测试一般指利用机器人流程自动化(Robotic Process Automation,RPA)工具,编写脚本控制生产测试工具和生产管理***,以实现自动执行测试,再通过比较实际结果与预期以获取测试结论的过程。自动化测试所依据的是一套严密的测试法则和评估标准,具有完整的自动测试过程。因此,自动化测试可以自动执行的一些重复但必要测试工作,也可以完成手动测试难以完成的测试,能够避免测试人员惯性思维所导致的测试疏漏,也可减少由于手工测试中繁复的重复工作所导致的人为差错。
但是,对于目前的RPA工具,当生产测试工具和/或生产管理***重启时,由于可能无法有效识别定位元素,因此可能导致自动化测试不能顺利进行,需要重新适配调整RPA工具的脚本,降低了自动化测试的效率。
发明内容
为了解决上述问题,本申请提供了一种自动化测试的方法、装置及存储介质,提升了自动化测试的效率。
第一方面,本申请提供了一种自动化测试的方法,该方法应用于机器人流程自动化(Robotic Process Automation,RPA)工具,包括以下步骤:利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,所述预设接口集合中包括属性值恒定不变的接口,或部分属性值恒定不变的接口中的至少一项;所述生产测试工具用于在所述生产管理***和所述RPA工具的控制下对被测器件进行测试,并向所述RPA工具反馈测试结果;所述生产管理***用于控制所述生产测试工具;按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试。
该方法利用了预设接口集合中,各接口的恒定不变的属性值,进行对生产测试工具和生产管理***的各用户界面元素的识别。具体的,当预设接口集合中包括属性值恒定不变的接口时,可以应用该接口的属性值的全值;当预设接口集合中包括部分属性值恒定不变的接口时,也即此时该接口的其它部分属性值会变化,此时本申请的技术方案仅利用恒定不变的该部分的属性值进行识别,对于发生变化的部分属性值,则不会利用。因此当生产测试工具和生产管理***发生重启时,即使界面元素的属性值变化,本申请的方案仍然能够定位出各用户界面元素,实现自动化检测,无需进行重新适配,因此提升了自动化测试的效率。
此外,应用该方法时,即使生产测试工具和生产管理***位于后台运行,本申请的方案也能够正常定位出各用户界面元素,实现自动化检测,因此本申请方案具有较高的实用性。
在一种可能的实现方式中,所述预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口,利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,具体包括:
获取各运行的程序窗体的各用户界面元素的属性值;
以所述部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素。
其中,对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
在一种可能的实现方式中,所述预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口,利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,具体包括:
获取各运行的程序窗体的各用户界面元素的属性值;
以所述部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配;并且以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行全值匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素。
其中,对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
并且由于第二待匹配属性值不会发生变化,因此对第二待匹配属性值进行全值匹配,能够更加直接地获取匹配结果,减少结果数量,以减少计算量。
在一种可能的实现方式中,所述属性值恒定不变的接口包括以下中的至少一项:
元素ID、按钮名称、窗口标题或应用程序名称。
在一种可能的实现方式中,所述部分属性值恒定不变的接口包括窗口类名。
第二方面,本申请还提供了一种自动化测试的装置,装置包括:机器人流程自动化RPA工具、生产测试工具和生产管理***。也即装置运行以上的RPA工具、生产测试工具和生产管理***。其中,所述RPA工具,用于利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试;所述预设接口集合中包括属性值恒定不变的接口,或部分属性值恒定不变的接口中的至少一项。所述生产测试工具,用于在所述生产管理***和所述RPA工具的控制下对被测器件进行测试,并向所述RPA工具反馈测试结果;所述生产管理***,用于控制所述生产测试工具。
该装置的RPA工具利用了预设接口集合中,各接口的恒定不变的属性值,进行对生产测试工具和生产管理***的各用户界面元素的识别。具体的,当预设接口集合中包括属性值恒定不变的接口时,可以应用该接口的属性值的全值;当预设接口集合中包括部分属性值恒定不变的接口时,也即此时该接口的其它部分属性值会变化,此时本申请的技术方案仅利用恒定不变的该部分的属性值进行识别,对于发生变化的部分属性值,则不会利用。因此当生产测试工具和生产管理***发生重启时,即使界面元素的属性值变化,本申请的装置仍然能够定位出各用户界面元素,实现自动化检测,无需进行重新适配,因此提升了自动化测试的效率。
此外,应用该装置时,即使生产测试工具和生产管理***位于后台运行,本申请的方案也能够正常定位出各用户界面元素,实现自动化检测,因此本申请方案具有较高的实用性。
在一种可能的实现方式中,所述RPA工具,具体用于,获取各运行的程序窗体的各用户界面元素的属性值;以所述部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素,所述预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口。
对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此RPA工具采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
在一种可能的实现方式中,所述RPA工具,具体用于获取各运行的程序窗体的各用户界面元素的属性值;以所述部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配;并且以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行全值匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素,所述预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口。
其中,对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此RPA工具采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。并且由于第二待匹配属性值不会发生变化,因此RPA工具对第二待匹配属性值进行全值匹配,能够更加直接地获取匹配结果,减少结果数量,以减少计算量。
在一种可能的实现方式中,所述属性值恒定不变的接口包括以下中的至少一项:
元素ID、按钮名称、窗口标题或应用程序名称。
在一种可能的实现方式中,所述部分属性值恒定不变的接口包括窗口类名。
在一种可能的实现方式中,所述RPA工具,具体用于按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以实现对所述被测器件的测试;接收所述生产测试工具反馈的测试结果,并根据所述测试结果执行响应策略。
第三方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以上任意实现方式所述的自动化测试的方法。
第四方面,本申请还提供了一种电子设备,该电子设备包括处理器和存储器,处理器用于调用存储器的程序指令,程序指令被运行时执行以上实施例提供的自动化测试的方法。电子设备可以是服务器、个人电脑(personal computer,PC)、平板电脑(pad)、手机、笔记本电脑等。
附图说明
图1为一种自动化测试的***架构的示意图;
图2为本申请实施例提供的一种自动化测试的方法的流程图;
图3为本申请实施例提供的另一种自动化测试的方法的流程图;
图4为本申请实施例提供的又一种自动化测试的方法的流程图;
图5为本申请实施例提供的一种自动化测试的装置的示意图;
图6为本申请实施例提供的一种电子设备的示意图。
具体实施方式
为了使本技术领域的人员更清楚地理解本申请的方案,下面首先说明本申请技术方案的应用场景。
随着生产规模的日益扩大以及生产流程的复杂化,对生产线线体的测试也变得更加困难和复杂,传统的人工测试的局限性也越来越明显。自动化测试技术可以克服传统测试技术的许多问题。
本申请实施例对生产线体的具体实现方式不作限定,本申请提供的方法可以应用于不同的测试场景中,以下说明中以用于进行生产工位压力测试的自动化测试为例进行说明,该项的自动化测试通过对被测器件 (device under test,DUT)样机进行测试,以发现线体生产过程中出现的小概率问题,以确保生产的产品符合规范要求。
本申请实施例对应用自动化测试的方法的电子设备不作具体限定,例如可以为手机、平板电脑、笔记本电脑、专业的检测设备或者台式计算机等。
参见图1,该图为一种自动化测试的***架构的示意图。
该自动化测试的***10包括:RPA工具11、生产测试工具12以及生产管理***13。
RPA工具11用于根据编写好的脚本控制生产测试工具12以及生产管理***13,并接收生产测试工具12反馈的对DUT样机20的测试结果。RPA工具11一般为桌面版的软件应用程序。其中,桌面版指可以下载、安装到电子设备上的应用程序。
DUT样机20可以为手机、笔记本电脑、可穿戴电子设备(例如智能手表)、平板电脑、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备以及车载设备等,本申请实施例对此不作具体限定。
生产测试工具12用于在RPA工具11的控制下,实现对DUT样机20的自动化检测,并将检测的结果反馈给RPA工具11,同时与生产管理***12通信,接受生产流程控制。
生产测试工具12一般为桌面版的软件应用程序。
生产管理***13通过与生产测试工具12通信,确保按照要求控制生产流程。生产管理***13可以是软件应用程序,也可以为网页版,即在浏览器上通过网址进行访问。
自动化测试的***10还可以连接局域网30,以及通过局域网30连接服务器40。
但是,对于目前的RPA工具11,当生产测试工具12和/或生产管理***13重启时,由于可能无法有效识别定位元素,因此可能导致自动化测试不能顺利进行,需要重新适配调整RPA工具11的脚本,降低了自动化测试的效率。其中,对于软件应用程序的重启,一般指关闭软件程序后再次打开;对于网页版的生产管理***的重启,一般指关闭生产管理***的网页后,再次在浏览器上通过输入或选择相应的网址跳转到生产管理***的页面。
为了解决以上技术问题,本申请提供了一种自动化测试的方法、装置及存储介质,在RPA工具中集成了元素识别功能,当生产测试工具和/或生产管理***重新启动时,可以直接识别程序窗体,有效识别定位元素,无需重新适配调整RPA工具的脚本,即使生产测试工具及生产管理***在桌面后台进行打开,也能够悠闲定位元素,因此提升了自动化测试的效率。
为了使本技术领域的人员更清楚地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请说明中的“第一”、“第二”等用词仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量
本申请实施例提供了一种自动化测试的方法,下面结合附图具体说明。
参见图2,该图为本申请实施例提供的一种自动化测试的方法的流程图。
该方法用于实现对DUT样机的自动化检测,以发现生产过程中的小概率出现的缺陷。其中,对DUT样机的检测可以包括但不限于检测***安装知否完成、检测***功能是否正常、检测样机的其他各项功能是否正常等,本申请实施例对此不作具体限定。
该方法包括以下步骤:
S101:利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素。
RPA工具用于根据编写好的脚本控制生产测试工具以及生产管理***,并接收生产测试工具反馈的对DUT样机20的测试结果。RPA工具一般为桌面版的软件应用程序。其中,桌面版指可以下载、安装到电子设备上的应用程序。
生产测试工具用于在RPA工具的控制下,实现对DUT样机的自动化检测,并将检测的结果反馈给RPA工具,同时与生产管理***通信,接受生产流程控制。
生产测试工具一般为桌面版的软件应用程序。
生产管理***通过与生产测试工具通信,确保按照要求控制生产流程。
预设接口集合中包括属性值恒定不变的接口,或部分属性值恒定不变的接口中的至少一项。
接口用于识别定位用户界面(User Interface,UI)元素,对于RPA工具,一般通过调用接口函数实现对接口的调用,进而进行后续对UI元素的定位。
下面对接口函数、接口名称以及接口的属性值进行举例说明。
表1:接口举例说明
本申请中的预设接口集合中,包括了属性值恒定不变的接口,和/或,部分属性值恒定不变的接口。
参见表1,其中,元素ID、按钮名称、窗口标题和应用程序名称等接口的属性值不会随着程序重启或者程序窗口的调整而变化,属于属性值恒定不变的接口。
而对于窗口类名,其属性值组成较长,包括“类名格式:模块句柄:窗口类风格:光标句柄:背景刷句柄:像标句柄”。其中,句柄是是用来标识对象或者项目的标识符,可以用来描述窗体、文件等,值得注意的是句柄可以不是常量。之所以要设立句柄,根本上源于内存管理机制的问题,即虚拟地址。简而言之数据的地址需要变动,变动以后就需要记录、管理变动,因此用句柄来记载数据地址的变更,也即数据地址变化,则句柄发生改变,数据地址不变,则句柄维持不变。对于窗口类名这一接口,其“类名格式:模块句柄:窗口类风格:光标句柄”部分一般不变,也即该部分的属性值恒定,而“背景刷句柄:像标句柄”部分会随着程序重启发生变换。
利用预设接口集合中,各接口的恒定不变的属性值,可以识别并唯一定位到生产测试工具和生产管理***的各用户界面元素,不会受到程序是否重启的影响。
S102:按照预定测试策略对生产测试工具和生产管理***的各用户界面元素进行操作,以进行自动化测试。
RPA工具根据预先编写好的脚本控制生产测试工具以及生产管理***。
可以理解的是,本申请实施例提供的方法中,RPA工具集成了以上对用户界面元素识别的功能,也即S101中的预设接口集合需要在编写脚本的过程中预先确定,待RPA工具启动时运行。本申请实施例对预设接口集合中具体包括的接口不作限定,本领域技术人员可以根据实际的测试需求选定,实际应用中,一般包括窗口类名、元素ID、按钮名称、窗口标题以及应用程序程序等接口。
综上所述,本申请实施例提供的方法,利用了预设接口集合中,各接口的恒定不变的属性值,进行对生产测试工具和生产管理***的各用户界面元素的识别。具体的,当预设接口集合中包括属性值恒定不变的接口时,可以应用该接口的属性值的全值;当预设接口集合中包括部分属性值恒定不变的接口时,也即此时该接口的其它部分属性值会变化,此时本申请的技术方案仅利用恒定不变的该部分的属性值进行识别,对于发生变化的部分属性值,则不会利用。因此当生产测试工具和生产管理***发生重启时,即使界面元素的属性值变化,本申请的方案仍然能够定位出各用户界面元素,实现自动化检测,无需进行重新适配,因此提升了自动化测试的效率。此外,即使生产测试工具和生产管理***位于后台运行,本申请的方案也能够正常定位出各用户界面元素,实现自动化检测,因此本申请方案具有较高的实用性。
下面结合具体的实现方式进行说明。
参见图3,该图为本申请实施例提供的另一种自动化测试的方法的流程图。
本申请实施例中,以预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口为例进行说明。
该方法包括以下步骤:
S201:获取各运行的程序窗体的各用户界面元素的属性值。
在一种可能的实现方式中,界面元素的属性值可以通过Inspect.exe获取。
Inspect.exe是一个基于视窗操作***的工具,允许选择UI元素并查看元素的可访问性数据,例如可以查看UI自动化属性和控制模式。
S202:以部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配,以识别生产测试工具和生产管理***的各用户界面元素。
对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
正则匹配一般使用正则表达式(Regular Expression,常简写为regex或RE),又称正则表示式、正则表示法、规则表达式、常规表示法。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
例如对于表一中的窗口类名这一接口,其属性值的格式为 “类名格式:模块句柄:窗口类风格:光标句柄:背景刷句柄:像标句柄”。
其中,背景刷句柄、像标句柄等是变化的。而类名格式、模块句柄、光标句柄、窗口类风格部分的属性值恒定。可以从类名格式、模块句柄、光标句柄、窗口类风格部分中选择全部或部分作为第一待匹配属性值。下面以类名格式为第一待匹配属性值为例进行说明。
进行正则匹配时,以类名格式为第一待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配。假设类名格式为Afx,则匹配得到的属性值可能有多个,例如“Afx:400000:b:10011:6:e605af”或者“Afx:400000:b:10011:0:7175d”等。
然后以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配。
将利用第一待匹配属性值进行正则匹配的结果,以及利用第二待匹配属性值进行正则匹配的结果求交集,也即获取既匹配第一待匹配属性值的元素,又匹配第二待匹配属性值的元素,即可识别定位出唯一的元素。
S203:按照预定测试策略对生产测试工具和生产管理***的各用户界面元素进行操作,以实现对被测器件的测试。
对界面元素的操作包括但不限于点击操作(用于打开或关闭一些界面或者功能)、特定字符或字符串的输入操作以及配置操作等,具体的操作与测试的目的以及涉及的元素相关,本申请实施例在此不再赘述。
S204:接收生产测试工具反馈的测试结果,并根据测试结果执行响应策略。
实际应用中,生产测试工具对于DUT样机的测试可以循环重复进行多次后,一并向RPA工具反馈测试结果,或者每次对DUT样机的测试后均反馈测试结果,本申请实施例对此不作具体限定。
RPA工具执行的响应策略可以包括但不限于以下中的任一项:
根据测试结果生成报告或日志;
当测试结果为失败时,请求生产测试工具反馈问题报告;
当测试结果为失败时,重新进行测试;
当测试结果为失败时,停止测试。
以上响应策略仅为示意性的举例,实际应用中RPA工具还可以执行其他的响应策略,在此不再赘述。
参见图4,该图为本申请实施例提供的又一种自动化测试的方法的流程图。
S301:获取各运行的程序窗体的各用户界面元素的属性值。
在一种可能的实现方式中,界面元素的属性值可以通过Inspect.exe获取。
S302:以部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配;并且以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行全值匹配,以识别生产测试工具和生产管理***的各用户界面元素。
图4所示的方法与图3所示的方法的区别在于S302。
对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
关于正则匹配的具体实现方式可以参见以上实施例中的说明,本申请实施例在此不再赘述。
并且由于第二待匹配属性值不会发生变化,因此对第二待匹配属性值进行全值匹配,能够更加直接地获取匹配结果,相较于正则匹配,减少结果数量,以减少后续定位唯一的用户界面元素时的计算量。
S303:照预定测试策略对生产测试工具和生产管理***的各用户界面元素进行操作,以实现对被测器件的测试。
对界面元素的操作包括但不限于点击操作(用于打开或关闭一些界面或者功能)、特定字符或字符串的输入操作以及配置操作等,具体的操作与测试的目的以及涉及的元素相关,本申请实施例在此不再赘述。
S304:接收生产测试工具反馈的测试结果,并根据测试结果执行响应策略。
实际应用中,生产测试工具对于DUT样机的测试可以循环重复进行多次后,一并向RPA工具反馈测试结果,或者每次对DUT样机的测试后均反馈测试结果,本申请实施例对此不作具体限定。
RPA工具执行的响应策略可以包括但不限于以下中的任一项:
根据测试结果生成报告或日志;
当测试结果为失败时,请求生产测试工具反馈问题报告;
当测试结果为失败时,重新进行测试;
当测试结果为失败时,停止测试。
以上响应策略仅为示意性的举例,实际应用中RPA工具还可以执行其他的响应策略,在此不再赘述。
本申请实施例中以上步骤的划分仅是为了方便说明,并不构成对于本申请技术方案的限定,本领域技术人员可以根据实际情况对以上的步骤进行适当的调整。
本申请实施例中的生产测试工具以及生产管理***可以是应用程序,或者是网页,本申请实施例对此不作具体限定。
在一种可能的应用场景中,该自动化测试的方法,可以用于进行生产工位的压力测试,通过对DUT样机的检测,以发现生产线体在生产过程中出现的小概率问题,进而对生产工位的当前状态是否正常,以及生产工位的生产能力是否能够提升等需求进行评估。
在一种可能的实现方式中,RPA工具和生产测试工具一般为桌面版的软件应用程序。生产管理***可以是桌面版的软件应用程序,也可以是为网页版,即在浏览器上通过网址进行访问。
综上所述,利用本申请实施例提供的方法,当生产测试工具和生产管理***发生重启时,即使界面元素的属性值变化,本申请的方案仍然能够定位出各用户界面元素,实现自动化检测,无需进行重新适配,因此提升了自动化测试的效率。此外,即使生产测试工具和生产管理***位于后台运行,或者在桌面上的位置发生了调整,本申请的方案也能够正常定位出各用户界面元素,实现自动化检测,因此本申请方案具有较高的实用性。
基于以上实施例提供的自动化测试的方法,本申请实施例还提供了一种自动化测试的装置,下面结合附图具体说明。
参见图5,该图为本申请实施例提供的一种自动化测试的装置的示意图。
该自动化测试的装置50包括: RPA工具11、生产测试工具12和生产管理***13。
其中,RPA工具11,用于利用预设接口集合中,各接口的恒定不变的属性值,识别生产测试工具和生产管理***的各用户界面元素,并按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试。
预设接口集合中包括属性值恒定不变的接口,或部分属性值恒定不变的接口中的至少一项。
在一种可能的实现方式中,RPA工具具体用于获取各运行的程序窗体的各用户界面元素的属性值;以部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素。此时,预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口。
对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
在一种可能的实现方式中,RPA工具具体用于获取各运行的程序窗体的各用户界面元素的属性值;以所述部分属性值恒定不变的接口的部分恒定的属性值为第一待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行正则匹配;并且以属性值恒定不变的接口的恒定的属性值为第二待匹配属性值,从各运行的程序窗体的各用户界面元素的属性值中进行全值匹配,以识别所述生产测试工具和生产管理***的各用户界面元素。此时,预设接口集合中包括属性值恒定不变的接口,以及部分属性值恒定不变的接口。
对于部分属性值恒定不变的接口,由于该接口的其余部分属性值会发生变化,因此进行全局匹配往往匹配不到结果,导致需要重新进行适配,因此本申请的方案采用正则匹配的方式,以第一待匹配属性值为基础进行匹配,确保获取到匹配结果。然后再结合第二待匹配属性值的匹配结果,即可定位到唯一的用户界面元素。
并且由于第二待匹配属性值不会发生变化,因此对第二待匹配属性值进行全值匹配,能够更加直接地获取匹配结果,相较于正则匹配,减少结果数量,以减少后续定位唯一的用户界面元素时的计算量。
其中,属性值恒定不变的接口包括以下中的至少一项:
元素ID、按钮名称、窗口标题或应用程序名称。
部分属性值恒定不变的接口包括窗口类名。
生产测试工具12,用于在所述生产管理***和所述RPA工具的控制下对被测器件进行测试,并向所述RPA工具反馈测试结果。
生产管理***13,用于控制所述生产测试工具。
关于生产测试工具12和生产管理***13的具体工作原理可以参见以上实施例中的相关说明,本申请实施例在此不在赘述。
在一种可能的实现方式中,RPA工具11具体用于按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以实现对所述被测器件的测试;接收所述生产测试工具反馈的测试结果,并根据所述测试结果执行响应策略。
本申请实施例提供的装置可以用于检测生产过程中小概率出现的缺陷。例如对手机等电子设备进行检测,检测项目包括但不限于检测***安装是否完成,***功能是否正常,以及其他各项功能是否正常等。
综上所述,该装置的RPA工具利用了预设接口集合中,各接口的恒定不变的属性值,进行对生产测试工具和生产管理***的各用户界面元素的识别。具体的,当预设接口集合中包括属性值恒定不变的接口时,可以应用该接口的属性值的全值;当预设接口集合中包括部分属性值恒定不变的接口时,也即此时该接口的其它部分属性值会变化,此时本申请的技术方案仅利用恒定不变的该部分的属性值进行识别,对于发生变化的部分属性值,则不会利用。因此当生产测试工具和生产管理***发生重启时,即使界面元素的属性值变化,本申请的装置仍然能够定位出各用户界面元素,实现自动化检测,无需进行重新适配,因此提升了自动化测试的效率。此外,即使生产测试工具和生产管理***位于后台运行,本申请的方案也能够正常定位出各用户界面元素,实现自动化检测,因此本申请方案具有较高的实用性。
所述自动化测试装置包括处理器和存储器,上述RPA工具、生产测试工具和生产管理***等可以作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现自动化的测试。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述的自动化测试的方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述的自动化测试的方法。
参见图6,该图为本申请实施例提供的一种电子设备的示意图。
该电子设备60包括至少一个处理器601、以及与处理器连接的至少一个存储器602,还包括总线603。
其中,处理器601、存储器602通过总线603完成相互间的通信。
处理器601用于调用存储器602中的程序指令,以执行上述的自动化测试的方法。本申请中的电子设备可以是服务器、个人电脑(personal computer,PC)、平板电脑(pad)、手机、笔记本电脑等。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种自动化测试的方法,其特征在于,应用于机器人流程自动化RPA工具,所述方法包括:
利用预设接口集合中,各接口的属性值中不会随着程序重启或者随着程序窗口的调整而变化的属性值,与各运行的程序窗口的各用户界面元素的属性值进行匹配以识别生产测试工具和生产管理***的各用户界面元素,所述预设接口集合中包括的接口被所述RPA工具通过对应的接口函数调用后,用于识别定位用户界面元素;所述生产测试工具用于在所述生产管理***和所述RPA工具的控制下对被测器件进行测试,并向所述RPA工具反馈测试结果;所述生产管理***用于控制所述生产测试工具;
按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试。
2.根据权利要求1所述的自动化测试的方法,其特征在于,所述预设接口集合中包括全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口,以及部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口,所述利用预设接口集合中,各接口的属性值中不会随着程序重启或者随着程序窗口的调整而变化属性值,与各运行的程序窗口的各用户界面元素的属性值进行匹配以识别生产测试工具和生产管理***的各用户界面元素,具体包括:
获取所述各运行的程序窗口的各用户界面元素的属性值;
以部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的不会随着程序重启或者随着程序窗口的调整而变化的属性值为第一待匹配属性值,以全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的属性值为第二待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行正则匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素。
3.根据权利要求1所述的自动化测试的方法,其特征在于,所述预设接口集合中包括全部属性值不会随着程序重启或者随着程序窗口的调整而变化接口,以及部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口,所述利用预设接口集合中,各接口的属性值中不会随着程序重启或者随着程序窗口的调整而变化的属性值,与各运行的程序窗口的各用户界面元素的属性值进行匹配以识别生产测试工具和生产管理***的各用户界面元素,具体包括:
获取所述各运行的程序窗口的各用户界面元素的属性值;
以部分属性值不会随着程序重启或者程序窗口的调整而变化的接口的不会随着程序重启或者随着程序窗口的调整而变化的属性值为第一待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行正则匹配;并且以全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的属性值为第二待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行全值匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素。
4.根据权利要求2至3中任一项所述的自动化测试的方法,其特征在于,所述全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口包括以下中的至少一项:
元素ID、按钮名称、窗口标题或应用程序名称。
5.根据权利要求2至3中任一项所述的自动化测试的方法,其特征在于,所述部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口包括窗口类名。
6.根据权利要求1所述的自动化测试的方法,其特征在于,所述按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试,具体包括:
按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以实现对所述被测器件的测试;
接收所述生产测试工具反馈的测试结果,并根据所述测试结果执行响应策略。
7.一种自动化测试的装置,其特征在于,所述装置包括:机器人流程自动化RPA工具、生产测试工具和生产管理***;
所述RPA工具,用于利用预设接口集合中,各接口的属性值中不会随着程序重启或者随着程序窗口的调整而变化的属性值,与各运行的程序窗口的各用户界面元素的属性值进行匹配以识别生产测试工具和生产管理***的各用户界面元素,按照预定测试策略对所述生产测试工具和所述生产管理***的各用户界面元素进行操作,以进行自动化测试;所述预设接口集合中包括的接口被所述RPA工具通过对应的接口函数调用后,用于识别定位用户界面元素;
所述生产测试工具,用于在所述生产管理***和所述RPA工具的控制下对被测器件进行测试,并向所述RPA工具反馈测试结果;
所述生产管理***,用于控制所述生产测试工具。
8.根据权利要求7所述的自动化测试的装置,其特征在于,所述RPA工具,具体用于,获取所述各运行的程序窗口的各用户界面元素的属性值;以部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的不会随着程序重启或者随着程序窗口的调整而变化的属性值为第一待匹配属性值,以全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的属性值为第二待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行正则匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素,所述预设接口集合中包括全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口,以及部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口。
9.根据权利要求7所述的自动化测试的装置,其特征在于,所述RPA工具,具体用于获取所述各运行的程序窗口的各用户界面元素的属性值;以部分属性值不会随着程序重启或者程序窗口的调整而变化的接口的不会随着程序重启或者随着程序窗口的调整而变化的属性值为第一待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行正则匹配;并且以全部属性值不会随着程序重启或者随着程序窗口的调整而变化的接口的属性值为第二待匹配属性值,从所述各运行的程序窗口的各用户界面元素的属性值中进行全值匹配,以识别所述生产测试工具和所述生产管理***的各用户界面元素,所述预设接口集合中包括全部属性值不会随着程序重启或者随着程序窗口的调整而变化接口,以及部分属性值不会随着程序重启或者随着程序窗口的调整而变化的接口。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现权利要求1至6中任一项所述的自动化测试的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210751563.9A CN114817078B (zh) | 2022-06-29 | 2022-06-29 | 一种自动化测试的方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210751563.9A CN114817078B (zh) | 2022-06-29 | 2022-06-29 | 一种自动化测试的方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114817078A CN114817078A (zh) | 2022-07-29 |
CN114817078B true CN114817078B (zh) | 2022-11-29 |
Family
ID=82523092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210751563.9A Active CN114817078B (zh) | 2022-06-29 | 2022-06-29 | 一种自动化测试的方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114817078B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521121A (zh) * | 2011-11-18 | 2012-06-27 | 华为技术有限公司 | 一种页面测试方法和页面测试装置 |
CN112416762A (zh) * | 2020-11-16 | 2021-02-26 | 中信银行股份有限公司 | Api测试方法及装置、设备、计算机可读存储介质 |
CN113334371A (zh) * | 2020-02-18 | 2021-09-03 | 尤帕斯公司 | 用于机器人流程自动化的自动化窗口 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644367B2 (en) * | 2003-05-16 | 2010-01-05 | Microsoft Corporation | User interface automation framework classes and interfaces |
CN102799520B (zh) * | 2012-06-27 | 2016-03-23 | 清华大学 | 用于源代码配对的静态检查方法及装置 |
CN104516633B (zh) * | 2014-11-19 | 2018-05-25 | 微梦创科网络科技(中国)有限公司 | 一种用户界面元素管理方法和装置 |
CN107025172B (zh) * | 2017-03-22 | 2018-01-05 | 厦门大学 | 一种基于概率风险评价的软件测试方法 |
CN111159023A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 测试方法、装置、电子设备及计算机可读存储介质 |
CN113168168B (zh) * | 2020-07-09 | 2023-08-01 | 尤帕斯公司 | 经由在第二会话中运行的机器人流程自动化机器人使在第一会话中运行的过程自动化 |
-
2022
- 2022-06-29 CN CN202210751563.9A patent/CN114817078B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521121A (zh) * | 2011-11-18 | 2012-06-27 | 华为技术有限公司 | 一种页面测试方法和页面测试装置 |
CN113334371A (zh) * | 2020-02-18 | 2021-09-03 | 尤帕斯公司 | 用于机器人流程自动化的自动化窗口 |
CN112416762A (zh) * | 2020-11-16 | 2021-02-26 | 中信银行股份有限公司 | Api测试方法及装置、设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114817078A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058856B (zh) | 页面配置方法及装置 | |
US10642608B2 (en) | Associating a visualization of user interface with source code | |
US9207973B2 (en) | Meta-application management in a multitasking environment | |
KR20090122953A (ko) | 애플리케이션 프로그램들 사이에서 정보를 공유하기 위한 기술 | |
CN111797312B (zh) | 模型训练的方法及装置 | |
US10140399B2 (en) | Corner database generator | |
CN107391535A (zh) | 在文档应用中搜索文档的方法及装置 | |
CN114579452A (zh) | 接口影响检测方法及相关设备 | |
CN111124872A (zh) | 基于差异代码分析的分支检测方法、装置及存储介质 | |
CN106484779B (zh) | 文件操作方法及装置 | |
CN109144871B (zh) | 一种自动化测试元素的识别方法及装置 | |
CN114817078B (zh) | 一种自动化测试的方法、装置及存储介质 | |
US9959196B2 (en) | Unification of descriptive programming and object repository | |
CN110716804A (zh) | 无用资源的自动删除方法、装置、存储介质及电子设备 | |
US8775936B2 (en) | Displaying dynamic and shareable help data for images a distance from a pointed-to location | |
CN112559346A (zh) | 一种业务测试的方法及装置 | |
CN112463896A (zh) | 档案编目数据处理方法、装置、计算设备及存储介质 | |
US20070156775A1 (en) | Metadata transformation in copy and paste scenarios between heterogeneous applications | |
CN110955813A (zh) | 一种数据爬取方法及装置 | |
CN113760696A (zh) | 一种程序问题定位方法、装置、电子设备和存储介质 | |
CN110888643A (zh) | 页面处理方法及装置 | |
CN112540747A (zh) | 平台开发方法、装置及计算机可读存储介质 | |
CN117130946B (zh) | 一种测试场景生成方法、装置、电子设备和可读存储介质 | |
CN111897774B (zh) | 一种文件上传方法、装置、电子设备及存储介质 | |
US11727672B1 (en) | System and method for generating training data sets for specimen defect detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |