操控记录方法及自动执行操控方法转让专利

申请号 : CN201611197685.9

文献号 : CN107632851A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴景弘赖宥羽刘桂君黄筱涵黎伟权

申请人 : 财团法人工业技术研究院

摘要 :

本发明提出一种操控记录方法及自动执行操控方法一实施例,该自动执行操控方法包括:读取操控记录文件,该操控记录文件包括组件布局记录、操控事件,及对应于该操控事件的节点位置符;撷取由电子装置的辅助功能接口传送的组件布局信息,该组件布局信息对应于操作画面;依据该组件布局记录与该组件布局信息,判断该组件布局记录是否对应该操作画面;只在该操作画面与该组件布局记录对应的情况下,依据该操控事件及该节点位置符传送操控执行指令,并由该辅助功能接口执行。

权利要求 :

1.一种操控记录方法,用于电子装置,其特征在于,该电子装置具有经配置以执行辅助功能服务(Accessibility Service)的辅助功能接口,以及经配置以显示操作画面的显示器,该操作画面具有供用户操控的数个用户接口(User Interface,UI)组件,该些UI组件间构成树状阶层关系,该辅助功能接口依据用户操控的UI组件发送操控信息,所述操控记录方法包括:撷取该操控信息;

依据该操控信息及该树状阶层关系,判断用户操控的操控事件、该些UI组件中对应该操控事件的该UI组件,并指派节点位置符对应该操控事件;以及在操控记录文件中写入该操控事件及该节点位置符。

2.如权利要求1所述的操控记录方法,其中该操控信息包括对应于该操作画面的组件布局信息、该操控事件,及对应于该操控事件的哈希码,该组件布局信息包括该操作画面的该些UI组件分别对应的数个哈希码,及该操作画面的该些UI组件分别对应的数个组件类型,并且,其中指派该节点位置符对应该操控事件时还包括:依据该树状阶层关系、与该组件布局信息中每一UI组件的组件类型分别指派该操作画面的每一UI组件对应的节点位置符;以及依据该组件布局信息中每一UI组件对应的哈希码、该组件布局信息的每一UI组件对应的节点位置符,比对对应于该操控事件的哈希码与该组件布局信息中每一UI组件对应的哈希码,判断该些UI组件中对应该操控事件的该UI组件,并指派对应该操控事件的该UI组件的节点位置符为对应该操控事件的节点位置符。

3.如权利要求2所述的操控记录方法,其中只在判断该操控事件为点击、聚焦或长点击的情况下,执行步骤依据该操控信息判断用户的操控事件及该些UI组件中对应该操控事件的该UI组件,并依据对应该操控事件的该UI组件与该树状阶层关系指派该节点位置符。

4.如权利要求2所述的操控记录方法,其中分别指派该操作画面的每一UI组件对应的节点位置符时包括:记录该每一UI组件在该树状阶层关系中所隶属的各阶层母节点;

记录该每一UI组件在所属阶层中的位置;以及

依据该每一UI组件所隶属的各阶层母节点及该每一UI组件在所属阶层中的位置指派该每一UI组件的节点位置符,该节点位置符为所述各阶层母节点与该每一UI组件在所属阶层中的位置的集合。

5.如权利要求2所述的操控记录方法,其特征在于,还包括:

暂存该操控事件、该节点位置符、该组件布局信息及该操作画面的每一UI组件对应的节点位置符;以及在该操控记录文件中写入该操作画面的每一UI组件对应的节点位置符。

6.如权利要求5所述的操控记录方法,其中还在该操控记录文件中写入隶属于每一UI组件的子节点数。

7.如权利要求1所述的操控记录方法,其中该辅助功能接口为Android辅助功能接口(Android Accessibility Service Interface)。

8.一种自动执行操控方法,用于电子装置,其特征在于,该电子装置包括经配置以执行辅助功能服务的辅助功能接口,以及经配置以显示操作画面的显示器,该操作画面具有可供操控的数个用户接口组件,该些UI组件间构成树状阶层关系,该方法包括:读取操控记录文件,该操控记录文件包括至少一操控事件、对应于该至少一操控事件的至少一节点位置符,及对应于该至少一操控事件的至少一组件布局记录;

撷取由该辅助功能接口传送的组件布局信息,该组件布局信息对应于该操作画面;

依据该至少一组件布局记录与该组件布局信息,判断该组件布局记录是否对应该操作画面;以及只在该操作画面与该至少一组件布局记录对应的情况下,依据该至少一操控事件及该节点位置符传送操控执行指令至该辅助功能接口,以使该辅助功能接口执行该操控执行指令。

9.如权利要求8所述的自动执行操控方法,其中该至少一组件布局记录包括至少一节点位置符,及对应该至少一节点位置符的至少一子节点数,且其中依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该操作画面,还包括:依据该至少一组件布局记录的每一节点位置符,判断在该组件布局信息中分别对应每一节点位置符的该些UI组件,并取得每一该些UI组件的子节点数;

比对该至少一组件布局记录的每一子节点数与对应的UI组件的子节点数是否相同;以及在该至少一组件布局记录的每一子节点数与对应的UI组件的子节点数相同时,判断该至少一组件布局记录对应该操作画面。

10.如权利要求9所述的自动执行操控方法,其特征在于,还包括执行计时并且计算判断时间,步骤依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该操作画面还包括:在该至少一组件布局记录的每一子节点数与对应的UI组件的子节点数不相同,且该判断时间大于时限值时,结束该自动执行操控方法;以及在该至少一组件布局记录的每一子节点数与对应的UI组件的子节点数不相同,且该判断时间不大于该时限值时,执行移动画面指令移动该操作画面,并再执行步骤撷取由该辅助功能接口传送的该组件布局信息,及步骤依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该操作画面。

