CN110794999A - 基于界面分割的自动控制方法、装置及终端 - Google Patents
基于界面分割的自动控制方法、装置及终端 Download PDFInfo
- Publication number
- CN110794999A CN110794999A CN201911032393.3A CN201911032393A CN110794999A CN 110794999 A CN110794999 A CN 110794999A CN 201911032393 A CN201911032393 A CN 201911032393A CN 110794999 A CN110794999 A CN 110794999A
- Authority
- CN
- China
- Prior art keywords
- operation unit
- interface
- interactive interface
- controlled object
- preset
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Abstract
本发明公开一种基于界面分割的自动控制方法、装置及终端。其中,该方法包括:对被控对象的交互界面进行分割,得到至少两个操作单元;从至少两个所述操作单元中确定有效操作单元;基于所述有效操作单元自动控制所述被控对象。本发明将被控对象的交互界面分割为至少两个操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,实现了对被控对象多次操作的全自动控制,提高控制效率。
Description
技术领域
本发明涉及自动控制技术领域,具体而言,涉及一种基于界面分割的自动控制方法、装置及终端。
背景技术
目前很多场景下都需要大量的操作软件,若通过手动控制软件来实现目的,耗时且效率较低。
例如,对于软件的测试,一般采用手动控制被测软件,测试效率较低,且手动控制需要考虑软件界面类型,如输入框输入和/或按钮点击,不同界面类型对应不同的手动控制操作,测试人员需要反应时间来切换操作,也会影响测试效率。
又如,对服务器进行并发性能评估时,需要结合底层设备发送原始帧。一般通过控制多个数据模拟器来模拟真实的底层设备同时或以相同间隔发送底层设备数据,从而实现对服务器并发性能进行评估。在服务器并发性能评估时,控制多个数据模拟器发送数据,数据量很大,若手动控制数据模拟器来进行数据发送,效率较低。
针对现有技术中手动控制软件导致效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种基于界面分割的自动控制方法、装置及终端,以解决现有技术中手动控制软件导致效率较低的问题。
为解决上述技术问题,本发明实施例提供了一种自动控制方法,包括:
对被控对象的交互界面进行分割,得到至少两个操作单元;
从至少两个所述操作单元中确定有效操作单元;
基于所述有效操作单元自动控制所述被控对象。
可选的,对被控对象的交互界面进行分割,得到至少两个操作单元,包括:
获取所述交互界面的布局信息;
根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个所述操作单元;其中,所述操作单元的形状为块状。
可选的,在对被控对象的交互界面进行分割之前,还包括:
打开所述被控对象的交互界面;
获取所述被控对象的窗口句柄;
根据所述窗口句柄确定所述交互界面在显示屏上的位置。
可选的,从至少两个所述操作单元中确定有效操作单元,包括:
根据预设顺序对各所述操作单元进行预设操作;
根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。
可选的,根据预设顺序对各所述操作单元进行预设操作,包括:
调用键盘控制工具,以根据所述预设顺序对各所述操作单元进行预设操作;
监控对各所述操作单元进行所述预设操作时的界面变化特征。
可选的,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型,包括:
若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;
将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型;其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
可选的,若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。
可选的,在从至少两个所述操作单元中确定有效操作单元之后,还包括:
获取所述有效操作单元在所述交互界面上的位置;
将所述有效操作单元在所述交互界面上的位置与所述有效操作单元的操作类型的对应关系进行存储。
可选的,在对被控对象的交互界面进行分割,得到至少两个操作单元之后,还包括:
确定所述操作单元的坐标参考点;
计算所述坐标参考点到所述交互界面的第一边的第一直线距离,以及所述坐标参考点到所述交互界面的第二边的第二直线距离;
根据所述第一直线距离与所述第二直线距离确定所述操作单元在所述交互界面上的位置。
可选的,基于所述有效操作单元自动控制所述被控对象,包括:
获取控制需求;
根据所述控制需求,调用键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
本发明实施例还提供了一种自动控制装置,包括:
分割模块,用于对被控对象的交互界面进行分割,得到至少两个操作单元;
确定模块,用于从至少两个所述操作单元中确定有效操作单元;
控制模块,用于基于所述有效操作单元自动控制所述被控对象。
本发明实施例还提供了一种终端,包括本发明实施例所述的自动控制装置。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明实施例所述的自动控制方法。
应用本发明的技术方案,通过将被控对象的交互界面分割为至少两个操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,实现了对被控对象多次操作的全自动控制,提高控制效率。且适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
附图说明
图1是本发明实施例一提供的基于界面分割的自动控制方法的流程图;
图2是本发明实施例二提供的基于模拟键盘的自动控制方案的示意图;
图3是本发明实施例三提供的基于鼠标点击化的自动控制方案的示意图;
图4是本发明实施例四提供的基于界面分割的自动控制装置的结构框图;
图5是本发明实施例五提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种基于界面分割的自动控制方法,可用于实现被控对象的自动控制,具体是自动控制被控对象的界面元素,实现内容的自动输入、按钮的自动点击和界面的自动滚动等。图1是本发明实施例一提供的基于界面分割的自动控制方法的流程图,如图1所示,该方法包括以下步骤:
S101,对被控对象的交互界面进行分割,得到至少两个操作单元。
其中,被控对象可以是有大量操作需求的对象,例如待测试的软件或数据模拟器等。被控对象的交互界面可以通过显示器进行显示。从界面操作的角度来说,交互界面的界面类型可以包括:仅通过输入框进行操作、仅通过按钮点击进行操作、以及可同时通过输入框和按钮点击进行操作。相应的,交互界面可以包括:输入框和/或按钮,还可以包括滚动条,算作特殊的按钮形式,用于实现界面的左右滚动或上下滚动。
在实际应用中,被控对象可以包括多个交互界面,如登录界面、设置界面和搜索界面等,对每个交互界面都要进行分割。考虑到每个交互界面的具体布局不同,为了快速自动确定各交互界面的有效操作单元,可以根据交互界面的布局情况来进行分割,具体的,获取所述交互界面的布局信息;根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个所述操作单元。
上述布局信息可以包括:布局组件及组件信息,布局组件包括按钮、输入框和滚动条,组件信息是指组件的位置和大小。根据布局信息可以设置操作单元的间隔,例如,交互界面中的按钮分布较为稀疏,则操作单元的间隔可以设置大一些。预设分割规则包括操作单元的形状、操作单元的排布等,例如通过经纬线交叉来实现分割方块形状的操作单元。
本实施例中,对同一交互界面分割得到的至少两个操作单元,其形状均为块状,或,均为点状,或,一部分是块状,另一部分是点状。块状包括:正方形、矩形、菱形或梯形等规则形状。可以理解的是,将交互界面分割为块状操作单元(也可称为操作块),即通过模拟键盘来实现自动控制;将交互界面分割为点状操作单元(也可称为操作点),即通过模拟鼠标点击,将交互界面鼠标点击化,基于此来实现自动控制。
S102,从至少两个所述操作单元中确定有效操作单元。
本实施例中的有效操作单元是指操作之后可产生界面变化的操作单元,例如,点击操作单元A时,有输入框颜色发生变化且出现光标,表示该操作单元A产生界面变化,操作单元A为有效操作单元;又如,点击操作单元B时,界面发生滚动,该操作单元B为有效操作单元;再如,点击操作单元C时,有按钮发生颜色变化或界面变化(如显示“正在登录”),该操作单元C为有效操作单元。
S103,基于所述有效操作单元自动控制所述被控对象。
本步骤具体可以通过以下方式来实现:获取控制需求;根据所述控制需求,调用控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
其中,操作类型包括:输入内容、点击按钮或界面滚动。控制需求是指在目标位置执行目标操作,达到目标效果。例如,在目标输入框输入目标内容、点击目标按钮等。根据控制需求可以确定交互界面上需要被控制的有效操作单元,然后对这些有效操作单元进行相应的操作,即实现了被控对象的自动控制。根据分割的操作单元的形状,可以调用相应的鼠标控制工具和/或键盘控制工具,来对操作单元进行自动控制,完成相应的输入内容或点击按钮功能。例如,对于块状操作单元,调用键盘控制工具;对于点状操作单元,调用鼠标控制工具,必要时也可调用键盘控制工具来辅助输入信息。控制工具是指第三方依赖包。
示例性的,控制需求为输入账号和密码,点击登录,以对登录功能进行测试。根据控制需求确定交互界面上的账号输入框、密码输入框和登录按钮,然后利用输入值文件依次将账号和密码导入到相应的输入框中,并控制点击登录按钮,监控是否成功登录。又如,控制需求为选择某个数据模拟器,由该数据模拟器发送某项数据,则根据控制需求确定交互界面上的选择按钮和数据输入框,然后点击选择按钮并将相应的数据导入到数据输入框,以此来协助完成服务器并发性能的评估。
本实施例的自动控制方法,通过将被控对象的交互界面分割为至少两个操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,实现了对被控对象多次操作的全自动控制,提高控制效率,且适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
在S101之前,还可以包括:打开所述被控对象的交互界面;获取所述被控对象的窗口句柄;根据所述窗口句柄确定所述交互界面在显示屏上的位置。具体可以调用第三方依赖包来获取窗口句柄。
本实施方式利用窗口句柄实现了对交互界面的定位,为后续的界面分割奠定了基础。
在一个可选的实施方式中,S102具体可以包括:根据预设顺序对各所述操作单元进行预设操作,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。
其中,预设顺序可以是逐行操作、逐列操作或者随机操作等,只要保证能够对全部的操作单元都操作一遍即可。在界面分割时可以为每个操作单元设置唯一标识以进行区分,在进行预设操作时,遍历全部标识,即完成了所有操作单元的预设操作。预设操作可以是点击动作,对于块状操作单元,预设操作相当于按压键盘上的按键,即通过模拟键盘的控制来确定各操作单元是否有效以及属于何种操作类型;对于点状操作单元,预设操作相当于点击鼠标。界面变化特征可以是输入框颜色/位置变化、按钮颜色变化、滚动条位置变化等。可调用第三方控制工具来对各操作单元进行预设操作,例如,键盘控制依赖包和/或鼠标控制依赖包等。可以通过调用监控接口来监控对各操作单元进行预设操作时的界面变化特征。
具体的,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型,包括:若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型。其中,预设特征库中存储有界面变化与操作类型的对应关系。所述有效操作单元对应的界面变化特征,即对所述有效操作单元进行预设操作产生的界面变化特征。
本实施方式通过对操作单元进行预设操作及产生的界面变化来确定操作单元是否有效,并确定有效操作单元对应的操作类型,由此基于界面分割实现了界面中的可控区域的自动确定,利于进一步实现被控对象的自动控制。
若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。由此,能够将被拆分的同一功能的输入框(或按钮)合并构成一个有效操作单元,便于后续的自动化控制。
进一步的,在确定有效操作单元之后,可以获取有效操作单元在交互界面上的位置,将所述有效操作单元在交互界面上的位置与所述有效操作单元的操作类型的对应关系进行存储。从而基于该对应关系,在后续的自动控制过程中根据控制需求对有效操作单元进行定位以及相应的控制,以实现被控对象的自动控制。
操作单元的位置可以坐标来表示。在实际应用中,可以在分割得到至少两个操作单元之后确定所有操作单元的位置;也可以在确定有效操作单元之后仅确定有效操作单元的位置。示例性的,计算所述操作单元到所述交互界面的第一边的第一直线距离,以及所述操作单元到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述操作单元在所述交互界面上的位置,由此得到操作单元的坐标。对于块状操作单元,可以设置坐标参考点来进行计算,例如,中心点或者边缘点。
为了进一步提高控制效率,对于全输入框的被控对象或者全按钮的被控对象,可以将各操作单元的坐标函数化,根据函数化结果自动对各操作单元进行排序,按照排序来对各操作单元进行预设操作;根据预设操作产生的界面变化确定有效操作单元及其操作类型。
需要说明的是,上述方法可以通过python语言、c语言或java编辑自动控制脚本来实现,根据语言不同可以调用相应的第三方依赖包来实现界面定位或执行预设操作。本发明实施例的基于界面分割的自动控制方案适用于任意以按钮和/或输入框为主的软件。
实施例二
在实施例一的基础上,本实施例以将交互界面分割为块状操作单元为例,对基于模拟键盘的自动控制方法进行说明。
(1)打开被控对象的交互界面,获取所述被控对象的窗口句柄;根据所述窗口句柄确定所述交互界面在显示屏上的位置。具体可通过调用第三方依赖包来获取窗口句柄,实现交互界面的定位。
(2)获取所述交互界面的布局信息;根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个操作单元;其中,每个所述操作单元均为块状。
根据布局信息可以设置分割大小,即操作单元的大小,例如,交互界面中的按钮分布较为稀疏,则分割大小可以设置大一些。预设分割规则包括分割形状及对应的分割方式,例如,分割形状为正方形,对应的分割方式为经纬线交叉。
各操作单元的形状、大小,可以相同,也可以不同,较优的,分割为形状、大小均相同的操作单元,便于处理。本实施例中,每个操作单元的形状均为块状,块状包括:正方形、矩形、菱形或梯形等规则形状。
(3)从至少两个所述操作单元中确定有效操作单元。
具体的,根据预设顺序对各所述操作单元进行预设操作,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。其中,预设顺序可以是逐行操作、逐列操作或者随机操作等,只要保证能够对全部的操作单元都操作一遍即可。对于块状操作单元,预设操作相当于按压键盘上的按键。界面变化特征可以是输入框颜色/位置变化、按钮颜色变化、滚动条位置变化等。操作类型包括:输入内容、点击按钮或界面滚动。
进一步的,根据预设顺序对各所述操作单元进行预设操作,包括:调用键盘控制工具,以根据所述预设顺序对各所述操作单元进行预设操作;监控对各所述操作单元进行所述预设操作时的界面变化特征。其中,键盘控制工具为第三方依赖包。可以通过调用监控接口来监控界面变化。
进一步的,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型,包括:若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型。其中,预设特征库中存储有界面变化与操作类型的对应关系。
由此通过对操作单元的预设操作及产生的界面变化来确定操作单元是否有效,并确定有效操作单元对应的操作类型,由此基于模拟键盘的界面分割实现了界面中的可控区域的自动确定,利于进一步实现被控对象的自动控制。
若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。由此,能够将被拆分的同一功能的输入框(或按钮)合并构成一个有效操作单元,便于后续的自动化控制。
进一步的,在确定有效操作单元之后,可以获取有效操作单元在交互界面上的位置,将有效操作单元在交互界面上的位置与有效操作单元的操作类型的对应关系进行存储。以在自动控制过程中根据控制需求对有效操作单元进行定位和控制。
具体可以通过以下步骤确定操作单元的位置:确定所述操作单元的坐标参考点;计算所述坐标参考点到所述交互界面的第一边的第一直线距离,以及所述坐标参考点到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述操作单元在交互界面上的位置,即第一直线距离和第二直线距离构成坐标。
其中,坐标参考点可以是块状操作单元的中心点,也可以是约定的某个边缘点。一般交互界面有四条边,示例性的,计算坐标参考点距离交互界面最左边的距离值,以及坐标参考点距离交互界面最上边的距离值,得到操作单元的坐标。
(4)基于所述有效操作单元自动控制所述被控对象。
具体的,获取控制需求;根据所述控制需求,调用键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
为了进一步提高控制效率,对于全输入框的被控对象或者全按钮的被控对象,可以将各操作单元的坐标函数化,根据函数化结果自动对各操作单元进行排序,按照排序来对各操作单元进行预设操作;根据预设操作产生的界面变化确定有效操作单元及其操作类型。
参考图2,通过自动化脚本将被控对象的交互界面分割为块状操作单元,确定有效操作单元,进而实现自动控制。其中,交互界面的定位以及对有效操作单元的操作可以通过调用第三方依赖包实现。具体可以通过接口来监控对有效操作单元进行操作时的界面变化特征。
本实施例将被控对象的交互界面分割为至少两个块状操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,通过模拟键盘实现了对被控对象多次操作的全自动控制,提高控制效率。本实施例适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
实施例三
在实施例一的基础上,本实施例以将交互界面分割为点状操作单元为例,对基于鼠标点击化的自动控制方法进行说明。
(1)打开被控对象的交互界面,获取所述被控对象的窗口句柄;根据所述窗口句柄确定所述交互界面在显示屏上的位置。具体可通过调用第三方依赖包来获取窗口句柄,实现交互界面的定位。
(2)获取所述交互界面的布局信息;根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个操作单元;其中,每个所述操作单元均为点状。
根据布局信息可以设置点状操作单元之间的间隔,例如,交互界面中的按钮分布较为稀疏,则点状操作单元之间的间隔可以设置大一些。预设分割规则包括点状操作单元的大小、形状和排布,例如,直径为1mm的小圆点或者边长为1mm的小方点,按照规则的横纵方向来排布操作单元。
(3)从至少两个所述操作单元中确定有效操作单元。
具体的,根据预设顺序对各所述操作单元进行预设操作,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。其中,预设顺序可以是逐行操作、逐列操作或者随机操作等,只要保证能够对全部的操作单元都操作一遍即可。对于点状操作单元,预设操作相当于点击鼠标。界面变化特征可以是输入框颜色/位置变化、按钮颜色变化、滚动条位置变化等。操作类型包括:输入内容、点击按钮或界面滚动。
进一步的,根据预设顺序对各所述操作单元进行预设操作,包括:调用鼠标控制工具,以根据所述预设顺序对各所述操作单元进行预设操作;监控对各所述操作单元进行所述预设操作时的界面变化特征。其中,鼠标控制工具为第三方依赖包。可以通过调用监控接口来监控界面变化。
进一步的,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型,包括:若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型。其中,预设特征库中存储有界面变化与操作类型的对应关系。
由此通过对操作单元的预设操作及产生的界面变化来确定操作单元是否有效,并确定有效操作单元对应的操作类型,由此基于鼠标点击化的界面分割实现了界面中的可控区域的自动确定,利于进一步实现被控对象的自动控制。
若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。由此,能够将被拆分的同一功能的输入框(或按钮)合并构成一个有效操作单元,便于后续的自动化控制。
进一步的,在确定有效操作单元之后,可以获取有效操作单元在交互界面上的位置,将有效操作单元在交互界面上的位置与有效操作单元的操作类型的对应关系进行存储。以在自动控制过程中根据控制需求对有效操作单元进行定位和控制。
具体可以通过以下步骤确定点状操作单元的位置:计算所述操作单元到所述交互界面的第一边的第一直线距离,以及所述操作单元到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述操作单元在交互界面上的位置,即第一直线距离和第二直线距离构成坐标。
(4)基于所述有效操作单元自动控制所述被控对象。
具体的,获取控制需求;根据所述控制需求,调用鼠标控制工具和/或键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
为了进一步提高控制效率,对于全输入框的被控对象或者全按钮的被控对象,可以将各操作单元的坐标函数化,根据函数化结果自动对各操作单元进行排序,按照排序来对各操作单元进行预设操作;根据预设操作产生的界面变化确定有效操作单元及其操作类型。
参考图3,通过自动化脚本将被控对象的交互界面鼠标点击化(即分割为点状操作单元),确定有效操作单元,进而实现自动控制。其中,交互界面的定位以及对有效操作单元的预设操作可以通过调用第三方依赖包实现。具体可以通过接口来监控对有效操作单元进行操作时的界面变化特征。
本实施例将被控对象的交互界面分割为至少两个点状操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,通过将界面鼠标点击化实现了对被控对象多次操作的全自动控制,提高控制效率,并且将界面看成鼠标点击的点,能够对界面进行精准的分割,使得自动控制更为准确可靠。本实施例适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
此外,对于同一交互界面所分割得到的操作单元,一部分是块状,一部分是点状的情况,其中,块状的操作单元和点状的操作单元的相关处理分别参见上述实施例一至三,此处不再赘述。
实施例四
基于同一发明构思,本实施例提供了一种基于界面分割的自动控制装置,可以用于实现上述实施例所述的自动控制方法。该装置可以通过软件和/或硬件实现,该装置一般可集成于终端中。
图4是本发明实施例四提供的基于界面分割的自动控制装置的结构框图,如图4所示,该装置包括:
分割模块41,用于对被控对象的交互界面进行分割,得到至少两个操作单元;
确定模块42,用于从至少两个所述操作单元中确定有效操作单元;
控制模块43,用于基于所述有效操作单元自动控制所述被控对象。
可选的,分割模块41包括:
第一获取单元,用于获取所述交互界面的布局信息;
分割单元,用于根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个所述操作单元;其中,所述操作单元的形状为块状或点状。
可选的,上述装置还可以包括:
打开模块,用于打开所述被控对象的交互界面;
第一获取模块,用于在对被控对象的交互界面进行分割之前,获取所述被控对象的窗口句柄;
定位模块,用于根据所述窗口句柄确定所述交互界面在显示屏上的位置。
可选的,确定模块42包括:
处理单元,用于根据预设顺序对各所述操作单元进行预设操作;
确定单元,用于根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。
进一步的,处理单元具体用于:调用键盘控制工具,以根据所述预设顺序对各所述操作单元进行预设操作;监控对各所述操作单元进行所述预设操作时的界面变化特征。
进一步的,确定单元包括:
确定子单元,用于若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;
比较子单元,用于将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型。其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
可选的,确定子单元还用于:若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。
可选的,上述装置还包括:
计算模块,用于在对被控对象的交互界面进行分割,得到至少两个操作单元之后,计算所述操作单元到所述交互界面的第一边的第一直线距离,以及所述操作单元到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述操作单元在所述交互界面上的位置。
可选的,上述装置还包括:
第二获取模块,用于在从至少两个所述操作单元中确定有效操作单元之后,获取所述有效操作单元在所述交互界面上的位置;
存储模块,用于将所述有效操作单元在所述交互界面上的位置与所述有效操作单元的操作类型的对应关系进行存储。
可选的,控制模块43包括:
第二获取单元,用于获取控制需求;
控制单元,用于根据所述控制需求,调用键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的方法。
本实施例还提供一种终端,包括上述自动控制装置。该终端可以存储并展示被控对象的交互界面。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
实施例五
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明实施例所述的基于界面分割的自动控制方法。
本实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本发明实施例所述的基于界面分割的自动控制方法。
图5是本发明实施例五提供的电子设备的结构示意图,如图5所示,该电子设备包括处理器51、存储器52、输入装置53和输出装置54;电子设备中处理器51的数量可以是一个或多个,图5中以一个处理器51为例;电子设备中的处理器51、存储器52、输入装置53和输出装置54可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器52作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的自动控制方法对应的程序指令/模块(例如,自动控制装置中的分割模块41、确定模块42和控制模块43)。处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的自动控制方法。
存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (13)
1.一种自动控制方法,其特征在于,包括:
对被控对象的交互界面进行分割,得到至少两个操作单元;
从至少两个所述操作单元中确定有效操作单元;
基于所述有效操作单元自动控制所述被控对象。
2.根据权利要求1所述的方法,其特征在于,对被控对象的交互界面进行分割,得到至少两个操作单元,包括:
获取所述交互界面的布局信息;
根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个所述操作单元;
其中,所述操作单元的形状为块状。
3.根据权利要求1所述的方法,其特征在于,在对被控对象的交互界面进行分割之前,还包括:
打开所述被控对象的交互界面;
获取所述被控对象的窗口句柄;
根据所述窗口句柄确定所述交互界面在显示屏上的位置。
4.根据权利要求1所述的方法,其特征在于,从至少两个所述操作单元中确定有效操作单元,包括:
根据预设顺序对各所述操作单元进行预设操作;
根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。
5.根据权利要求4所述的方法,其特征在于,根据预设顺序对各所述操作单元进行预设操作,包括:
调用键盘控制工具,以根据所述预设顺序对各所述操作单元进行预设操作;
监控对各所述操作单元进行所述预设操作时的界面变化特征。
6.根据权利要求4所述的方法,其特征在于,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型,包括:
若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;
将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型;
其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
7.根据权利要求6所述的方法,其特征在于,若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。
8.根据权利要求1所述的方法,其特征在于,在从至少两个所述操作单元中确定有效操作单元之后,还包括:
获取所述有效操作单元在所述交互界面上的位置;
将所述有效操作单元在所述交互界面上的位置与所述有效操作单元的操作类型的对应关系进行存储。
9.根据权利要求1所述的方法,其特征在于,在对被控对象的交互界面进行分割,得到至少两个操作单元之后,还包括:
确定所述操作单元的坐标参考点;
计算所述坐标参考点到所述交互界面的第一边的第一直线距离,以及所述坐标参考点到所述交互界面的第二边的第二直线距离;
根据所述第一直线距离与所述第二直线距离确定所述操作单元在所述交互界面上的位置。
10.根据权利要求1至9中任一项所述的方法,其特征在于,基于所述有效操作单元自动控制所述被控对象,包括:
获取控制需求;
根据所述控制需求,调用键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
11.一种自动控制装置,其特征在于,包括:
分割模块,用于对被控对象的交互界面进行分割,得到至少两个操作单元;
确定模块,用于从至少两个所述操作单元中确定有效操作单元;
控制模块,用于基于所述有效操作单元自动控制所述被控对象。
12.一种终端,其特征在于,包括权利要求11所述的自动控制装置。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032393.3A CN110794999B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032393.3A CN110794999B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110794999A true CN110794999A (zh) | 2020-02-14 |
CN110794999B CN110794999B (zh) | 2021-01-15 |
Family
ID=69441616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911032393.3A Active CN110794999B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110794999B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及系统 |
CN105912319A (zh) * | 2016-03-31 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 反向控制移动端页面的方法和装置 |
CN105988934A (zh) * | 2016-02-01 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 手游自动化检测方法及装置 |
CN106095666A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
US20170109271A1 (en) * | 2013-11-27 | 2017-04-20 | Ca, Inc. | User interface testing abstraction |
CN107544902A (zh) * | 2016-06-29 | 2018-01-05 | 阿里巴巴集团控股有限公司 | 程序测试方法、装置和设备 |
CN108810057A (zh) * | 2017-05-05 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 用户行为数据的采集方法、装置及存储介质 |
CN109857674A (zh) * | 2019-02-27 | 2019-06-07 | 上海优扬新媒信息技术有限公司 | 一种录制回放测试方法和相关装置 |
US20190294520A1 (en) * | 2016-11-29 | 2019-09-26 | International Business Machines Corporation | Packet flow tracing in a parallel processor complex |
-
2019
- 2019-10-28 CN CN201911032393.3A patent/CN110794999B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050076A (zh) * | 2013-03-12 | 2014-09-17 | 阿里巴巴集团控股有限公司 | 移动终端上的应用软件测试方法、装置及系统 |
US20170109271A1 (en) * | 2013-11-27 | 2017-04-20 | Ca, Inc. | User interface testing abstraction |
CN105988934A (zh) * | 2016-02-01 | 2016-10-05 | 腾讯科技(深圳)有限公司 | 手游自动化检测方法及装置 |
CN105912319A (zh) * | 2016-03-31 | 2016-08-31 | 百度在线网络技术(北京)有限公司 | 反向控制移动端页面的方法和装置 |
CN106095666A (zh) * | 2016-06-02 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 游戏自动化测试方法及相关装置 |
CN107544902A (zh) * | 2016-06-29 | 2018-01-05 | 阿里巴巴集团控股有限公司 | 程序测试方法、装置和设备 |
US20190294520A1 (en) * | 2016-11-29 | 2019-09-26 | International Business Machines Corporation | Packet flow tracing in a parallel processor complex |
CN108810057A (zh) * | 2017-05-05 | 2018-11-13 | 腾讯科技(深圳)有限公司 | 用户行为数据的采集方法、装置及存储介质 |
CN109857674A (zh) * | 2019-02-27 | 2019-06-07 | 上海优扬新媒信息技术有限公司 | 一种录制回放测试方法和相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110794999B (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110245409B (zh) | 一种基于虚拟现实与复杂网络的软件可靠性仿真分析方法 | |
CN110795000B (zh) | 基于界面分割的自动控制方法、装置及终端 | |
CN110197004B (zh) | 基于移动终端的电路仿真方法、装置、计算机介质及设备 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
US10921796B2 (en) | Component information retrieval device, component information retrieval method, and program | |
CN113449877A (zh) | 用于展示机器学习建模过程的方法及系统 | |
CN110825731A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109840201B (zh) | Ui测试方法、装置、电子设备及计算机可读存储介质 | |
CN112148241A (zh) | 灯光处理方法、装置、计算设备和存储介质 | |
CN110794999B (zh) | 基于界面分割的自动控制方法、装置及终端 | |
CN112149828B (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
CN111708704A (zh) | 一种云真机测试方法、装置、终端及存储介质 | |
CN111158827A (zh) | 一种图形组态工具关联计算值信息的方法及装置 | |
CN110928536A (zh) | 一种图形化编程作品在线评测装置、系统及方法 | |
CN115860877A (zh) | 一种产品营销方法、装置、设备及介质 | |
CN113064535B (zh) | 二维图表的游标展示方法、装置、电子设备及存储介质 | |
CN110321011A (zh) | 一种电力系统仿真场景下的虚拟现实交互方法及系统 | |
CN112445711A (zh) | 一种基于Web网页可视化拖拽生成模拟测试场景的测试方法 | |
CN112188192A (zh) | 码流适应性测试方法、系统、计算机设备及存储介质 | |
CN104142885A (zh) | 一种用于对被测程序进行异常测试的方法和装置 | |
CN104809060A (zh) | 应用上线指标的检测方法及装置 | |
CN108038012A (zh) | 数据校准方法及装置、电子设备和计算机可读存储介质 | |
CN115618583B (zh) | 一种能源系统仿真多时段参数处理方法及组件 | |
CN115145464B (zh) | 一种页面测试方法、装置、电子设备及存储介质 | |
CN113505329A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |