CN110795000B - 基于界面分割的自动控制方法、装置及终端 - Google Patents
基于界面分割的自动控制方法、装置及终端 Download PDFInfo
- Publication number
- CN110795000B CN110795000B CN201911032412.2A CN201911032412A CN110795000B CN 110795000 B CN110795000 B CN 110795000B CN 201911032412 A CN201911032412 A CN 201911032412A CN 110795000 B CN110795000 B CN 110795000B
- Authority
- CN
- China
- Prior art keywords
- interface
- point
- interactive interface
- effective
- determining
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开一种基于界面分割的自动控制方法、装置及终端。其中,该方法包括:识别被控对象的交互界面;将所述交互界面分割为至少两个操作点;从至少两个所述操作点中确定有效操作点;基于所述有效操作点自动控制所述被控对象。本发明自动识别被控对象的交互界面并将交互界面分割为至少两个操作点,确定其中的有效操作点,基于有效操作点对被控对象进行控制,由此通过将界面鼠标点击化实现了对被控对象的全自动控制,提高控制效率,并且将界面看成鼠标点击的点,能够对界面进行精准的分割,使得自动控制更为准确可靠。
Description
技术领域
本发明涉及自动控制技术领域,具体而言,涉及一种基于界面分割的自动控制方法、装置及终端。
背景技术
目前很多场景下都需要大量的操作软件,若通过手动控制软件来实现目的,耗时且效率较低。
例如,对于软件的测试,一般采用手动控制被测软件,测试效率较低,且手动控制需要考虑软件界面类型,如输入框输入和/或按钮点击,不同界面类型对应不同的手动控制操作,测试人员需要反应时间来切换操作,也会影响测试效率。
又如,对服务器进行并发性能评估时,需要结合底层设备发送原始帧。一般通过控制多个数据模拟器来模拟真实的底层设备同时或以相同间隔发送底层设备数据,从而实现对服务器并发性能进行评估。在服务器并发性能评估时,控制多个数据模拟器发送数据,数据量很大,若手动控制数据模拟器来进行数据发送,效率较低。
针对现有技术中手动控制软件导致效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供一种基于界面分割的自动控制方法、装置及终端,以解决现有技术中手动控制软件导致效率较低的问题。
为解决上述技术问题,本发明实施例提供了一种自动控制方法,包括:
识别被控对象的交互界面;
将所述交互界面分割为至少两个操作点;
从至少两个所述操作点中确定有效操作点;
基于所述有效操作点自动控制所述被控对象。
可选的,将所述交互界面分割为至少两个操作点,包括:
获取所述交互界面的布局信息;
根据所述布局信息确定分割间隔;
根据所述分割间隔将所述交互界面分割为至少两个所述操作点。
可选的,识别被控对象的交互界面,包括:
打开所述被控对象的交互界面;
获取所述被控对象的窗口句柄;
根据所述窗口句柄确定所述交互界面在显示屏上的位置。
可选的,从至少两个所述操作点中确定有效操作点,包括:
根据预设顺序对各所述操作点进行点击操作;
监控对各所述操作点进行点击操作时产生的界面变化特征;
根据所述界面变化特征确定所述有效操作点及其操作类型。
可选的,根据所述界面变化特征确定所述有效操作点及其操作类型,包括:
若对当前所述操作点进行点击操作时发生界面变化,则确定当前所述操作点为有效操作点;
将所述有效操作点对应的界面变化特征与预设特征库进行比较,以确定所述有效操作点的操作类型;其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
可选的,若相邻的操作点在点击时均发生界面变化且界面变化特征一致,则对所述相邻的操作点进行合并,将合并后的点作为所述有效操作点。
可选的,在从至少两个所述操作点中确定有效操作点之后,还包括:
计算所述有效操作点到所述交互界面的第一边的第一直线距离,以及所述有效操作点到所述交互界面的第二边的第二直线距离;
根据所述第一直线距离与所述第二直线距离确定所述有效操作点在所述交互界面上的位置;
将所述有效操作点在所述交互界面上的位置与所述有效操作点的操作类型的对应关系进行存储。
可选的,基于所述有效操作点自动控制所述被控对象,包括:
获取控制需求;
根据所述控制需求,调用鼠标控制工具和/或键盘控制工具,对所述交互界面上的有效操作点进行与该有效操作点的操作类型匹配的操作,以实现所述被控对象的自动控制。
本发明实施例还提供了一种自动控制装置,包括:
识别模块,用于识别被控对象的交互界面;
分割模块,用于将所述交互界面分割为至少两个操作点;
确定模块,用于从至少两个所述操作点中确定有效操作点;
控制模块,用于基于所述有效操作点自动控制所述被控对象。
本发明实施例还提供了一种终端,包括本发明实施例所述的自动控制装置。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明实施例所述的自动控制方法。
应用本发明的技术方案,自动识别被控对象的交互界面并将交互界面分割为至少两个操作点,确定其中的有效操作点,基于有效操作点对被控对象进行控制,由此通过将界面鼠标点击化实现了对被控对象的全自动控制,提高控制效率,并且将界面看成鼠标点击的点,能够对界面进行精准的分割,使得自动控制更为准确可靠。适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
附图说明
图1是本发明实施例一提供的基于界面分割的自动控制方法的流程图;
图2是本发明实施例一提供的基于鼠标点击化的自动控制方案的示意图;
图3是本发明实施例二提供的基于模拟键盘的自动控制方案的示意图;
图4是本发明实施例三提供的基于界面分割的自动控制装置的结构框图;
图5是本发明实施例四提供的电子设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种基于界面分割的自动控制方法,可用于实现被控对象的自动控制,具体是自动控制被控对象的界面元素,实现内容的自动输入、按钮的自动点击和界面的自动滚动等。图1是本发明实施例一提供的基于界面分割的自动控制方法的流程图,如图1所示,该方法包括以下步骤:
S101,识别被控对象的交互界面。
S102,将所述交互界面分割为至少两个操作点。
其中,被控对象可以是有大量操作需求的对象,例如待测试的软件或数据模拟器等。被控对象的交互界面可以通过显示器进行显示。从界面操作的角度来说,交互界面的界面类型可以包括:仅通过输入框进行操作、仅通过按钮点击进行操作、以及可同时通过输入框和按钮点击进行操作。相应的,交互界面可以包括:输入框和/或按钮,还可以包括滚动条,算作特殊的按钮形式,用于实现界面的左右滚动或上下滚动。
在实际应用中,被控对象可以包括多个交互界面,如登录界面、设置界面和搜索界面等,对每个交互界面都要进行分割。考虑到每个交互界面的具体布局不同,为了快速自动确定各交互界面的有效操作点,可以根据交互界面的布局情况来进行分割,具体的,获取所述交互界面的布局信息;根据所述布局信息确定分割间隔;根据所述分割间隔将所述交互界面分割为至少两个所述操作点。
上述布局信息可以包括:布局组件及组件信息,布局组件包括按钮、输入框和滚动条,组件信息是指组件的位置和大小。根据布局信息可以设置操作点的间隔,例如,交互界面中的按钮分布较为稀疏,则操作点的间隔可以设置大一些。此外,操作点的大小和形状可以提前设置,例如,直径为1mm的小圆点或者边长为1mm的小方点。示例性的,可以通过交互界面上的经纬线交叉点得到至少两个操作点(也可称为点状操作单元)。
可以理解的是,将交互界面分割为操作点,即通过模拟鼠标点击,将交互界面鼠标点击化,基于此来实现自动控制。
S103,从至少两个所述操作点中确定有效操作点。
本实施例中的有效操作点是指操作之后可产生界面变化的操作点,例如,点击操作点A时,有输入框颜色发生变化且出现光标,表示该操作点A产生界面变化,操作点A为有效操作点;又如,点击操作点B时,界面发生滚动,该操作点B为有效操作点;再如,点击操作点C时,有按钮发生颜色变化或界面变化(如显示“正在登录”),该操作点C为有效操作点。
S104,基于所述有效操作点自动控制所述被控对象。
本步骤具体可以通过以下方式来实现:获取控制需求;根据所述控制需求,调用鼠标控制工具和/或键盘控制工具,对所述交互界面上的有效操作点进行与该有效操作点的操作类型匹配的操作,以实现所述被控对象的自动控制。
其中,操作类型包括:输入内容、点击按钮或界面滚动。控制需求是指在目标位置执行目标操作,达到目标效果。例如,在目标输入框输入目标内容、点击目标按钮等。根据控制需求可以确定交互界面上需要被控制的有效操作点,然后对这些有效操作点进行相应的操作,即实现了被控对象的自动控制。对于全按钮的界面,仅调用鼠标控制工具即可,若有输入框,则需要结合键盘控制工具来辅助完成信息的输入。
示例性的,控制需求为输入账号和密码,点击登录,以对登录功能进行测试。根据控制需求确定交互界面上的账号输入框、密码输入框和登录按钮,然后调用鼠标控制工具和键盘控制工具,根据输入值文件依次将账号和密码导入到相应的输入框中,并控制点击登录按钮,监控是否成功登录。又如,控制需求为选择某个数据模拟器,由该数据模拟器发送某项数据,则根据控制需求确定交互界面上的选择按钮和数据输入框,然后调用鼠标控制工具点击选择按钮并调用键盘控制工具将相应的数据输入到数据输入框,以此来协助完成服务器并发性能的评估。
本实施例的自动控制方法,自动识别被控对象的交互界面并将交互界面分割为至少两个操作点,确定其中的有效操作点,基于有效操作点对被控对象进行控制,由此通过将界面鼠标点击化实现了对被控对象的全自动控制,提高控制效率,并且将界面看成鼠标点击的点,能够对界面进行精准的分割,使得自动控制更为准确可靠。本实施例适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
S101可以包括:打开所述被控对象的交互界面;获取所述被控对象的窗口句柄;根据所述窗口句柄确定所述交互界面在显示屏上的位置。具体可以调用第三方依赖包来获取窗口句柄。
本实施方式利用窗口句柄实现了对交互界面的定位,为后续的界面分割奠定了基础。
在一个可选的实施方式中,S103具体可以包括:根据预设顺序对各所述操作点进行点击操作;监控对各所述操作点进行点击操作时产生的界面变化特征;根据所述界面变化特征确定所述有效操作点及其操作类型。
其中,预设顺序可以是逐行操作、逐列操作或者随机操作等,只要保证能够对全部的操作点都操作一遍即可。在界面分割时可以为每个操作点设置唯一标识以进行区分,在进行点击操作时,遍历全部标识,即完成了所有操作点的点击操作。对操作点进行点击操作,相当于点击鼠标,即通过模拟鼠标点击来确认各操作点是否有效以及属于何种操作类型。界面变化特征可以是输入框颜色/位置/光标变化、按钮颜色变化、滚动条位置变化等。可调用第三方控制工具来对各操作点进行点击操作,例如鼠标控制依赖包。可以通过调用监控接口来监控对各操作点进行点击操作时的界面变化特征。
具体的,根据所述界面变化特征确定所述有效操作点及其操作类型,包括:若对当前所述操作点进行点击操作时发生界面变化,则确定当前所述操作点为有效操作点;将所述有效操作点对应的界面变化特征与预设特征库进行比较,以确定所述有效操作点的操作类型。其中,预设特征库中存储有界面变化与操作类型的对应关系。所述有效操作点对应的界面变化特征,即对所述有效操作点进行点击操作产生的界面变化特征。
本实施方式通过对操作点进行点击操作及产生的界面变化来确定操作点是否有效,并确定有效操作点对应的操作类型,由此基于鼠标点击化的界面分割实现了界面中的可控区域的自动确定,利于进一步实现被控对象的自动控制。
若相邻的操作点进行点击时均发生界面变化且界面变化特征一致,则对所述相邻的操作点进行合并,将合并后的点作为所述有效操作点。由此,能够将被拆分的同一功能的输入框(或按钮)合并构成一个有效操作点,便于后续的自动化控制。
进一步的,在确定有效操作点之后,可以计算所述有效操作点到所述交互界面的第一边的第一直线距离,以及所述有效操作点到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述有效操作点在所述交互界面上的位置;将所述有效操作点在交互界面上的位置与所述有效操作点的操作类型的对应关系进行存储。从而基于该对应关系,在后续的自动控制过程中根据控制需求对有效操作点进行定位以及相应的控制,以实现被控对象的自动控制。
操作点的位置可以坐标来表示,即第一直线距离和第二直线距离构成坐标。在实际应用中,可以在分割得到至少两个操作点之后确定所有操作点的位置;也可以在确定有效操作点之后仅确定有效操作点的位置。
为了进一步提高控制效率,对于全输入框的被控对象或者全按钮的被控对象,可以将各操作点的坐标函数化,根据函数化结果自动对各操作点进行排序,按照排序来对各操作点进行点击操作;根据点击操作产生的界面变化特征确定有效操作点及其操作类型。
需要说明的是,上述方法可以通过python语言、c语言或java编辑自动控制脚本来实现,根据语言不同可以调用相应的第三方依赖包来实现界面定位或控制操作点。本发明实施例的基于界面分割的自动控制方案适用于任意以按钮和/或输入框为主的软件。
参考图2,通过自动化脚本将被控对象的交互界面鼠标点击化(即分割为操作点),确定有效操作点,进而实现自动控制。其中,交互界面的定位以及对有效操作点的操作可以通过调用第三方依赖包实现。具体可以通过接口来监控对有效操作点进行点击操作时的界面变化特征。
实施例二
在实施例一的基础上,本实施例提供了将交互界面分割为块状操作单元(可称为操作块)的实施方式,块状包括:正方形、矩形、菱形或梯形等规则形状。可以理解的是,将交互界面分割为块状操作单元,即通过将交互界面模拟为键盘控制来实现自动控制。下面对基于模拟键盘的自动控制方法进行说明。
(1)打开被控对象的交互界面,获取所述被控对象的窗口句柄;根据所述窗口句柄确定所述交互界面在显示屏上的位置。具体可通过调用第三方依赖包来获取窗口句柄,实现交互界面的定位。
(2)获取所述交互界面的布局信息;根据预设分割规则与所述布局信息对所述交互界面进行分割,得到至少两个操作单元;其中,每个所述操作单元均为块状。
根据布局信息可以设置分割大小,即操作单元的大小,例如,交互界面中的按钮分布较为稀疏,则分割大小可以设置大一些。预设分割规则包括分割形状及对应的分割方式,例如,分割形状为正方形,对应的分割方式为经纬线交叉。
各操作单元的形状、大小,可以相同,也可以不同,较优的,分割为形状、大小均相同的操作单元,便于处理。本实施例中,每个操作单元的形状均为块状,块状包括:正方形、矩形、菱形或梯形等规则形状。
(3)从至少两个所述操作单元中确定有效操作单元。
具体的,根据预设顺序对各所述操作单元进行预设操作,根据所述预设操作产生的界面变化特征确定所述有效操作单元及其操作类型。其中,预设顺序可以是逐行操作、逐列操作或者随机操作等,只要保证能够对全部的操作单元都操作一遍即可。在界面分割时可以为每个操作单元设置唯一标识以进行区分,在进行预设操作时,遍历全部标识,即完成了所有操作单元的预设操作。对于块状操作单元,预设操作相当于按压键盘上的按键,即通过模拟键盘的控制来确定各操作单元是否有效以及属于何种操作类型。界面变化特征可以是输入框颜色/位置变化、按钮颜色变化、滚动条位置变化等。操作类型包括:输入内容、点击按钮或界面滚动。可调用第三方控制工具来对各操作单元进行预设操作,例如键盘控制依赖包。可以通过调用监控接口来监控对各操作单元进行预设操作时的界面变化特征。
进一步的,根据所述界面变化特征确定所述有效操作单元及其操作类型,包括:若对当前所述操作单元进行预设操作时发生界面变化,则确定当前所述操作单元为有效操作单元;将所述有效操作单元对应的界面变化特征与预设特征库进行比较,以确定所述有效操作单元的操作类型。其中,预设特征库中存储有界面变化与操作类型的对应关系。
由此通过对操作单元的预设操作及产生的界面变化来确定操作单元是否有效,并确定有效操作单元对应的操作类型,由此基于模拟键盘的界面分割实现了界面中的可控区域的自动确定,利于进一步实现被控对象的自动控制。
进一步的,在确定有效操作单元之后,可以获取有效操作单元在交互界面上的位置,将有效操作单元在交互界面上的位置与有效操作单元的操作类型的对应关系进行存储。以在自动控制过程中根据控制需求对有效操作单元进行定位和控制。在实际应用中,可以在分割得到至少两个操作单元之后确定所有操作单元的位置;也可以在确定有效操作单元之后仅确定有效操作单元的位置。
具体可以通过以下步骤确定操作单元的位置:确定所述操作单元的坐标参考点;计算所述坐标参考点到所述交互界面的第一边的第一直线距离,以及所述坐标参考点到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述操作单元在交互界面上的位置,即第一直线距离和第二直线距离构成坐标。
其中,坐标参考点可以是块状操作单元的中心点,也可以是约定的某个边缘点。一般交互界面有四条边,示例性的,计算坐标参考点距离交互界面最左边的距离值,以及坐标参考点距离交互界面最上边的距离值,得到操作单元的坐标。
若相邻的操作单元均对应界面变化且界面变化特征一致,则对所述相邻的操作单元进行合并,将合并后的单元作为所述有效操作单元。由此,能够将被拆分的同一功能的输入框(或按钮)合并构成一个有效操作单元,便于后续的自动化控制。
(4)基于所述有效操作单元自动控制所述被控对象。
具体的,获取控制需求;根据所述控制需求,调用键盘控制工具,对所述交互界面上的有效操作单元进行与该有效操作单元的操作类型匹配的操作,以实现所述被控对象的自动控制。
控制需求是指在目标位置执行目标操作,达到目标效果。例如,在目标输入框输入目标内容、点击目标按钮等。根据控制需求可以确定交互界面上需要被控制的有效操作单元,然后对这些有效操作单元进行相应的操作,即实现了被控对象的自动控制。
示例性的,控制需求为输入账号和密码,点击登录,以对登录功能进行测试。根据控制需求确定交互界面上的账号输入框、密码输入框和登录按钮,然后调用键盘控制工具,根据输入值文件依次将账号和密码导入到相应的输入框中,并控制点击登录按钮,监控是否成功登录。又如,控制需求为选择某个数据模拟器,由该数据模拟器发送某项数据,则根据控制需求确定交互界面上的选择按钮和数据输入框,然后调用键盘控制工具点击选择按钮并将相应的数据输入到数据输入框,以此来协助完成服务器并发性能的评估。
为了进一步提高控制效率,对于全输入框的被控对象或者全按钮的被控对象,可以将各操作单元的坐标函数化,根据函数化结果自动对各操作单元进行排序,按照排序来对各操作单元进行预设操作;根据预设操作产生的界面变化确定有效操作单元及其操作类型。
需要说明的是,上述方法可以通过python语言、c语言或java编辑自动控制脚本来实现,根据语言不同可以调用相应的第三方依赖包来实现界面定位或控制操作单元。本发明实施例的基于界面分割的自动控制方案适用于任意以按钮和/或输入框为主的软件。
参考图3,通过自动化脚本将被控对象的交互界面分割为块状操作单元,确定有效操作单元,进而实现自动控制。其中,交互界面的定位以及对有效操作单元的操作可以通过调用第三方依赖包实现。具体可以通过接口来监控对有效操作单元进行操作时的界面变化特征。
本实施例通过将被控对象的交互界面分割为至少两个块状操作单元,确定其中的有效操作单元,基于有效操作单元对被控对象进行控制,通过模拟键盘实现了对被控对象多次操作的全自动控制,提高控制效率。适用于各种界面类型,降低了控制过程中受界面类型的限制程度。
需要说明的是,对于同一交互界面所分割得到的操作单元,可以全部为块状,也可以全部为点状,也可以一部分是块状,另一部分是点状。对于一部分是块状一部分是点状的情况,其中块状操作单元和点状操作单元的相关处理分别参见上述实施例所述,此处不再赘述。
实施例三
基于同一发明构思,本实施例提供了一种基于界面分割的自动控制装置,可以用于实现上述实施例所述的自动控制方法。该装置可以通过软件和/或硬件实现,该装置一般可集成于终端中。
图4是本发明实施例三提供的基于界面分割的自动控制装置的结构框图,如图4所示,该装置包括:
识别模块41,用于识别被控对象的交互界面;
分割模块42,用于将所述交互界面分割为至少两个操作点;
确定模块43,用于从至少两个所述操作点中确定有效操作点;
控制模块44,用于基于所述有效操作点自动控制所述被控对象。
可选的,分割模块42包括:
第一获取单元,用于获取所述交互界面的布局信息;
第一确定单元,用于根据所述布局信息确定分割间隔;
分割单元,用于根据所述分割间隔将所述交互界面分割为至少两个所述操作点。
可选的,识别模块41包括:
打开单元,用于打开所述被控对象的交互界面;
第二获取单元,用于在对被控对象的交互界面进行分割之前,获取所述被控对象的窗口句柄;
定位单元,用于根据所述窗口句柄确定所述交互界面在显示屏上的位置。
可选的,确定模块43包括:
处理单元,用于根据预设顺序对各所述操作点进行点击操作;
监控单元,用于监控对各所述操作点进行点击操作时产生的界面变化特征;
第二确定单元,用于根据所述界面变化特征确定所述有效操作点及其操作类型。
进一步的,处理单元具体用于:调用控制工具,以根据所述预设顺序对各所述操作点进行点击操作;监控单元具体用于调用监控接口以监控对各所述操作点进行所述点击操作时的界面变化特征。
进一步的,第二确定单元包括:
确定子单元,用于若对当前所述操作点进行点击操作时发生界面变化,则确定当前所述操作点为有效操作点;
比较子单元,用于将所述有效操作点对应的界面变化特征与预设特征库进行比较,以确定所述有效操作点的操作类型。其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
可选的,确定子单元还用于:若相邻的操作点在点击时均发生界面变化且界面变化特征一致,则对所述相邻的操作点进行合并,将合并后的点作为所述有效操作点。
可选的,上述装置还包括:
计算模块,用于在从至少两个所述操作点中确定有效操作点之后,计算所述有效操作点到所述交互界面的第一边的第一直线距离,以及所述有效操作点到所述交互界面的第二边的第二直线距离;根据所述第一直线距离与所述第二直线距离确定所述有效操作点在所述交互界面上的位置;
存储模块,用于将所述有效操作点在所述交互界面上的位置与所述有效操作点的操作类型的对应关系进行存储。
可选的,控制模块44包括:
第三获取单元,用于获取控制需求;
控制单元,用于根据所述控制需求,调用鼠标控制工具和/或键盘控制工具,对所述交互界面上的有效操作点进行与该有效操作点的操作类型匹配的操作,以实现所述被控对象的自动控制。
上述装置可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例提供的方法。
本实施例还提供一种终端,包括上述自动控制装置。该终端可以存储并展示被控对象的交互界面。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
实施例四
本实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如本发明实施例所述的基于界面分割的自动控制方法。
本实施例还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如本发明实施例所述的基于界面分割的自动控制方法。
图5是本发明实施例四提供的电子设备的结构示意图,如图5所示,该电子设备包括处理器51、存储器52、输入装置53和输出装置54;电子设备中处理器51的数量可以是一个或多个,图5中以一个处理器51为例;电子设备中的处理器51、存储器52、输入装置53和输出装置54可以通过总线或其他方式连接,图5中以通过总线连接为例。
存储器52作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的自动控制方法对应的程序指令/模块(例如,自动控制装置中的识别模块41、分割模块42、确定模块43和控制模块44)。处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的自动控制方法。
存储器52可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置53可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置54可包括显示屏等显示设备。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种自动控制方法,其特征在于,包括:
识别被控对象的交互界面;
将所述交互界面分割为至少两个操作点;
从至少两个所述操作点中确定有效操作点;
基于所述有效操作点自动控制所述被控对象;
其中,从至少两个所述操作点中确定有效操作点,包括:
根据预设顺序对各所述操作点进行点击操作;
监控对各所述操作点进行点击操作时产生的界面变化特征;
根据所述界面变化特征确定所述有效操作点及其操作类型;
若相邻的操作点在点击时均发生界面变化且界面变化特征一致,则对所述相邻的操作点进行合并,将合并后的点作为所述有效操作点。
2.根据权利要求1所述的方法,其特征在于,将所述交互界面分割为至少两个操作点,包括:
获取所述交互界面的布局信息;
根据所述布局信息确定分割间隔;
根据所述分割间隔将所述交互界面分割为至少两个所述操作点。
3.根据权利要求1所述的方法,其特征在于,识别被控对象的交互界面,包括:
打开所述被控对象的交互界面;
获取所述被控对象的窗口句柄;
根据所述窗口句柄确定所述交互界面在显示屏上的位置。
4.根据权利要求1所述的方法,其特征在于,根据所述界面变化特征确定所述有效操作点及其操作类型,包括:
若对当前所述操作点进行点击操作时发生界面变化,则确定当前所述操作点为有效操作点;
将所述有效操作点对应的界面变化特征与预设特征库进行比较,以确定所述有效操作点的操作类型;
其中,所述操作类型包括:输入内容、点击按钮或界面滚动。
5.根据权利要求1所述的方法,其特征在于,在从至少两个所述操作点中确定有效操作点之后,还包括:
计算所述有效操作点到所述交互界面的第一边的第一直线距离,以及所述有效操作点到所述交互界面的第二边的第二直线距离;
根据所述第一直线距离与所述第二直线距离确定所述有效操作点在所述交互界面上的位置;
将所述有效操作点在所述交互界面上的位置与所述有效操作点的操作类型的对应关系进行存储。
6.根据权利要求1至5中任一项所述的方法,其特征在于,基于所述有效操作点自动控制所述被控对象,包括:
获取控制需求;
根据所述控制需求,调用鼠标控制工具和/或键盘控制工具,对所述交互界面上的有效操作点进行与该有效操作点的操作类型匹配的操作,以实现所述被控对象的自动控制。
7.一种自动控制装置,其特征在于,包括:
识别模块,用于识别被控对象的交互界面;
分割模块,用于将所述交互界面分割为至少两个操作点;
确定模块,用于从至少两个所述操作点中确定有效操作点;
控制模块,用于基于所述有效操作点自动控制所述被控对象;
其中,所述确定模块包括:
处理单元,用于根据预设顺序对各所述操作点进行点击操作;
监控单元,用于监控对各所述操作点进行点击操作时产生的界面变化特征;
第二确定单元,用于根据所述界面变化特征确定所述有效操作点及其操作类型;
若相邻的操作点在点击时均发生界面变化且界面变化特征一致,则对所述相邻的操作点进行合并,将合并后的点作为所述有效操作点。
8.一种终端,其特征在于,包括权利要求7所述的自动控制装置。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032412.2A CN110795000B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911032412.2A CN110795000B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110795000A CN110795000A (zh) | 2020-02-14 |
CN110795000B true CN110795000B (zh) | 2021-03-12 |
Family
ID=69441619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911032412.2A Active CN110795000B (zh) | 2019-10-28 | 2019-10-28 | 基于界面分割的自动控制方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110795000B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111489442A (zh) * | 2020-03-27 | 2020-08-04 | 杭州群核信息技术有限公司 | 一种精准分割对象的操作系统与方法 |
CN111859214A (zh) * | 2020-06-24 | 2020-10-30 | 北京金山云网络技术有限公司 | 网页浏览器的加载方法、装置、设备及存储介质 |
CN113569861B (zh) * | 2021-08-03 | 2022-12-06 | 天翼爱音乐文化科技有限公司 | 一种移动应用违规内容扫描方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677781A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 自动化测试的图形用户界面及其创建方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8347147B2 (en) * | 2009-03-09 | 2013-01-01 | Wipro Limited | Lifecycle management of automated testing |
US9311222B1 (en) * | 2013-11-27 | 2016-04-12 | Ca, Inc. | User interface testing abstraction |
CN105988924B (zh) * | 2015-02-10 | 2018-12-28 | 中国船舶工业综合技术经济研究院 | 一种非侵入式嵌入式软件图形用户界面自动化测试方法 |
CN106201898B (zh) * | 2016-07-26 | 2018-12-04 | 北京班墨科技有限责任公司 | 一种基于人工智能的测试软件的方法及装置 |
US20190034213A1 (en) * | 2016-10-03 | 2019-01-31 | App Onboard, Inc. | Application reproduction in an application store environment |
CN109857674A (zh) * | 2019-02-27 | 2019-06-07 | 上海优扬新媒信息技术有限公司 | 一种录制回放测试方法和相关装置 |
-
2019
- 2019-10-28 CN CN201911032412.2A patent/CN110795000B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677781A (zh) * | 2012-09-21 | 2014-03-26 | 上海斐讯数据通信技术有限公司 | 自动化测试的图形用户界面及其创建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110795000A (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628741B (zh) | 网页页面测试方法、装置、电子设备和介质 | |
CN108959068B (zh) | 软件界面测试方法、设备及存储介质 | |
CN110795000B (zh) | 基于界面分割的自动控制方法、装置及终端 | |
CN109408384B (zh) | 软件应用的测试方法、装置、处理器及电子装置 | |
CN112749081B (zh) | 用户界面测试方法及相关装置 | |
WO2021010390A1 (ja) | 自動判別処理装置、自動判別処理方法、検査システム、プログラム、および記録媒体 | |
CN107807841B (zh) | 服务器模拟方法、装置、设备及可读存储介质 | |
CN114546738A (zh) | 服务器通用测试方法、系统、终端及存储介质 | |
CN110248235B (zh) | 软件教学方法、装置、终端设备及介质 | |
CN110866205A (zh) | 用于存储信息的方法和装置 | |
US11907621B2 (en) | Electronic product testing systems for providing automated product testing | |
CN113919158A (zh) | 一种用于飞行控制面板的仿真方法、装置及存储介质 | |
CN112988568A (zh) | 游戏测试方法、装置及电子设备 | |
CN110794999B (zh) | 基于界面分割的自动控制方法、装置及终端 | |
CN112149828A (zh) | 基于深度学习框架的算子精度检测方法和装置 | |
CN117033309A (zh) | 一种数据转换方法、装置、电子设备及可读存储介质 | |
CN107317811B (zh) | 一种模拟plc的实现方法 | |
CN115495362A (zh) | 生成测试代码的方法、装置、存储介质及计算机设备 | |
CN104142885A (zh) | 一种用于对被测程序进行异常测试的方法和装置 | |
CN112188192A (zh) | 码流适应性测试方法、系统、计算机设备及存储介质 | |
CN110968519A (zh) | 一种游戏测试方法、装置、服务器及存储介质 | |
CN111666471A (zh) | 信息采集方法、装置、计算机设备及存储介质 | |
CN113434432B (zh) | 一种推荐平台的性能测试方法、装置、设备、及介质 | |
CN113986112B (zh) | 软键盘显示方法、相关装置及计算机程序产品 | |
CN111026307B (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 |