11.如权利要求8所述的自动执行操控方法,其中步骤只在该操作画面与该至少一组件布局记录对应的情况下,依据该至少一操控事件传送该操控执行指令至该辅助功能接口,以使该辅助功能接口执行该操控执行指令时,还包括:依据该组件布局信息及该阶层树状关系将该至少一节点位置符转换为对应的UI组件,并依据该至少一操控事件及对应于该至少一节点位置符的该UI组件传送该操控执行指令至该辅助功能接口;以及该辅助功能接口执行该操控执行指令。

12.如权利要求8所述的自动执行操控方法,其中该操控记录文件的该至少一操控事件是包括第一操控事件,及至少一第二操控事件,该操控记录文件的该至少一节点位置符包括对应于该第一操控事件的第一节点位置符,及对应于该至少一第二操控事件的至少一第二节点位置符,该操控记录文件的该至少一组件布局记录包括对应于该第一操控事件的第一组件布局记录,及对应于该至少一第二操控事件的至少一第二组件布局记录,其中读取操控记录文件包括读取该第一操控事件、该第一节点位置符,及该第一组件布局记录,该自动执行操控方法还包括:读取该至少一第二操控事件、该至少一第二节点位置符,及该至少一第二组件布局信息;

依据被读取的该至少一第二组件布局记录与该组件布局信息,判断被读取的该至少一第二组件布局记录是否对应该操作画面;以及只在该操作画面与被读取的该至少一第二组件布局记录对应的情况下,依据被读取的该至少一第二操控事件及被读取的该至少一第二节点位置符传送第二操控执行指令至该辅助功能接口,以使该辅助功能接口执行该第二操控执行指令。

13.如权利要求12所述的自动执行操控方法,其特征在于,还包括:

判断该操控记录文件是否存在未被读取的该至少一第二操控事件;

在判断存在未被读取的该至少一第二操控事件时,执行读取该至少一第二操控事件、该至少一第二节点位置符,及该至少一第二组件布局信息;以及在判断不存在未被读取的该至少一第二操控事件时结束该自动执行操控方法。

14.如权利要求9所述的自动执行操控方法,其中该节点位置符为阶层母节点信息及阶层位置信息的集合,其中判断在该组件布局信息中分别对应每一节点位置符的该些UI组件,并取得每一该些UI组件的子节点数时,还包括:依据该每一节点位置符与该树状阶层关系,判断该每一节点位置符在该树状阶层关系中指示的节点位置,并依据指示的该节点位置取得对应的UI组件。

15.如权利要求8所述的自动执行操控方法,其中该辅助功能接口为Android辅助功能接口。

16.一种自动执行操控方法,用于电子装置,其特征在于,该电子装置包括经配置以执行辅助功能服务(Accessibility Service)的辅助功能接口,以及经配置以显示第一操作画面的显示器,该第一操作画面包括经配置以供操控的至少一第一用户接口(User Interface,UI)组件,该方法包括:回应于执行该第一UI组件,该电子装置显示第二操作画面,并且该第二操作画面具有数个第二UI组件,该些第二UI组件间构成树状阶层关系;

读取操控记录文件,该操控记录文件包括至少一操控事件、对应于该至少一操控事件的至少一节点位置符,及对应于该至少一操控事件的至少一组件布局记录;

撷取由该辅助功能接口传送的组件布局信息,该组件布局信息对应于该第二操作画面;

依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该第二操作画面;以及只在该第二操作画面与该至少一组件布局记录对应的情况下,依据该至少一操控事件及该节点位置符传送操控执行指令至该辅助功能接口,以使该辅助功能接口执行该操控执行指令。

17.如权利要求16所述的自动执行操控方法,其中该至少一组件布局记录包括至少一节点位置符,及对应该至少一节点位置符的至少一子节点数,其中依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该第二操作画面时,还包括:依据该至少一组件布局记录的每一节点位置符,判断在该组件布局信息中分别对应每一节点位置符的该些第二UI组件,并取得每一该些第二UI组件的子节点数;

比对该至少一组件布局记录的每一子节点数与对应的第二UI组件的子节点数是否相同;以及在该至少一组件布局记录的每一子节点数与对应的第二UI组件的子节点数相同时,判断该至少一组件布局记录对应该第二操作画面。

18.如权利要求17所述的自动执行操控方法,其特征在于,还包括:执行计时并且计算判断时间,其中依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该第二操作画面时,还包括:在该至少一组件布局记录的每一子节点数与对应的第二UI组件的子节点数不相同,且该判断时间大于时限值时,结束该自动执行操控方法;以及在该至少一组件布局记录的每一子节点数与对应的第二UI组件的子节点数不相同,且该判断时间不大于该时限值时,执行移动画面指令移动该第二操作画面,并再执行撷取由该辅助功能接口传送的该组件布局信息,及依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该第二操作画面。

19.如权利要求16所述的自动执行操控方法,其中依据该至少一操控事件传送该操控执行指令至该辅助功能接口,以使该辅助功能接口执行该操控执行指令时,还包括:依据该组件布局信息及该阶层树状关系将该至少一节点位置符转换为对应的第二UI组件,并依据该至少一操控事件及对应于该至少一节点位置符的该第二UI组件传送该操控执行指令至该辅助功能接口;以及该辅助功能接口执行该操控执行指令。

20.如权利要求17所述的自动执行操控方法,其中该操控记录文件的该至少一操控事件是包括第一操控事件,及至少一第二操控事件,该操控记录文件的该至少一节点位置符包括对应于该第一操控事件的第一节点位置符,及对应于该至少一第二操控事件的至少一第二节点位置符,该操控记录文件的该至少一组件布局记录包括对应于该第一操控事件的第一组件布局记录,及对应于该至少一第二操控事件的至少一第二组件布局记录,其中读取操控记录文件包括读取该第一操控事件、该第一节点位置符,及该第一组件布局记录,该自动执行操控方法还包括:读取该至少一第二操控事件、该至少一第二节点位置符,及该至少一第二组件布局信息;

依据被读取的该至少一第二组件布局记录与该组件布局信息,判断被读取的该至少一第二组件布局记录是否对应该第二操作画面;以及只在该第二操作画面与被读取的该至少一第二组件布局记录对应的情况下,依据被读取的该至少一第二操控事件及被读取的该至少一第二节点位置符传送第二操控执行指令至该辅助功能接口,以使该辅助功能接口执行该第二操控执行指令。

21.如权利要求20所述的自动执行操控方法,其特征在于,还包括:

判断该操控记录文件是否存在未被读取的该至少一第二操控事件;

在判断存在未被读取的该至少一第二操控事件时,执行步骤读取该至少一第二操控事件、该至少一第二节点位置符,及该至少一第二组件布局信息;以及在判断不存在未被读取的该至少一第二操控事件时结束该自动执行操控方法。

22.如权利要求20所述的自动执行操控方法,其中该节点位置符为阶层母节点信息及阶层位置信息的集合,且其中判断在该组件布局信息中分别对应每一节点位置符的该些第二UI组件,并取得每一该些第二UI组件的子节点数时,还包括:依据该每一节点位置符与该树状阶层关系,判断该每一节点位置符在该树状阶层关系中指示的节点位置,并依据指示的该节点位置取得对应的第二UI组件。

23.如权利要求17所述的自动执行操控方法,其中该辅助功能接口为Android辅助功能接口。

说明书 :

操控记录方法及自动执行操控方法

技术领域

[0001] 本发明是有关于一种操控记录方法,及一种自动执行操控方法。

背景技术

[0002] 智能型手机或平板与无线网络的结合已普遍被使用,许多服务商为方便顾客可通过网络取得服务,各自推出手机平台的相关应用程序(Application)供消费者使用。以金融业为例,各家银行各自推出手机平台的网络银行应用程序,用户对每一银行的网络银行设定各自的账号与密码,并在使用时输入身份号、账号与密码认证登入后,才可开始执行操作与取得服务,对于拥有多家银行账户的用户而言,在查询各银行的各笔资料,或在不同银行间确认款项是否成功转移的情况,用户必须同时登入不同手机平台的网络银行应用程序之外,还需执行切换,因此对用户而言登入与操作流程变得加倍繁琐与费时。

发明内容

[0003] 本发明提供一种操控记录方法,及一种自动执行操控方法。
[0004] 在一示范的实施例中,依据本发明的一种操控记录方法,其用于电子装置。该电子装置具有经配置以执行辅助功能服务(Accessibility Service)的辅助功能接口,以及经配置以显示操作画面的显示器,该操作画面具有可供用户操控的数个用户接口(User Interface,UI)组件,该些UI组件间构成树状阶层关系,该辅助功能接口依据用户操控的组件发送操控信息。所述操控记录方法包括:撷取该操控信息;依据该操控信息及该树状阶层关系,判断用户操控的操控事件、该些UI组件中对应该操控事件的该UI组件,并指派节点位置符(Node Identifier)对应该操控事件;以及在操控记录文件中写入该操控事件及该节点位置符。
[0005] 在一示范的实施例中,依据本发明的一种自动执行操控方法,用于电子装置,该电子装置包括经配置以执行辅助功能服务(Accessibility Service)的辅助功能接口,以及经配置以显示操作画面的显示器,该操作画面包括经配置以供操控的数个用户接口(User Interface,UI)组件,该些UI组件间构成树状阶层关系。该自动执行操控方法包括:读取操控记录文件,该操控记录文件包括至少一操控事件、对应于该至少一操控事件的至少一节点位置符,及对应于该至少一操控事件的至少一组件布局记录;撷取由该辅助功能接口传送的组件布局信息,该组件布局信息对应于该操作画面;依据该至少一组件布局记录与该组件布局信息,判断该组件布局记录是否对应该操作画面;以及只在该操作画面与该至少一组件布局记录对应的情况下,依据该至少一操控事件及该节点位置符传送操控执行指令至该辅助功能接口,且以使该辅助功能接口执行该操控执行指令。
[0006] 在另一示范的实施例中,依据本发明的一种自动执行操控方法,用于电子装置,该电子装置包括经配置以执行辅助功能服务(Accessibility Service)的辅助功能接口,以及经配置以显示第一操作画面的显示器,该第一操作画面具有经配置以供操控的至少一第一用户接口(User Interface,UI)组件。该自动执行操控方法包括:响应于执行该第一UI组件,该电子装置显示第二操作画面,并且该第二操作画面具有数个第二UI组件,该些第二UI组件间构成树状阶层关系;读取操控记录文件,该操控记录文件包括至少一操控事件、对应于该至少一操控事件的至少一节点位置符,及对应于该至少一操控事件的至少一组件布局记录;撷取由该辅助功能接口传送的组件布局信息,该组件布局信息对应于该第二操作画面;依据该至少一组件布局记录与该组件布局信息,判断该至少一组件布局记录是否对应该第二操作画面;以及只在该第二操作画面与该至少一组件布局记录对应的情况下,依据该至少一操控事件及该节点位置符传送操控执行指令至该辅助功能接口,以使该辅助功能接口执行该操控执行指令。
[0007] 基于上述,本发明实施例提出的操控记录方法与自动执行操控方法,可记录在电子装置上的操控并存为该操控记录文件,并进一步的可由电子装置读取,并依据该操控记录文件自动执行操控,因此可协助执行复杂的操控,以提供便利省时的操控。
[0008] 为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

附图说明

[0009] 图1是依据本发明的一实施例绘示的一电子装置的方块图。
[0010] 图2是依据图1实施例绘示的电子装置显示的一操作画面的示意图。
[0011] 图3是依据本发明的一实施例绘示的操控记录方法的一树状阶层关系的节点树状示意图。
[0012] 图4是依据本发明的一实施例绘示的操控记录方法的流程图。
[0013] 图5是依据图4的步骤S35绘示的流程图。
[0014] 图6是依据本发明的一实施例绘示的操控记录方法的一位置符算法的流程图。
[0015] 图7是绘示图1的电子装置显示一操作画面的示意图。
[0016] 图8是依据本发明的一实施例绘示的自动执行操控方法的一树状阶层关系的节点树状示意图。
[0017] 图9A、9B是依据本发明的一实施例绘示的自动执行操控方法的流程图。
[0018] 图10是绘示图1的电子装置显示一第一操作画面的示意图。
[0019] 图11是绘示图1的电子装置显示一第二操作画面的示意图。
[0020] 图12是依据本发明的一实施例绘示的自动执行操控方法的一树状阶层关系的节点树状示意图。
[0021] 图13A、13B是依据本发明的一实施例绘示的自动执行操控方法的流程图。
[0022] 【符号说明】
[0023] 1:电子装置
[0024] 11:显示器
[0025] 12:存储器
[0026] 13:运算处理器
[0027] 131:辅助功能接口
[0028] 14:天线
[0029] 20:操作画面
[0030] 21:第一操作画面
[0031] 22:第二操作画面
[0032] 23、23’:用户接口组件
[0033] 231:第一用户接口组件
[0034] 232:第二用户接口组件
[0035] S31~S36:步骤
[0036] S351、S352:步骤
[0037] S41~S43:步骤
[0038] S50~S59:步骤

具体实施方式

[0039] 在本案说明书全文(包括权利要求保护范围)中所使用的「耦接」一词可指任何直接或间接的连接手段。举例而言,若文中描述处理器耦接于存储器,则应该被解释成该处理器可以直接连接于该存储器,或者该处理器可以通过其他装置或某种连接手段而间接地连接至该存储器。另外,凡可能之处,在附图及实施方式中使用相同标号的组件/构件/步骤代表相同或类似部分。不同实施例中使用相同标号或使用相同用语的组件/构件/步骤可以相互参照相关说明。
[0040] 图1、2是依据本发明的一实施例,分别绘示的可执行一操控记录方法的一电子装置的方块图及其显示画面的示意图。所述操控记录方法适用于该电子装置1,并且该电子装置1包括一显示器11、一存储器12、可收发无线信号的一天线14,及耦接该触控显示器11、该存储器12与该天线14的一运算处理器13,所述运算处理器13具有可执行辅助功能服务(Accessibility Service)的一辅助功能接口131,并驱动该触控显示器11显示一操作画面20。在本实施例中,该显示器11为操控显示器。
[0041] 再参照图3,是依据本发明一实施例的操控记录方法的一树状阶层关系的节点树状示意图。所述操作画面20具有经配置以供用户操控的数个用户接口(User Interface,UI)组件23,且该些UI组件23间具有如图3所示的该树状阶层关系,各个UI组件23为该树状阶层关系中的各节点,并且该辅助功能接口131经配置以依据用户操控的UI组件发送操控信息。在本实施例中,该电子装置1是安装安卓操作系统(Android Operation System)运作,且该辅助功能接口131为安卓辅助功能接口(Android Accessibility Service Interface)。
[0042] 在安卓操作系统中,画面配置(frame layout)是由各种显示对象(item)建构,所述显示对象可以是影像(Imageview)或文字(Textview)等,且共同构成阶层关系;本实施例的UI组件23即为安卓操作系统的显示对象。
[0043] 进一步参照图4,是依据本发明一实施例之操控记录方法的流程图。所述操控记录方法包括的步骤说明如下:执行步骤S31,用户操控该些UI组件23中之一,在本实施中用户点击显示「BBB」的该UI组件(图中以23’表示),然而用户的操控不以点击为限,除点击外亦可以是系统所允许的其他操控动作,也可以是键入数据的操控。
[0044] 于实施例中,在步骤S31之后执行步骤S32,该辅助功能接口131依据用户的操控及点击的该UI组件23’发送操控信息,其中该操控信息包括对应于该操作画面20的一组件布局信息(Frame-layout)、对应于用户操控的一操控事件(Event),及对应于该操控事件所执行的UI组件23的一哈希码(Hash-code)。
[0045] 所述组件布局信息是描述该操作画面20的信息,也就是该操作画面20中所有UI组件23的信息;该组件布局信息包括该操作画面20中每一UI组件23的组件类型、该操作画面20中每一UI组件23在该树状阶层关系中具有的子节点数,及分别对应该操作画面20中每一UI组件23的数个哈希码(Hash-code)。不同的操作画面可以包括不同的组件布局信息。
[0046] 在Android操作系统中,该辅助功能接口传送该组件布局信息时,是依据其中每一UI组件的节点位置顺序传送,因此可依据子节点数与接收的顺序取得该树状阶层关系。本实施例所述组件类型为Android操作系统中定义的FrameLayout、LinearLayout、TextView或ImageView,其中FrameLayout为根节点,LinearLayout为具有子节点的节点,以图3中根节点下的左侧节点为例,其对应的组件类型为LinearLayout,且在该树状阶层关系中,其具有5个子节点继承在其阶层,因此对应的子节点数为5,在图3中标示为「Child=5」。
[0047] 所述操控信息中,该操控事件是用户操作动作的信息,在Android操作系统上运作时,本实施例的该操控事件可以是点击(TYPE_VIEW_CLICKED)、聚焦(TYPE_VIEW_FOCUSED)或长点击(TYPE_VIEW_LONG_CLICKED)等,且本发明不以此为限。以用户执行点击显示为「BBB」的该UI组件23’的情况为例,所述辅助功能接口131发送的该操控事件为点击(TYPE_VIEW_CLICKED),并且发送对应于该用户点击的该UI组件23’的哈希码为「562471」。
[0048] 在该辅助功能接口131发送该操控信息后,执行步骤S33,撷取由该辅助功能接口131发送的该操控信息,并暂存该操控信息的该组件布局信息、该操控事件,及对应此操控事件的一节点位置符(Node Identifier)。
[0049] 在撷取由该辅助功能接口131发送的该组件布局信息后,执行步骤S34,判断该操控事件是否为点击(TYPE_VIEW_CLICKED)、聚焦(TYPE_VIEW_FOCUSED)或长点击(TYPE_VIEW_LONG_CLICKED)。
[0050] 只在判断该操控事件为点击(TYPE_VIEW_CLICKED)、聚焦(TYPE_VIEW_FOCUSED)或长点击(TYPE_VIEW_LONG_CLICKED)的情况下,执行步骤S35,依据该操控信息及该树状阶层关系,判断该些UI组件23中对应该操控事件的该UI组件23’,并指派一节点位置符(Node Identifier)对应该操控事件。
[0051] 进一步参照图5,本实施例的步骤S35的细节步骤如下:执行步骤S351,依据该树状阶层关系、与该组件布局信息的每一UI组件23的组件类型执行一位置符算法,以分别指派该操作画面20的每一UI组件23对应的节点位置符。接着执行步骤S352,依据该组件布局信息中每一UI组件23对应的哈希码、该操作画面20的每一UI组件23对应的节点位置符,比对对应于该操控事件的哈希码与该组件布局信息中每一UI组件23对应的哈希码,判断该些UI组件23’中对应该操控事件的该UI组件23’,并指派对应该操控事件的该UI组件23’的节点位置符为对应该操控事件的节点位置符。
[0052] 在此说明步骤S351中所述的该位置符算法,参照图6,其为该位置符算法的流程图。该位置符算法是用以运算出每一UI组件23对应的节点位置符,于一实施例中的步骤如下:执行步骤S41,记录该UI组件23在该树状阶层关系中所隶属的各阶层母节点,接着执行步骤S42,记录该UI组件23在所属阶层中的位置,并执行步骤S43,依据该UI组件23所隶属的各阶层母节点及该UI组件23在所属阶层中的位置指派该节点位置符。该节点位置符为所述各阶层母节点与该UI组件23在所属阶层中的位置的集合。
[0053] 为更清楚解释该位置符算法,在此以UI组件23’为例说明:该UI组件23’位于其所属阶层的第二个位置,也就是LinearLayout下的第二个位置,并指派「1」为表示节点位置的代码,此外,该UI组件23’所隶属的母节点为FrameLayout、LinearLayout,其中该UI组件23’的母节点FrameLayout为根阶层指派空集合,其另一母节点LinearLayout为继承在根阶层之下的第一个位置并指派「0」为位置代码。指派该UI组件23’的节点位置符为母节点的位置代码「0」与该UI组件23’的节点位置代码「1」的集合,以集合形式标示该节点位置符为[0,1]。
[0054] 表示节点位置的代码其编码是由「0」起算,因此第二个位置即以「1」表示且第一个位置即以「0」表示。该节点位置符中不同位置的元素表示不同阶层,最后一个元素表示所属阶层的位置,而依序往前为其前一阶层母节点位置。而编码起算顺序或方式本发明不以此为限,可依系统设定或规模调整起算点、增加代码位数或采用数字以外的符号,例如利用字母顺序等来表示,集合中各位置代表的阶层亦可依系统设定来调整,例如改以集合中后面位置的元素记录母节点位置。
[0055] 以用户点击显示「BBB」的该UI组件23’的情况为例,本实施例判断该操控事件为点击(TYPE_VIEW_CLICKED)后,接收到的对应于该操控事件的哈希码「562471」后,在该组件布局信息的该些哈希码中进行比对搜寻,在该组件布局信息的哈希码中同为「562471」者为UI组件23’,因此判断该UI组件23’对应于该操控事件,也就是用户的操控为点击该UI组件23’,并且指派该UI组件23’的节点位置符[0,1]为对应于该操控事件的节点位置符。
[0056] 参照图1、3、4,在执行步骤S35后,判断是否收到一记录停止指令,在收到该记录停止指令的情况下,执行步骤S36,响应于该记录停止指令,在一操控记录文件中写入该操控事件、对应该操控事件的该节点位置符、该操作画面20的每一UI组件23对应的节点位置符、在该树状阶层关系中隶属于每一UI组件的子节点数、每一UI组件23的组件类型,及该组件布局信息中每一UI组件23对应的哈希码。本实施例的操控记录文件的形式为script。在执行步骤S35后,若无收到该记录停止指令,则执行步骤S33。
[0057] 另一方面,在步骤S34中,若判断该操控事件并非点击(TYPE_VIEW_CLICKED)、聚焦(TYPE_VIEW_FOCUSED)或长点击(TYPE_VIEW_LONG_CLICKED)的情况下,则判断是否收到该记录停止指令,在未收到该记录停止指令的情况下,执行步骤S33。在收到该记录停止指令的情况下,则执行步骤S36。
[0058] 本发明的一实施例的操控记录文件举例如下:
[0059]
[0060]
[0061] 上述操控记录文件中以项目check_node记录该组件布局信息,在项目check_node中,每一UI组件23的信息是以项目class_name记录组件类型、以项目get_node记录节点位置符、以项目child_count记录子节点数,以及以项目hash_code记录哈希码。此外,以项目perform_action记录用户操控,其中以action记录操控事件,并以项目get_node记录对应于该操控事件的UI组件23的节点位置符。
[0062] 参照图1、7,本发明自动执行操控方法的一实施例适用于图1所示的该电子装置1。所述电子装置1具有一显示器11、一存储器12、可收发无线信号的一天线14,及耦接该显示器11、该存储器12与该天线14的一运算处理器13,所述运算处理器13包括经配置以执行辅助功能服务(Accessibility Service)的一辅助功能接口131,并驱动该触控显示器11显示一操作画面20。在本实施例中该显示器11为触控显示器。
[0063] 再参照图8,是本发明实施例的自动执行操控方法的一树状阶层关系的节点树状示意图。该操作画面20包括经配置以供用户操控的数个用户接口(User Interface,UI)组件23,且该些UI组件23构成该树状阶层关系。本实施例的电子装置1是安装安卓操作系统(Android Operation System)运作,且该辅助功能接口131为安卓辅助功能接口(Android Accessibility Service Interface)。
[0064] 进一步参照图9A、9B,是依据本发明一实施例的自动执行操控方法的流程图。所述自动执行操控方法是依据一操控记录文件自动执行操控,所述操控记录文件是经由前一实施例的图4、5、6所示的操控记录方法所产生。本发明一实施例的自动执行操控方法的步骤说明如下。
[0065] 执行步骤S51,读取该操控记录文件。该操控记录文件包括至少一组件布局记录、至少一操控事件、对应于该至少一操控事件的至少一节点位置符、及对应于该至少一操控事件的至少一组件布局记录。所述操控记录文件的该组件布局记录的内容是一记录画面中每一UI组件23的信息,并所述操控记录文件的该组件布局记录包括所述记录画面中每一UI组件23对应的组件类型、子节点数、节点位置符,及哈希码。所述记录画面中每一UI组件23构成一记录树状阶层关系,并且该节点位置符为阶层母节点信息及节点位置信息的集合。
[0066] 本实施例的操控记录文件中,所述至少一操控事件包括一第一操控事件,及一第二操控事件,也就是本实施例的操控记录文件中记录了两项操控动作。所述至少一节点位置符包括对应于该第一操控事件的一第一节点位置符,及对应于该第二操控事件的一第二节点位置符。所述至少一组件布局记录包括对应于该第一操控事件的一第一组件布局记录,及对应于该第二操控事件的一第二组件布局记录。所述操控记录文件是由前一实施例的操控记录方法所产生,该操控记录文件的各项信息已于前一实施例中说明,因此不再进一步详述。
[0067] 执行步骤S53,撷取由该辅助功能接口131传送的一组件布局信息,且该组件布局信息是描述该操作画面20的信息,也就是该操作画面20中所有UI组件23的信息;所述组件布局信息包括该操作画面20中每一UI组件23的组件类型、该操作画面20中每一UI组件23在该树状阶层关系中具有的子节点数,及分别隶属该操作画面20中每一UI组件23的数个哈希码(Hash-code)。在本实施例中,所述组件类型为Android操作系统中定义的FrameLayout、LinearLayout、TextView或ImageView,其中FrameLayout为根节点,LinearLayout为具有子节点的节点。
[0068] 执行步骤S52,启动计时并且计算一判断时间,并执行步骤S54,依据该操控记录文件的该至少一组件布局记录,与该辅助功能接口131传送的该组件布局信息,判断该至少一组件布局记录是否对应于该操作画面20。先依据至少一该组件布局记录的每一节点位置符与该树状阶层关系,判断该至少一组件布局记录的每一节点位置符在该树状阶层关系中指示的节点位置;再依据该至少一组件布局记录的每一节点位置符对应的节点位置,判断该至少一组件布局记录的每一节点位置符各自对应到的该组件布局信息的该些UI组件23,再由该至少一组件布局记录中,取得该组件布局记录的每一节点位置符对应的该UI组件23的子节点数;接着,比对该至少一组件布局记录的每一节点位置符对应的子节点数与其在组件布局信息中对应的UI组件23的子节点数是否相同。
[0069] 在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的UI组件23的子节点数皆相同时,判断该至少一组件布局记录对应于该操作画面20,并停止计时并归零。另一方面,在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的UI组件23的子节点数不全部相同时,执行步骤S57,判断该判断时间是否大于一时限值时。
在该判断时间大于一时限值时,执行步骤S58,结束该自动执行操控方法。
[0070] 需要注意的是,本实施例的该操控记录文件记录有两项操控动作,也就是第一操控事件及第二操控事件,此阶段是读取与处理对应于该第一操控事件的该第一组件布局记录,因此上述步骤S54中提及的该至少一组件布局记录是第一组件布局记录。
[0071] 在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的UI组件23的子节点数不相同,且该判断时间不大于该时限值时,执行步骤S59,执行一移动画面指令(例如指令ACTION_SCROLL_BACKWARD)移动该操作画面20,并再次执行步骤S53撷取由该辅助功能接口131传送的该组件布局信息,及步骤S54依据该至少一组件布局记录与该组件布局信息,以判断该组件布局记录是否对应于该操作画面20。在执行该移动画面指令后该操作画面20随之发生变化,例如移动操作画面20的范围后,会有出现原超出显示画面的UI组件23的情况,该辅助功能接口131依据变化后的操作画面20发送对应的组件布局信息,也就是该组件布局信息可能因而涵括不同的UI组件23的信息。
[0072] 执行步骤S55,只在该操作画面20与该组件布局记录对应的情况下,依据该操控事件及该节点位置符传送一操控执行指令至该辅助功能接口131,且该辅助功能接口131执行该操控执行指令。
[0073] 在判断该操作画面20与该组件布局记录相符后,执行步骤S55,停止计时,并先读取该操控记录文件的该至少一操控事件与该至少一节点位置符,再依据该组件布局信息将该至少一节点位置符转换为对应的UI组件23。本实施例的该操控记录文件记录有两项操控动作,也就是该第一操控事件及该第二操控事件,此阶段是读取与处理对应于该第一操控事件的该第一节点位置符,因此上述S55提及的该至少一节点位置符是第一节点位置符。
[0074] 以标示为[0,1]的该第一节点位置符为例说明,该第一节点位置符[0,1]指示的UI组件23为继承在第二阶层的第一个节点之下的第二个节点,接着对照该组件布局信息,取得对应该第一操控事件的UI组件23。
[0075] 接着,依据该第一操控事件及对应于该第一节点位置符的UI组件23产生并传送一第一操控执行指令至该辅助功能接口131,该辅助功能接口131进一步执行该第一操控执行指令。
[0076] 在对应该第一操控事件的第一操控执行指令被执行后,接着执行步骤S56,判断该操控记录文件是否存在未被读取的第二操控事件,并在判断存在未被读取的该第二操控事件时,读取该第二操控事件、该第二节点位置符及该第二组件布局记录。再依据该组件布局信息将该第二节点位置符转换为对应的UI组件23,并依据该第二操控事件及对应于该第二节点位置符的UI组件23,产生并传送一第二操控执行指令至该辅助功能接口131。该辅助功能接口131进一步执行该第二操控执行指令。本实施例的该操控记录文件记录有两项操控动作,也就是该第一操控事件及该第二操控事件,此阶段是读取与处理对应于该第二操控事件的该第二节点位置符。
[0077] 判断该第二节点位置符对应的UI组件23的运算,与前述该第一节点位置符对应至UI组件23的方法相同,因此不再重复说明。由于该操控记录文件中可能记录了多笔操控事件,因此步骤S56是用以逐一读取与执行各笔操控事件,同时确认是否需要执行下一笔操控事件。
[0078] 另一方面,在判断不存在未被读取的该第二操控事件时,执行步骤S58,结束该自动执行操控方法。
[0079] 本实施例的操控记录文件举例如下,由于程序代码冗长因此仅保留与本实施例执行时相关者:
[0080]
[0081]
[0082]
[0083] 上述操控记录文件中,两个"check_node"的段落分别为第一组件布局记录与第二组件布局记录,两个"perform_action"的段落中,则以"action"记录操控事件及"get_node"记录节点指示符。
[0084] 参照图1、10,本发明自动执行操控方法的一实施例适用于图1所示的电子装置1。所述电子装置1具有一显示器11、一存储器12、可收发无线信号的天线14,及耦接该触控显示器11、该存储器12与该天线14的一运算处理器13。本实施例的显示器11为触控显示器。
[0085] 所述运算处理器13包括经配置以执行辅助功能服务(Accessibility Service)的一辅助功能接口131,并驱动该触控显示器11显示一第一操作画面21。该第一操作画面21包括经配置以供用户操控的数个第一用户接口(User Interface,UI)组件231。本实施例的电子装置1是安装安卓操作系统(Android Operation System)运作,且该辅助功能接口131为安卓辅助功能接口(Android Accessibility Service Interface)。
[0086] 图11是依据本发明的一实施例,绘示该电子装置1显示一第二操作画面22的示意图。本实施例的自动执行操控方法与图10A、10B所示的前一实施例类似,皆是依据一操控记录文件自动执行操控,而本实施例与前一实施例的主要不同处在于:本实施例的运作是经由该第一操作画面21呼叫图13所示的该第二操作画面22后,再执行如图9A、9B所示的前一实施例中的步骤,与前一实施例相同地本实施例的该操控记录文件也是由图4、5、6所示的操控记录方法所产生。
[0087] 进一步参照图12、13A、13B,是依据本发明自动执行操控方法的一实施例的流程图,及一树状阶层关系的节点树状示意图。本实施例的自动执行操控方法的步骤说明如下:执行步骤S50,响应于用户操控该第一UI组件231’,该电子装置1显示该第二操作画面22,其中该第二操作画面22具有数个第二UI组件232,且该些第二UI组件232间构成该树状阶层关系。
[0088] 执行步骤S51,读取该操控记录文件,该操控记录文件包括至少一组件布局记录、至少一操控事件、对应于该至少一操控事件的至少一节点位置符,及对应于该至少一操控事件的至少一组件布局记录。所述操控记录文件的该组件布局记录的内容是一记录画面中每一UI组件23的信息,并所述操控记录文件的该组件布局记录包括所述记录画面中每一UI组件23对应的组件类型、子节点数、节点位置符,及哈希码。所述记录画面中每一UI组件23构成一记录树状阶层关系,并且该节点位置符为阶层母节点信息及节点位置信息的集合。
[0089] 本实施例的操控记录文件中,所述至少一操控事件包括一第一操控事件,及一第二操控事件,也就是本实施例的操控记录文件中记录了两项操控动作。所述至少一节点位置符包括对应于该第一操控事件的一第一节点位置符,及对应于该第二操控事件的一第二节点位置符。所述至少一组件布局记录包括对应于该第一操控事件的一第一组件布局记录,及对应于该第二操控事件的一第二组件布局记录。所述操控记录文件是由图4对应的实施例的操控记录方法所产生,该操控记录文件的各项信息已于前该操控记录方法的实施例中说明,因此不再详述。
[0090] 执行步骤S53,撷取由该辅助功能接口131传送的一组件布局信息。该辅助功能接口131传送的该组件布局信息对应于该第二操作画面22,并该组件布局信息是描述该第二操作画面22的信息,也就是该第二操作画面22中所有第二UI组件232的信息;所述组件布局信息包括该第二操作画面22中每一第二UI组件232的组件类型、该第二操作画面22中每一UI组件23在该树状阶层关系中具有的子节点数,及分别隶属该操作画面20中每一第二UI组件232的数个哈希码(Hash-code)。在本实施例中,所述组件类型可为Android操作系统中定义的FrameLayout、LinearLayout、TextView或ImageView,其中FrameLayout为根节点,LinearLayout为具有子节点的节点。
[0091] 接着执行步骤S52,启动计时并且计算一判断时间,并执行步骤,依据该操控记录文件的该至少一组件布局记录,与该辅助功能接口131传送的该组件布局信息,判断该至少一组件布局记录是否对应于该第二操作画面22。先依据该至少一组件布局记录的每一节点位置符与该树状阶层关系,判断对应的该至少一第二UI组件232与对应的子节点数;接着,比对该组件布局记录的每一节点位置符对应的子节点数与其在组件布局信息中对应的第二UI组件232的子节点数是否相同。
[0092] 在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的第二UI组件232的子节点数皆相同时,判断该至少一组件布局记录对应于该第二操作画面22,并停止计时及归零。另一方面,在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的UI组件23的子节点数不全部相同时,执行步骤S57,判断该判断时间是否大于一时限值。在该判断时间大于一时限值时,执行步骤S58,结束该自动执行操控方法。
[0093] 需要注意的是,本实施例的该操控记录文件记录有两项操控动作,也就是第一操控事件及第二操控事件,此阶段是读取与处理对应于该第一操控事件的该第一组件布局记录,因此上述步骤S54中提及的该至少一组件布局记录是第一组件布局记录。
[0094] 在该至少一组件布局记录的每一子节点数与其在组件布局信息中对应的第二UI组件232的子节点数不相同,且该判断时间不大于该时限值时,执行步骤S59,执行一移动画面指令((例如指令ACTION_SCROLL_BACKWARD)移动该第二操作画面22,并再次执行步骤S53及步骤S54。本实施例经由该组件布局记录在该组件局信息中取得对应的第二UI组件232及子节点数,其中的转换、运算与对照,及判断是否对应于该第二操作画面22的过程,与图9A、9B所示的前一实施例相同,不再重复详细说明。
[0095] 执行步骤S55,只在该第二操作画面22与该组件布局记录对应的情况下,依据该操控事件及该节点位置符传送一操控执行指令至该辅助功能接口131,且该辅助功能接口131执行该操控执行指令。
[0096] 在判断该第二操作画面22与该组件布局记录相符后,执行步骤S55,停止计时,并先读取该操控记录文件的该至少一操控事件与该至少一节点位置符,再依据该组件布局信息将该至少一节点位置符转换为对应的第二UI组件232。本实施例的该操控记录文件记录有两项操控动作,也就是该第一操控事件及该第二操控事件,此阶段是读取与处理对应于该第一操控事件的该第一节点位置符,因此上述S55提及的该至少一节点位置符是第一节点位置符。将该操控记录文件中的节点位置符转换对应到该组件布局信息中的第二UI组件232的过程与相关运算,与前一实施例相同,因此不再重复说明。
[0097] 接着,依据该第一操控事件及对应于该第一节点位置符的UI组件23产生并传送一第一操控执行指令至该辅助功能接口131,该辅助功能接口131进一步执行该第一操控执行指令。
[0098] 在对应该第一操控事件的第一操控执行指令被执行后,接着执行步骤S56,判断该操控记录文件是否存在未被读取的该第二操控事件,并在判断存在未被读取的该第二操控事件时,读取该第二操控事件、该第二节点位置符及该第二组件布局记录。再依据该组件布局信息将该第二节点位置符转换为对应的第二UI组件232,并依据该第二操控事件及对应于该第二节点位置符的第二UI组件232产生并传送一第二操控执行指令至该辅助功能接口131,并且该辅助功能接口131进一步执行该第二操控执行指令。本实施例的该操控记录文件记录有两项操控动作,也就是该第一操控事件及该第二操控事件,此阶段是读取与处理对应于该第二操控事件的该第二节点位置符。另一方面,在判断不存在未被读取的该第二操控事件时,结束该自动执行操控方法。
[0099] 补充说明的是,本实施例的第一操作画面21与第二操作画面22可以是不同的应用程序,也就是可经由不同的应用程序启动自动执行操控,因此可协助用户自动操控不同的应用程序,使应用程序间的切换与操控行为更为省时。