CN109947650A - 脚本步骤处理方法、装置和系统 - Google Patents
脚本步骤处理方法、装置和系统 Download PDFInfo
- Publication number
- CN109947650A CN109947650A CN201910214221.1A CN201910214221A CN109947650A CN 109947650 A CN109947650 A CN 109947650A CN 201910214221 A CN201910214221 A CN 201910214221A CN 109947650 A CN109947650 A CN 109947650A
- Authority
- CN
- China
- Prior art keywords
- control
- model
- coordinate
- training
- script step
- 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.)
- Granted
Links
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种脚本步骤处理方法,方法包括:接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。采用本发明实施例,通过在脚本步骤执行前对脚本步骤进行处理,能够使得脚本步骤的执行更加简单高效。
Description
技术领域
本发明涉及终端领域,尤其涉及一种脚本步骤处理方法、装置和系统。
背景技术
随着机器学习的快速发展,越来越多的自动化测试系统中开始引入机器学习;
现有自动化测试系统的自动化脚本步骤一般是部署在上位机上执行,而由于机器学习需要大量的计算,存在上位机无法满足机器学习的高性能需求的问题;
因此,亟需提供一种更简单高效的脚本步骤处理方法。
发明内容
本发明实施例提供一种脚本步骤处理方法,以解决自动化测试中脚本步骤的执行复杂低效的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种脚本步骤处理方法,该方法包括:
接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
第二方面,提供了一种脚本步骤处理装置,该装置包括:
接收模块,用于接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
解析模块,用于基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
确定模块,用于基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
发送模块,用于将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
第三方面,提供了一种脚本步骤处理系统,该系统包括:应用程序编程接口API网关、自动化脚本服务模块和模型服务模块,其中:
所述API网关,用于接收上位机发送的脚本步骤处理请求,并将所述请求转发至自动化脚本服务模块,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
所述自动化脚本服务模块,用于调用所述模型服务模块中与所述自动化脚本服务相关的模型,对所述脚本步骤进行处理;
所述模型服务模块中与所述自动化脚本服务相关的模型,包括:预训练的用例解析模型和预训练的控件识别模型,其中:
所述预训练的用例解析模型,用于解析所述脚本步骤对应的控件名称和操作类型;
所述预训练的控件识别模型,用于基于所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
所述API网关,还用于将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
第四方面,提供了一种终端设备,该终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。
本发明实施例通过接收上位机的脚本步骤处理请求;并基于机器学习模型对脚本步骤进行处理,得到脚本步骤对应的目标控件的坐标和操作类型;以供上位机控制其所管理的终端设备在该坐标处执行该操作类型的操作;由此,可通过机器学习模型对脚本步骤进行处理,使得脚本步骤的执行更加简单高效。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明的一个实施例提供的一种应用场景的示意图;
图2是本发明的一个实施例提供的一种脚本步骤处理方法的流程示意图;
图3是本发明的另一个实施例提供的一种脚本步骤处理方法的流程示意图;
图4是本发明的一个实施例提供的一种脚本步骤处理装置的结构示意图;
图5是本发明的一个实施例提供的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面参见图1对本发明的应用场景进行示例性说明。
本应用场景中包括:数据库102、服务系统104、上位机1061~1062、终端设备1081至1084,以及终端设备1085至1089,其中:服务系统104包括应用程序编程接口API网关104a、业务服务模块104b和模型服务模块104c。
下面基于其中的上位机1061、终端设备1081对自动化测试过程进行示例性说明:
在自动化测试过程中,API网关104a将上位机1061的脚本步骤处理请求转交至对应的业务服务模块104b;业务服务模块104b调用模型服务模块104c中相关的机器学习模型,对脚本步骤进行处理,得到脚本步骤对应的目标控件的坐标和操作类型,以供上位机1061控制终端设备1081执行该脚本步骤;数据库102用于保存基于脚本步骤生成的测试日志,以供优化机器学习模型,并基于优化完成的机器学习模型对下一个脚本步骤进行处理。
其中,自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件;自动化测试脚本是指定自动化测试的一系列指令,各指令对应于各脚本步骤;控件是指对数据和方法的封装;控件的操作类型可以是单击、双击、滑动、输入和长按等。
应用程序编程接口(Application Programming Interface,API)网关,是一些预定义的函数,是软件系统不同组成部分衔接的约定,为不同组成部分之间提供数据共享;上位机是直接向终端设备发出操控命令的计算机;业务服务模块可以是人工智能(Artificial Intelligence,AI)自动化脚本服务模块。
下面结合附图对本发明的各个实施例进行详细说明:
图2是本发明的一个实施例提供的一种脚本步骤处理方法的流程示意图,该方法可由图1对应的应用场景中的服务系统104执行,参见图2,该方法具体可以包括如下步骤:
步骤202:接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息。
其中,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息中的至少一种;页面的控件树可以直观表示用户界面的页面上各控件之间的层次关系,控件树一般为XML(Extensible Markup Language,可扩展标记语言)格式,控件树中包含控件的多个属性,例如坐标属性、类型属性、可见性属性和可用性属性等;页面截图的文本信息为用户界面的页面截图中的所有文本,文本可以是“返回”、“搜索”等;页面截图的图标信息为用户界面的页面截图中的所有图标,图标可以是“<”、等;脚本步骤可以是“单击返回按钮”等。
步骤202具体可以示例为:
API网关接收上位机发送的脚本步骤处理请求,该请求中包括脚本步骤“单击返回按钮”和页面的控件树。
基于此,可通过多样化的页面信息,对脚本步骤进行处理,使得脚本步骤的处理更加便捷。
步骤204:基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型。
步骤204具体可以示例为:
API网关将脚本步骤“单击返回按钮”和页面信息转交至AI自动化脚本服务模块,AI自动化脚本服务模块调用模型服务模块中,基于自然语言处理模型生成的用例解析模型,解析出该脚本步骤对应的控件名称“返回”和操作类型“单击”。
另外,方法还包括:控件属性解析步骤,该步骤的实现方式可以为:
步骤S1:基于预训练的用例解析模型,解析出所述脚本步骤对应的控件属性。
其中,控件属性可以是方位属性,例如“左上方”、“右下方”等;还可以是颜色属性,例如“红色”、“蓝色”等,还可以是尺寸属性,还可以是方位属性、颜色属性和尺寸属性的结合等。
步骤S1具体可以示例为:
API网关将脚本步骤“单击右上方的红色搜索按钮”和页面信息转交至AI自动化脚本服务模块,AI自动化脚本服务模块调用模型服务模块中,基于自然语言处理模型生成的用例解析模型,解析出该脚本步骤对应的控件名称“搜索”、操作类型“单击”以及控件属性“左上方”和“红色”。
步骤206:基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
需要说明的是,在执行了上述步骤S1的基础上,步骤206的一种实现方式可以为:
步骤S2:基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的至少一个控件在所述用户界面中的至少一个坐标。其具体可以示例为:
AI自动化脚本服务模块,调用控件识别模型,对页面信息进行识别,确定页面信息中是否存在控件名称对应的目标控件,若存在,则确定目标控件的坐标;由于一个用户界面中可能存在多个相同控件名称的控件,例如存在多个控件名称为“返回按钮”的控件,则确定多个返回按钮的多个坐标。
步骤S3:从所述至少一个坐标中,确定出所述控件属性对应的目标控件在所述用户界面中的坐标。其具体可以示例为:
当确定出多个坐标时,需要根据解析出的至少一个控件属性对多个控件进行筛选,得到一个目标控件,该目标控件的坐标即为该脚本步骤对应的坐标。
基于此,通过解析出的脚本步骤对应的控件属性,能够在根据控件名称查找到多个控件的情况下,利用控件属性从多个控件中筛选出目标控件,使得目标控件的查找更加准确,从而使得脚本步骤的处理更加准确。
需要说明的是,所述页面信息为页面的控件树时,所述控件识别模型为控件树识别模型;步骤206的一种实现方式可以为:
步骤S1’:基于预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若是,则执行步骤S2’;
步骤S1’具体可以示例为:
向预训练的控件树识别模型中输入控件树和控件名称“返回按钮”;控件树识别模型识别控件树中是否有“返回按钮”对应的目标控件,并确定该目标控件的坐标属性。
步骤S2’:基于所述坐标属性,确定所述控件名称对应的目标控件在所述用户界面中的坐标。其具体可以示例为:
如果控件树中有该坐标属性,控件树识别模型则根据该坐标属性确定目标控件在用户界面中的坐标,并输出“控件树中包含返回按钮”,以及该返回按钮的坐标。
基于此,通过控件树识别模型,从控件树中识别控件名称对应的目标控件的坐标属性,通过坐标属性来确定目标控件的坐标,能够使得目标控件的坐标的确定更加便捷和准确。
需要说明的是,所述页面信息为页面截图的文本信息时,所述控件识别模型为光学字符识别OCR模型;步骤206的一种实现方式可以为:
步骤S1”:基于预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若是,则执行步骤S2”;
步骤S1”具体可以示例为:
向预训练的OCR模型中输入文本信息和控件名称“返回按钮”对应的文本形式的目标控件“返回”;OCR识别模型识别文本信息中是否有与“返回”匹配的文本;可设置第一匹配阈值,若文本信息中有文本与“返回”的匹配度不小于第一匹配阈值,则认为该文本与“返回”匹配,否则不匹配。
步骤S2”:基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。其具体可以示例为:
如果文本信息中有文本与“返回”匹配,OCR识别模型则根据该文本在页面截图中的位置确定目标控件在用户界面中的坐标,并输出“控件树中包含返回按钮”,以及该返回按钮的坐标。
基于此,通过OCR模型,从文本信息中识别控件名称对应的文本形式的目标控件,通过文本形式的目标控件在页面截图中的位置,来确定目标控件的坐标,能够使得目标控件的坐标的确定更加便捷和准确。
需要说明的是,所述页面信息为页面截图的图标信息时,所述控件识别模型为图标识别模型;步骤206的一种实现方式可以为:
步骤S1”’:基于预训练的图标识别模型和所述图标信息,确定是否查找到所述控件名称对应的图标形式的目标控件;
若是,则执行步骤S2”’;
其中,所述图标识别模型基于卷积神经网络CNN(Convolutional NeuralNetworks)模型和循环神经网络RNN(Recurrent Neural Network)模型中的任意一种生成;卷积神经网络和循环神经网络均为深度学习的代表算法。
基于此,通过基于卷积神经网络模型或者循环神经网络模型生成图标识别模型,能够使得图标识别模型的生成更加灵活和准确,从而能够更好地利用该图标识别模型对图标形式的控件进行识别。
步骤S1”’具体可以示例为:
向预训练的图标识别模型中输入图标信息和控件名称“返回按钮”对应的图标形式的目标控件“<”;图标识别模型识别图标信息中是否有与“<”匹配的图标;可设置第二匹配阈值,若图标信息中有图标与“<”的匹配度不小于第二匹配阈值,则认为该图标与“<”匹配,否则不匹配。
步骤S2”’:基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。其具体可以示例为:
如果图标信息中有图标与“<”匹配,图标识别模型则根据该图标在页面截图中的位置确定目标控件在用户界面中的坐标,并输出“控件树中包含返回按钮”,以及该返回按钮的坐标。
基于此,通过图标识别模型,从图标信息中识别控件名称对应的图标形式的目标控件,通过图标形式的目标控件在页面截图中的位置,来确定目标控件的坐标,能够使得目标控件的坐标的确定更加便捷和准确。
需要说明的是,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息时,所述控件识别模型包括控件树识别模型、光学字符识别OCR模型和图标识别模型;步骤206的一种实现方式可以为:
步骤S1””:基于所述预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若否,则执行步骤S2””;其具体可以示例为:
如果控件树中没有控件名称对应的目标控件;或者有控件名称对应的目标控件,但该目标控件缺少坐标属性;则执行步骤S2””;
若是,则执行步骤S5””;
步骤S2””:基于所述预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若否,则执行步骤S3””;若是,则执行步骤S4””;
步骤S3””:基于所述预训练的图标识别模型和所述图标信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
步骤S4””:基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
步骤S5””:基于所述坐标属性,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
基于此,通过在基于某种页面信息无法识别目标控件时,尝试采用其他的页面信息识别目标控件,能够使得控件的识别更加灵活和可靠。
步骤208:将所述坐标和所述操作类型发送给所述上位机,以控制终端设备执行所述脚本步骤。其具体可以示例为:
API网关将目标控件的坐标和操作类型发送给上位机,上位机控制终端设备在该坐标位置执行该操作类型的操作(即执行该脚本步骤)。
另外,在步骤208之后,方法还包括:测试日志保存步骤,该步骤的实现方式可以为:
步骤S1:基于所述脚本步骤的执行过程和结果,生成测试日志;
其中,测试日志用于基于脚本步骤的执行过程中发生的事件,描述脚本步骤的执行结果,并作为测试报告的依据。
步骤S1具体可以示例为:
业务服务模块基于脚本步骤的执行过程中发生的事件和执行结果,生成测试日志,并将测试日志作为测试报告的依据。
步骤S2:将所述测试日志和所述页面信息保存至数据库,以供优化所述用例解析模型和所述控件识别模型。其具体可以示例为:
业务服务模块将测试日志、页面的XML格式的控件树、页面截图的文本信息、页面截图的图标信息等保存至数据库中,以供后续问题的查找,以及用例解析模型和控件识别模型的优化,并基于优化完成的用例解析模型和控件识别模型处理自动化测试脚本中的下一脚本步骤。
基于此,通过利用测试日志和页面信息对用例解析模型进行优化,能够使得脚本步骤的解析和控件的识别更加准确,进一步使得脚本步骤的处理更加准确。
本实施例中,通过解析出脚本步骤对应的控件属性,能够在根据控件名称查找到多个控件的情况下,利用控件属性从多个控件中筛选出目标控件,能够使得目标控件的查找更加准确;通过利用多样化的页面信息中识别控件,能够使得控件的识别更加灵活和准确;通过基于卷积神经网络模型或循环神经网络模型来生成图标识别模型,能够使得图标的识别更加可靠;通过将测试日志和页面信息保存至数据库,以供优化用例解析模型和控件识别模型,能够使得脚本步骤的解析和控件的识别更加准确,进一步地,通过不断优化用例解析模型和控件识别模型来处理脚本步骤,能够使得整个自动化测试过程更加简单高效。
图3是本发明的一个实施例提供的一种脚本步骤处理方法的流程示意图,该方法可由图1对应的应用场景中的服务系统104执行,参见图3,该方法具体可以包括如下步骤:
步骤302:接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息中的至少一种;
步骤304:基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
步骤306:基于预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若否,则执行步骤308;若是,则执行步骤314;
步骤308:基于预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若否,则执行步骤310;若是,则执行步骤312;
步骤310:基于预训练的图标识别模型和所述图标信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
步骤312:基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
步骤314:基于所述坐标属性,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
步骤316:将所述坐标和所述操作类型发送给上位机,以控制终端设备执行所述脚本步骤;
步骤318:基于所述脚本步骤的执行过程和结果,生成测试日志;
步骤320:将所述测试日志和所述页面信息保存至数据库,以供优化所述用例解析模型和所述控件识别模型。
本实施例中,通过多种页面信息和对应的识别模型,能够使得图标的识别更加灵活和可靠;通过将测试日志和页面信息保存至数据库,以供优化用例解析模型和控件识别模型,能够使得脚本步骤的解析和控件的识别更加准确,进一步地,通过不断优化用例解析模型和控件识别模型来处理脚本步骤,能够使得整个自动化测试过程更加简单高效。
另外,对于上述方法实施方式,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施方式并不受所描述的动作顺序的限制,因为依据本发明实施方式,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施方式均属于优选实施方式,所涉及的动作并不一定是本发明实施方式所必须的。
图4是本发明的一个实施例提供的一种脚本步骤处理装置的结构示意图,参见图4,该装置具体可以包括:接收模块402、解析模块404、确定模块406和发送模块408,其中:
接收模块402,用于接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息。
解析模块404,用于基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型。
确定模块406,用于基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
发送模块408,用于将所述坐标和所述操作类型发送给所述上位机,以控制终端设备执行所述脚本步骤。
本实施例中,通过接收上位机的脚本步骤处理请求,并基于用例解析模型、控件识别模型,对脚本步骤进行处理,得到脚本步骤对应的目标控件的坐标和操作类型,将该坐标和操作类型发送给上位机,以供上位机控制终端设备在该坐标位置执行该操作类型的操作,能够使得脚本步骤的执行更加简单高效。
可选的,解析模块包括:
解析单元,用于基于预训练的用例解析模型,解析出所述脚本步骤对应的控件属性;
其中,确定模块包括:
第一确定单元,用于基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的至少一个控件在所述用户界面中的至少一个坐标;
从所述至少一个坐标中,确定出所述控件属性对应的目标控件在所述用户界面中的坐标。
可选的,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息中的至少一种。
可选的,所述页面信息为页面的控件树时,所述控件识别模型为控件树识别模型;
其中,确定模块包括:
第二确定单元,用于基于预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若是,则基于所述坐标属性,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
可选的,所述页面信息为页面截图的文本信息时,所述控件识别模型为光学字符识别OCR模型;
其中,确定模块包括:
第三确定单元,用于基于预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若是,则基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
可选的,所述页面信息为页面截图的图标信息时,所述控件识别模型为图标识别模型;
其中,确定模块,包括:
第四确定单元,用于基于预训练的图标识别模型和所述图标信息,确定是否查找到所述控件名称对应的图标形式的目标控件;
若是,则基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
可选的,所述图标识别模型基于卷积神经网络CNN模型和循环神经网络RNN模型中的任意一种生成。
可选的,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息时,所述控件识别模型包括控件树识别模型、光学字符识别OCR模型和图标识别模型;
其中,确定模块包括:
第五确定单元,用于基于所述预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若否,则基于所述预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若否,则基于所述预训练的图标识别模型和所述图标信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
可选的,该装置还包括:
保存模块,用于基于所述脚本步骤的执行过程和结果,生成测试日志;
将所述测试日志和所述页面信息保存至数据库,以供优化所述用例解析模型和所述控件识别模型。
本发明实施例提供的移动终端/装置能够实现图2至图3的方法实施例中装置实现的各个过程,为避免重复,这里不再赘述。而且,应当注意的是,在本发明的装置的各个部件中,根据其要实现的功能而对其中的部件进行了逻辑划分,但是,本发明不受限于此,可以根据需要对各个部件进行重新划分或者组合。
本发明的一个实施例提供一种脚本步骤处理系统,该系统包括:应用程序编程接口API网关、自动化脚本服务模块和模型服务模块,其中:
所述API网关,用于接收上位机发送的脚本步骤处理请求,并将所述脚本步骤处理请求转发至自动化脚本服务模块,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
所述自动化脚本服务模块,用于调用所述模型服务模块中与所述自动化脚本服务相关的模型,对所述脚本步骤进行处理;
所述模型服务模块中与所述自动化脚本服务相关的模型,包括:预训练的用例解析模型和预训练的控件识别模型,其中:
所述预训练的用例解析模型,用于解析所述脚本步骤对应的控件名称和操作类型;
所述预训练的控件识别模型,用于基于所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
所述API网关,还用于将所述坐标和所述操作类型发送至上位机,以控制终端设备执行所述脚本步骤。
本实施例,通过接收上位机的脚本步骤处理请求,并基于用例解析模型、控件识别模型,对脚本步骤进行处理,得到脚本步骤对应的目标控件的坐标和操作类型,以供上位机控制终端设备在该坐标位置执行该操作类型的操作,能够使得脚本步骤的执行更加简单高效。
图5为实现本发明各个实施例的一种终端设备的硬件结构示意图,
该终端设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的终端设备结构并不构成对终端设备的限定,终端设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本发明实施例中,终端设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
其中,射频单元501,用于接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
处理器510,用于基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
基于此,通过对脚本步骤进行解析,并对脚本步骤对应的目标控件进行识别,能够使得脚本步骤的执行更加简单高效。
应理解的是,本发明实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
终端设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与终端设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
终端设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在终端设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别终端设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与终端设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现终端设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现终端设备的输入和输出功能,具体此处不做限定。
接口单元508为外部装置与终端设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端设备500内的一个或多个元件或者可以用于在终端设备500和外部装置之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
终端设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,终端设备500包括一些未示出的功能模块,在此不再赘述。
优选的,本发明实施例还提供一种终端设备,包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述脚本步骤处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述脚本步骤处理方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (11)
1.一种脚本步骤处理方法,其特征在于,包括:
接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
2.根据权利要求1所述的方法,其特征在于,还包括:
基于预训练的用例解析模型,解析出所述脚本步骤对应的控件属性;
其中,所述基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标,包括:
基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的至少一个控件在所述用户界面中的至少一个坐标;
从所述至少一个坐标中,确定出所述控件属性对应的目标控件在所述用户界面中的坐标。
3.根据权利要求1所述的方法,其特征在于,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息中的至少一种。
4.根据权利要求3所述的方法,其特征在于,所述页面信息为页面的控件树时,所述控件识别模型为控件树识别模型;
其中,所述基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标,包括:
基于预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若是,则基于所述坐标属性,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
5.根据权利要求3所述的方法,其特征在于,所述页面信息为页面截图的文本信息时,所述控件识别模型为光学字符识别OCR模型;
其中,所述基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标,包括:
基于预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若是,则基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
6.根据权利要求3所述的方法,其特征在于,所述页面信息为页面截图的图标信息时,所述控件识别模型为图标识别模型;
其中,所述基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标,包括:
基于预训练的图标识别模型和所述图标信息,确定是否查找到所述控件名称对应的图标形式的目标控件;
若是,则基于所述目标控件在所述用户界面中的位置,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
7.根据权利要求6所述的方法,其特征在于,所述图标识别模型基于卷积神经网络CNN模型和循环神经网络RNN模型中的任意一种生成。
8.根据权利要求3所述的方法,其特征在于,所述页面信息包括页面的控件树、页面截图的文本信息和页面截图的图标信息时,所述控件识别模型包括控件树识别模型、光学字符识别OCR模型和图标识别模型;
其中,所述基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标,包括:
基于所述预训练的控件树识别模型和所述控件树,确定是否查找到所述控件名称对应的目标控件的坐标属性;
若否,则基于所述预训练的光学字符识别OCR模型和所述文本信息,确定是否查找到所述控件名称对应的文本形式的目标控件;
若否,则基于所述预训练的图标识别模型和所述图标信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述脚本步骤的执行过程和结果,生成测试日志;
将所述测试日志和所述页面信息保存至数据库,以供优化所述用例解析模型和所述控件识别模型。
10.一种脚本步骤处理装置,其特征在于,包括:
接收模块,用于接收上位机发送的脚本步骤处理请求,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
解析模块,用于基于预训练的用例解析模型,解析出所述脚本步骤对应的控件名称和操作类型;
确定模块,用于基于预训练的控件识别模型和所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
发送模块,用于将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
11.一种脚本步骤处理系统,其特征在于,包括:应用程序编程接口API网关、自动化脚本服务模块和模型服务模块,其中:
所述API网关,用于接收上位机发送的脚本步骤处理请求,并将所述脚本步骤处理请求转发至自动化脚本服务模块,所述脚本步骤处理请求携带待处理的脚本步骤和用户界面的页面信息;
所述自动化脚本服务模块,用于调用所述模型服务模块中与所述自动化脚本服务相关的模型,对所述脚本步骤进行处理;
所述模型服务模块中与所述自动化脚本服务相关的模型,包括:预训练的用例解析模型和预训练的控件识别模型,其中:
所述预训练的用例解析模型,用于解析所述脚本步骤对应的控件名称和操作类型;
所述预训练的控件识别模型,用于基于所述页面信息,确定所述控件名称对应的目标控件在所述用户界面中的坐标;
所述API网关,还用于将所述坐标和所述操作类型发送至所述上位机,以控制终端设备执行所述脚本步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214221.1A CN109947650B (zh) | 2019-03-20 | 2019-03-20 | 脚本步骤处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910214221.1A CN109947650B (zh) | 2019-03-20 | 2019-03-20 | 脚本步骤处理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947650A true CN109947650A (zh) | 2019-06-28 |
CN109947650B CN109947650B (zh) | 2022-04-29 |
Family
ID=67010319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910214221.1A Active CN109947650B (zh) | 2019-03-20 | 2019-03-20 | 脚本步骤处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947650B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727436A (zh) * | 2019-10-24 | 2020-01-24 | 深圳前海微众银行股份有限公司 | 操作界面的脚本执行方法、装置、终端设备及存储介质 |
CN111930622A (zh) * | 2020-08-10 | 2020-11-13 | 中国工商银行股份有限公司 | 基于深度学习的界面控件测试方法及系统 |
CN112017656A (zh) * | 2020-08-11 | 2020-12-01 | 博泰车联网(南京)有限公司 | 一种语音控制方法、装置及计算机存储介质 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN113608817A (zh) * | 2021-08-19 | 2021-11-05 | 上海幻电信息科技有限公司 | 弹框处理方法及系统 |
CN113971059A (zh) * | 2020-07-22 | 2022-01-25 | 北京奇虎科技有限公司 | 设备连接状态恢复方法、装置、设备及存储介质 |
CN114025210A (zh) * | 2021-11-01 | 2022-02-08 | 深圳小湃科技有限公司 | 弹窗屏蔽方法、设备、存储介质及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
US20140181714A1 (en) * | 2012-12-20 | 2014-06-26 | International Business Machines Corporation | Manipulation of user interface controls |
CN108415838A (zh) * | 2018-03-01 | 2018-08-17 | 吉旗(成都)科技有限公司 | 一种基于自然语言处理技术的自动化测试方法 |
CN108763068A (zh) * | 2018-05-15 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种基于机器学习的自动化测试方法及终端 |
CN109189682A (zh) * | 2018-08-27 | 2019-01-11 | 广州云测信息技术有限公司 | 一种脚本录制方法和装置 |
-
2019
- 2019-03-20 CN CN201910214221.1A patent/CN109947650B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309797A (zh) * | 2012-03-09 | 2013-09-18 | 阿里巴巴集团控股有限公司 | 用户界面自动化测试方法及装置 |
US20140181714A1 (en) * | 2012-12-20 | 2014-06-26 | International Business Machines Corporation | Manipulation of user interface controls |
CN108415838A (zh) * | 2018-03-01 | 2018-08-17 | 吉旗(成都)科技有限公司 | 一种基于自然语言处理技术的自动化测试方法 |
CN108763068A (zh) * | 2018-05-15 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种基于机器学习的自动化测试方法及终端 |
CN109189682A (zh) * | 2018-08-27 | 2019-01-11 | 广州云测信息技术有限公司 | 一种脚本录制方法和装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110727436A (zh) * | 2019-10-24 | 2020-01-24 | 深圳前海微众银行股份有限公司 | 操作界面的脚本执行方法、装置、终端设备及存储介质 |
CN113971059A (zh) * | 2020-07-22 | 2022-01-25 | 北京奇虎科技有限公司 | 设备连接状态恢复方法、装置、设备及存储介质 |
CN111930622A (zh) * | 2020-08-10 | 2020-11-13 | 中国工商银行股份有限公司 | 基于深度学习的界面控件测试方法及系统 |
CN111930622B (zh) * | 2020-08-10 | 2023-10-13 | 中国工商银行股份有限公司 | 基于深度学习的界面控件测试方法及系统 |
CN112017656A (zh) * | 2020-08-11 | 2020-12-01 | 博泰车联网(南京)有限公司 | 一种语音控制方法、装置及计算机存储介质 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN113608817A (zh) * | 2021-08-19 | 2021-11-05 | 上海幻电信息科技有限公司 | 弹框处理方法及系统 |
CN113608817B (zh) * | 2021-08-19 | 2024-05-07 | 上海幻电信息科技有限公司 | 弹框处理方法及系统 |
CN114025210A (zh) * | 2021-11-01 | 2022-02-08 | 深圳小湃科技有限公司 | 弹窗屏蔽方法、设备、存储介质及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109947650B (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947650A (zh) | 脚本步骤处理方法、装置和系统 | |
CN109063583A (zh) | 一种基于点读操作的学习方法及电子设备 | |
CN109871246A (zh) | 一种消息显示方法及终端设备 | |
CN110049185A (zh) | 图像处理方法及终端设备 | |
CN110109593A (zh) | 一种截屏方法及终端设备 | |
CN109495616B (zh) | 一种拍照方法及终端设备 | |
CN110109604A (zh) | 一种应用界面显示方法及移动终端 | |
CN108920119A (zh) | 一种分享方法及移动终端 | |
CN109871164A (zh) | 一种消息发送方法及终端设备 | |
CN109815462A (zh) | 一种文本生成方法及终端设备 | |
CN107908770A (zh) | 一种照片搜索方法及移动终端 | |
CN108320148A (zh) | 一种资源转移方法及相关设备 | |
CN108334265A (zh) | 一种文件处理方法及移动终端 | |
CN110457086A (zh) | 一种应用程序的控制方法、移动终端及服务器 | |
CN109085963A (zh) | 一种界面显示方法及终端设备 | |
CN109358931A (zh) | 一种界面显示方法及终端 | |
CN110069675A (zh) | 一种检索方法及移动终端 | |
CN110096203A (zh) | 一种截图方法及移动终端 | |
CN110471589A (zh) | 信息显示方法及终端设备 | |
CN109726303A (zh) | 一种图像推荐方法和终端 | |
CN108897482A (zh) | 一种信息显示方法及终端设备 | |
CN109857673A (zh) | 控件识别方法和装置 | |
CN109947988A (zh) | 一种信息处理方法、装置、终端设备及服务器 | |
CN109885490A (zh) | 一种图片对比方法和装置 | |
CN109284146A (zh) | 一种轻应用开启方法及移动终端 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210719 Address after: 100016 no.4301, No.52 Jiuxianqiao hospital, Chaoyang District, Beijing Applicant after: BEIJING TESTIN INFORMATION TECHNOLOGY Co.,Ltd. Address before: Room 2016, building 2, No.8, Fenghuang Third Road, Zhongxin Guangzhou Knowledge City, Guangzhou 510260, Guangdong Province Applicant before: GUANGZHOU TESTIN INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |