CN117827357B - 一种终端设备的远程操作方法、装置及设备 - Google Patents
一种终端设备的远程操作方法、装置及设备 Download PDFInfo
- Publication number
- CN117827357B CN117827357B CN202410245130.5A CN202410245130A CN117827357B CN 117827357 B CN117827357 B CN 117827357B CN 202410245130 A CN202410245130 A CN 202410245130A CN 117827357 B CN117827357 B CN 117827357B
- Authority
- CN
- China
- Prior art keywords
- page
- information
- control
- control tree
- terminal equipment
- 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
- 238000000034 method Methods 0.000 title claims abstract description 157
- 238000009877 rendering Methods 0.000 claims abstract description 221
- 230000006399 behavior Effects 0.000 claims description 136
- 238000012545 processing Methods 0.000 claims description 79
- 238000012216 screening Methods 0.000 claims description 61
- 230000006870 function Effects 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 claims description 14
- 230000009193 crawling Effects 0.000 claims description 7
- 230000001960 triggered effect Effects 0.000 claims description 3
- 238000012360 testing method Methods 0.000 abstract description 18
- 238000011161 development Methods 0.000 abstract description 14
- 238000004590 computer program Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 20
- 238000012795 verification Methods 0.000 description 12
- 230000006872 improvement Effects 0.000 description 10
- 230000002159 abnormal effect Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000000750 progressive effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000008719 thickening Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Landscapes
- Selective Calling Equipment (AREA)
Abstract
本说明书实施例公开了一种终端设备的远程操作方法、装置及设备,该方法包括:当检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令;接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息;基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面;基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作。通过上述方法可以提高金融类、证券类应用程序的开发者开发效率,让开发者能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
Description
技术领域
本文件涉及计算机技术领域,尤其涉及一种终端设备的远程操作方法、装置及设备。
背景技术
在终端设备中,为了保护用户的信息,包含用户的指定隐私数据的页面往往不允许进行截图(或截屏)或录屏等操作,例如,某些金融类应用程序的登录页面或金融交易页面不允许进行截图(或截屏)或录屏等操作,因此,在终端设备的远程真机测试等场景中,当需要远程控制终端设备(如手机)执行某些涉及上述页面的操作时,上述页面在终端设备上内容正常显示,但却无法在控制端(如服务器等)正常显示(如控制端显示黑屏页面)。
通常,在终端设备的远程真机测试过程中,仅能通过人工手动操作上述页面的方式来执行某些涉及上述页面的操作,从而使得终端设备的远程真机测试效率低。为此,需要提供一种能够提高终端设备的远程真机测试效率的技术方案。
发明内容
本说明书实施例的目的是提供一种能够提高终端设备的远程真机测试效率的技术方案。
为了实现上述技术方案,本说明书实施例是这样实现的:
第一方面,本说明书实施例提供的一种终端设备的远程操作方法,所述方法包括:当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第二方面,本说明书实施例提供的一种终端设备的远程操作***,所述***包括服务器和终端设备,其中:所述服务器,被配置为当检测到无法正常远程显示所述终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;所述终端设备,被配置为基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息,将所述控件树的信息发送给所述服务器;所述服务器,被配置为基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第三方面,本说明书实施例提供的一种终端设备的远程操作方法,应用于平台前端服务器,所述方法包括:当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第四方面,本说明书实施例提供的一种终端设备的远程操作方法,应用于上位机,所述方法包括:当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第五方面,本说明书实施例提供的一种终端设备的远程操作***,所述方法包括:所述***包括平台前端服务器、上位机和终端设备,其中:所述平台前端服务器,被配置为当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;所述上位机,被配置为基于所述页面元素抓取指令向所述终端设备发送抓取所述目标页面中的页面控件构建的控件树的指令;所述终端设备,被配置为将抓取的所述目标页面中的页面控件构建的控件树的信息发送给所述上位机;所述上位机,被配置为将控件树的信息发送给所述平台前端服务器;所述平台前端服务器,被配置为基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第六方面,本说明书实施例提供的一种终端设备的远程操作装置,所述装置包括:指令发送模块,当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;信息接收模块,接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;渲染模块,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;远程控制模块,基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第七方面,本说明书实施例提供的一种终端设备的远程操作装置,所述装置包括:抓取指令发送模块,当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;信息接收模块,接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;页面渲染模块,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;远程控制模块,基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第八方面,本说明书实施例提供的一种终端设备的远程操作装置,所述装置包括:指令接收模块,当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;页面元素抓取模块,基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;信息发送模块,将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述装置远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
第九方面,本说明书实施例提供的一种终端设备的远程操作设备,所述终端设备的远程操作设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时实现如上述第一方面、第三方面或第四方面所述的终端设备的远程操作方法的步骤。
第十方面,本说明书实施例还提供了一种存储介质,所述存储介质用于存储计算机可执行指令,所述可执行指令在被处理器执行时实现如上述第一方面、第三方面或第四方面所述的终端设备的远程操作方法的步骤。
第十一方面,本说明书实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面、第三方面或第四方面所述的终端设备的远程操作方法的步骤。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图;
图1为本说明书一种终端设备的远程操作***的结构示意图;
图2为本说明书一种终端设备的远程操作方法实施例;
图3为本说明书另一种终端设备的远程操作方法实施例;
图4为本说明书一种终端设备显示的目标页面的示意图;
图5为本说明书一种服务器端显示的终端设备当前显示的目标页面;
图6为本说明书一种远程渲染页面的示意图;
图7为本说明书又一种终端设备的远程操作方法实施例;
图8为本说明书另一种终端设备的远程操作***的结构示意图;
图9为本说明书又一种终端设备的远程操作方法实施例;
图10为本说明书又一种终端设备的远程操作方法实施例;
图11为本说明书又一种终端设备的远程操作方法实施例;
图12为本说明书一种终端设备的远程操作过程的示意图;
图13为本说明书一种终端设备的远程操作装置实施例;
图14为本说明书另一种终端设备的远程操作装置实施例;
图15为本说明书又一种终端设备的远程操作装置实施例;
图16为本说明书一种终端设备的远程操作设备实施例。
具体实施方式
本说明书实施例提供一种终端设备的远程操作方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供一种针对远程显示异常的页面在终端设备的远程真机操作机制,对于终端设备的远程真机操作,如图1所示,其***架构可以包括用户的终端设备和服务器,其中,服务器可以是用于对终端设备进行远程真机控制的平台的服务器,该服务器可以是独立的一个服务器,还可以是由多个不同的服务器构建的服务器集群,在实际应用中,该服务器不仅可以包括上述远程真机控制的平台的前端程序,还可以包括用于建立上述平台的前端程序与终端设备之间信息交互的桥梁的上位机程序,通过上位机程序,可以使得前端程序与终端设备进行信息交互,上位机程序可以与一个或多个不同的终端设备直接建立通信连接。终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等。
本说明书实施例中,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,服务器通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作。具体处理可以参见下述实施例中的具体内容。
如图2所示,本说明书实施例提供一种终端设备的远程操作方法,该方法的执行主体可以为服务器,该服务器可以为上述图1中所示的服务器。该方法具体可以包括以下步骤:
在步骤S202中,当检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令。
其中,目标页面可以是终端设备中指定应用程序中的指定页面,例如,金融类、证券类等APP中涉及用户的资金安全和个人隐私信息的页面(如上述APP的登录页面、转账页面等,其中的APP可以是任意类型的操作***中的APP,具体如Android操作***中的APP、iOS操作***中的APP等),或者,也可以是任意不允许进行截屏(或截图)或录屏的页面等,具体可以根据实际情况设定,本说明书实施例对此不做限定。页面元素抓取指令可以用于抓取指定页面中包含的各种不同的元素,其中抓取的不单单包括各元素的标识等信息,还可以包括各元素的属性信息和不同元素之间的层次结构关系等信息,在实际应用中,页面元素抓取指令可以通过多种不同的方式构建,例如,可以通过Java语言编写页面元素抓取指令,或者,可以通过Python语言编写面元素抓取指令等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,金融类、证券类等应用程序作为用户进行金融交易和证券投资的主要工具,涉及到用户的资金安全和个人隐私信息,因此,对于信息安全和隐私权益的保护尤为重视,为了实现该目标,不同的应用程序通常会采取多种不同的安全措施,其中包括禁止在敏感页面进行截屏或录屏操作。
然而,在终端设备的远程真机调试过程中,由于上述安全措施的存在,带来了不小的挑战。由于终端设备在使用指定应用程序的过程中会被限制截屏和录屏的功能,因此,在终端设备的远程真机上显示的指定页面会以黑屏的形式呈现,从而导致测试人员(或用户)无法查看到指定页面的相关信息,也就无法进行进一步的调试和验证等处理。
在处理上述问题时,终端设备的用户通常要与测试人员进行沟通,并提供其账号和密码等,然后,客服再与机房人员协作,对每部手机进行手动操作,逐一输入账号和密码,并通过拍照方式记录结果后反馈给终端设备的用户。但是,上述人工操作的方式不仅存在安全隐患,如账号和密码数据在传递过程中有可能被非法截获或泄露,从而给终端设备的用户带来损失,而且由于涉及较多的人,上述方式的沟通成本和时间成本都相当高昂。
为了应对上述挑战,在终端设备的远程真机调试界面中引入了一项新的功能,即控件树,该功能能够将指定页面上的文字信息框架(如账号输入框、密码输入框和隐私协议勾选框等)清晰地渲染出来,通过该功能,测试人员可以顺利登录应用程序进而完成下一步的操作。上述解决方案为金融类、证券类应用程序的开发者提供了一个高效且实用的途径,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。具体地,当终端设备的用户需要使用某应用程序时,用户可以使用终端设备启动上述应用程序,可以通过该应用程序获取指定页面的数据,并可以在终端设备的屏幕上显示相应的页面(即目标页面)。在终端设备的远程真机测试的过程中,由于终端设备在使用指定应用程序显示目标页面的过程中会被限制截屏和录屏的功能,因此,服务器无法正常远程显示(如黑屏显示)终端设备当前显示的目标页面,此时,获取目标页面的标识信息(如目标页面的名称、对应的网址等)等相关信息,并可以基于该相关信息生成目标页面的页面元素抓取指令,可以将目标页面的页面元素抓取指令发送给终端设备。
上述生成目标页面的页面元素抓取指令的触发方式可以包括多种,例如,服务器可以在当前显示的页面中预先设置一个或多个功能按键,上述功能按键中可以包括页面元素抓取的触发按键,此外,也可以包括其它相关按键,具体如,***设置按键、网络连接按键、声音控件、图像采集按键等,当用户(即测试人员)点击页面元素抓取的触发按键时,服务器可以执行上述生成目标页面的页面元素抓取指令的处理。在实际应用中,除了可以通过上述方式触发服务器执行生成页面元素抓取指令的处理之外,还可以通过其它方式实现上述处理,例如,可以通过输入设备(如键盘)中的指定的实体输入按键(如“Enter” 键、空格键或多个键组合等)触发服务器执行生成页面元素抓取指令的处理,再例如,可以通过预先设置的指定输入操作(如通过在当前界面中画出指定的形状(如圆形、矩形或直线等)或服务器的摄像组件采集的用户手势动作(如从左向右的滑动操作、圆形手势等)等)触发服务器执行生成页面元素抓取指令的处理,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在步骤S204中,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息。
其中,页面控件可以是对数据和方法的封装,页面控件可以包括属性和方法,其中的属性是控件数据的简单访问者,方法则是控件的一些简单而可见的功能。页面控件可以用于开发构建用户界面(UI)的控件,以帮助完成软件开发中视窗、文本框、按钮、下拉式菜单等页面元素的开发等,具体可以根据实际情况设定,本说明书实施例对此不做限定。控件树可以是由多个页面控件并以指定的层次结构构建而成的树形结构。
在实施中,终端设备接收到服务器发送的页面元素抓取指令后,可以对页面元素抓取指令进行分析,如果分析结果指示该页面元素抓取指令能够直接使用进行页面元素的抓取,则终端设备可以直接执行该页面元素抓取指令,以在目标页面中抓取的页面控件,并通过抓取的页面控件和页面控件对应的层次结构信息构建相应的控件树,从而可以得到该控件树的信息。如果分析结果指示该页面元素抓取指令无法直接使用进行页面元素的抓取,则终端设备可以基于该页面元素抓取指令的语义信息,生成与该页面元素抓取指令具有相同功能的指令,以此将该页面元素抓取指令转换为终端设备能够直接使用的指令,以进行页面元素的抓取,此时,终端设备可以基于转换后的指令在目标页面中抓取的页面控件,并通过抓取的页面控件和页面控件对应的层次结构信息构建相应的控件树,从而可以得到该控件树的信息。
在实际应用中,由于目标页面中的页面控件可能会包含很多种信息,有些信息(如页面控件的颜色、亮度、对应的链接等)在服务器侧可能并不会起到任何作用,上述信息可以从控件树中去除,而只保留对服务器侧存在一定作用的信息(如页面控件的标识、位置、其中的文本信息等),以简化和减少控件树的数据量,此外,也可以根据实际情况为每个页面控件选取合适的信息以构建相应的控件树,本说明书实施例对此不做限定。
在步骤S206中,基于上述控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面。
在实施中,服务器得到控件树的信息后,可以根据控件树中呈现的页面控件之间的层次结构的关系,将控件树中的页面控件设置到当前无法正常远程显示(如上所述的黑屏显示)的页面中,然后,服务器可以启动页面渲染机制对设置到当前无法正常远程显示的页面中的页面控件依次进行渲染处理,从而完成在当前无法正常远程显示的页面中对控件树进行渲染的处理,最终可以得到渲染后的页面,即目标页面对应的远程渲染页面。其中,远程渲染页面在页面的样式和页面控件的布局上均与目标页面相同,即在服务器中,使用远程渲染页面代替终端设备中显示的目标页面。
在步骤S208中,基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作。
在实施中,服务器显示远程渲染页面后,由于远程渲染页面中包含目标页面中的页面控件,因此,用户可以通过对远程渲染页面中的页面控件进行操作,以此来控制终端设备在目标页面中执行相应的操作,具体地,用户可以在远程渲染页面中执行操作行为,基于该操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,例如,目标页面中包含账号输入框和密码输入框,以及登录按键和取消按键等页面控件,则远程渲染页面中也包含账号输入框和密码输入框,以及登录按键和取消按键等页面控件,用户可以在账号输入框中输入用户账号,并在密码输入框中输入登录密码,然后,可以点击登录按键,此时,服务器可以获取账号输入框中的用户账号和密码输入框中的登录密码,以及登录操作的信息,并可以将其发送给终端设备,终端设备可以将接收到的用户账号输入目标页面中的账号输入框中,并将接收到的登录密码输入目标页面中的密码输入框中,输入完成后,可以基于接收到的登录操作的信息对目标页面中的登录按键进行点击操作,此时,终端设备可以基于上述用户账号和登录密码生成登录请求,将该登录请求发送给相应的业务服务器,以登录相应的应用程序或服务平台。
本说明书实施例提供一种终端设备的远程操作方法,通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
在实际应用中,对于终端设备中安装的操作***为Android操作***的情况,上述页面元素抓取指令中可以包括UIAutomator dump命令,其中的UIAutomator是Android操作***提供的一个测试框架,用于测试和分析Android操作***中的应用程序的用户界面,它可以通过命令行或编程方式与终端设备进行交互,并获取应用程序界面的层次结构信息,UIAutomator dump命令用于获取终端设备的当前页面的UI层次结构,并使用XML格式进行展示。基于此,上述步骤S204的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:接收终端设备基于页面元素抓取指令中的UIAutomator dump命令在目标页面中抓取的页面控件构建的控件树的XML信息。
在实施中,服务器可以将页面元素抓取指令中的UIAutomator dump命令发送给终端设备,终端设备可以使用UIAutomator dump命令,抓取终端设备的当前显示的目标页面的UI层次结构,从而可以在目标页面中抓取页面控件,并使用抓取的页面控件,通过目标页面的UI层次结构构建相应的控件树,并使用XML格式的信息展示上述控件树。
在实际应用中,为了简化处理过程,服务器还可以使用页面元素抓取指令中的UIAutomator dump命令主动从终端设备当前显示的目标页面中抓取目标页面中的页面控件,及其中包含的UI层次结构,并使用抓取的页面控件,通过目标页面的UI层次结构构建相应的控件树,并使用XML格式的信息展示上述控件树。具体通过哪种方式实现可以根据实际情况设定。
上述步骤S206的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:将上述控件树的信息转换为预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,预设数据交换格式可以包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种。
其中,JSON格式的数据结构主要包括对象和数组,对象是由键值对组成的无序集合,键是字符串,值可以是任何类型,包括对象和数组,数组是值(Value)的有序集合,每个值可以是任何类型,包括对象和数组。JSON格式的数据可以在多种编程语言之间进行数据交换。
在实施中,考虑到服务器抓取的控件树的信息可能不易于机器解析或不能完全独立于编程语言的文本格式来存储和表示数据,从而降低后续处理的效率,为此,可以将上述控件树的信息转换为如JSON格式等易于机器解析且完全独立于编程语言的文本格式来存储和表示数据的预设数据交换格式的控件树数据,例如,针对上述控件树的信息为XML格式的信息的情况,可以将XML格式的控件树的信息转换为JSON格式的控件树数据。然后,可以根据预设数据交换格式的控件树数据中呈现的页面控件之间的UI层次结构的关系,将预设数据交换格式的控件树数据中的页面控件设置到当前无法正常远程显示(如上所述的黑屏显示)的页面中,服务器可以启动页面渲染机制对设置到当前无法正常远程显示的页面中的页面控件依次进行渲染处理,从而完成在当前无法正常远程显示的页面中对控件树进行渲染的处理,最终可以得到目标页面对应的远程渲染页面。
需要说明的是,预设数据交换格式除了可以包括上述格式外,还可以包括如Apache Avro格式等。
上述步骤S206的具体处理方式可以多种多样,以下再提供一种可选的处理方式,如图3所示,具体可以包括以下步骤S2062和步骤S2064的处理。
在步骤S2062中,基于预设的数据筛选规则和上述控件树的信息对控件树进行筛选处理,得到筛选后的控件树的信息,数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则。
其中,可操作组件可以包括多种,例如,可操作组件可以包括页面控件中的点击组件(如图4中的“登录”页面控件中的点击组件、图4中的“获取验证码”页面控件中的点击组件等)、输入组件(如图4中的“手机号输入框”页面控件中的手机号输入组件、图4中的“短信验证码输入框”页面控件中的短信验证码输入组件等)等。预设属性信息可以包括多种,例如,预设属性信息可以包括标识、位置信息、尺寸信息、文本数据(如图4中手机号输入组件的“请输入手机号”的文本数据)等用于在服务器侧为用户呈现与目标页面的同一位置的页面控件相关的属性信息。不可操作组件可以包括多种,例如,不可操作组件可以包括用于提示的组件(如图4中的“请阅读并勾选同意用户隐私保护条款”等)、仅用于展示的图标组件(如图4中的“手机号输入框”页面控件中的手机图标组件、图4中的“短信验证码输入框”页面控件中的短信图标组件等)等。
在实施中,服务器可以对上述控件树的信息进行分析,确定不同页面组件的相关信息,可以使用上述数据筛选规则,保留上述控件树中的页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据,除了保留的上述数据之外的数据可以从控件树的信息中删除,得到筛选后的控件树的信息。如可以将图4中目标页面中上半部分显示的较大的图标、目标页面中左上角显示的“<”图标、手机图标组件、短信图标组件、“该页面不允许屏幕截图”的文本数据等从控件树的信息中删除,最终,可以得到筛选后的控件树的信息。
在步骤S2064中,基于筛选后的控件树的信息,在当前无法正常远程显示的页面中进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
在实施中,可以根据筛选后的控件树的信息中呈现的页面控件之间的UI层次结构的关系,将筛选后的控件树的信息中的页面控件设置到当前无法正常远程显示的页面中,并启动页面渲染机制对设置到当前无法正常远程显示的页面中的页面控件依次进行渲染处理,得到目标页面对应的远程渲染页面,具体处理可以参见上述相关内容,在此不再赘述。
在实际应用中,步骤S2064的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下内容:基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示可操作组件,并显示不可操作组件中用于展示的文本数据,以进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
其中,突出显示可以通过边缘线条加粗的方式突出显示,或者,可以通过设置特殊的颜色(如白色、红色或绿色等)进行突出显示等,具体可以根据实际情况设定。
在实施中,如图5所示,以当前无法正常远程显示的页面为黑屏页面为例,可以根据筛选后的控件树的信息中呈现的页面控件之间的UI层次结构的关系,将筛选后的控件树的信息中的页面控件设置到黑屏页面中,并启动页面渲染机制对设置到黑屏页面中的页面控件依次进行渲染处理,并在渲染的过程中,根据可操作组件的标识、位置信息、尺寸信息、文本数据,将可操作组件渲染在黑屏页面中,并在可操作组件外侧渲染白色矩形框的方式突出显示可操作组件(如图6所示),同时,显示不可操作组件中用于展示的文本数据,从而实现对控件树的渲染处理,得到目标页面对应的远程渲染页面,例如,以图4所示的页面作为终端设备中当前显示的目标页面,则图6即为在服务器侧显示的远程渲染页面,目标页面与远程渲染页面,一个显示于终端设备中,一个显示于服务器中,两个页面主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。此外,如图5或图6所示,服务器可以在当前显示的黑屏页面中预先设置一个或多个功能按键,上述功能按键中可以包括页面元素抓取的触发按键,此外,也可以包括其它相关按键,具体如,***设置按键、网络连接按键、声音控件、图像采集按键等。
需要说明的是,上述是以服务器当前无法正常远程显示的页面为黑屏页面为例进行的说明,在实际应用中,服务器当前无法正常远程显示的页面还可以以其它形式呈现,例如,也可以以空白页面的形式呈现服务器当前无法正常远程显示的页面,或者,还可以以蓝屏页面的形式呈现服务器当前无法正常远程显示的页面等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
在实际应用中,目标页面包括不允许进行截图操作或录屏操作的页面,上述服务器无法正常远程显示终端设备当前显示的目标页面包括服务器远程显示终端设备当前显示的目标页面为黑屏页面。
在实际应用中,上述步骤S208的具体处理方式可以多种多样,以下再提供一种可选的处理方式,如图7所示,具体可以包括以下步骤S2082和步骤S2084的处理。
在步骤S2082中,获取用户在上述远程渲染页面中的操作行为的数据。
在实施中,以图4所示的页面作为终端设备中当前显示的目标页面,图6所示的页面作为服务器当前显示的远程渲染页面为例,用户可以在服务器当前显示的远程渲染页面中的手机号输入框中输入手机号码,并点击“获取验证码”,然后,将获取的验证码输入短信验证码输入框中,然后,可以点选“我已阅读并同意《用户隐私保护条款》”,最后点击登录按键,此时,服务器可以获取包括手机号输入框中的手机号码和短信验证码输入框中的验证码,以及用户的点选、点击操作,以及用户点选或点击操作的对象的相关信息等在内的操作行为的数据。
在步骤S2084中,将上述操作行为的数据发送给终端设备,该操作行为的数据用于触发终端设备在目标页面中执行与该操作行为相应的操作。
在实施中,服务器可以将上述信息发送给终端设备,终端设备可以将接收到的手机号码输入目标页面中的手机号输入框中,并将接收到的验证码输入目标页面中的短信验证码输入框中,输入完成后,可以基于接收到的用户的点选、点击操作,以及用户点选或点击操作的对象的相关信息,在目标页面中依次进行点选、点击操作,此时,终端设备可以基于上述手机号码和验证码生成登录请求,将该登录请求发送给相应的业务服务器,以登录相应的应用程序或服务平台,从而实现针对远程显示异常的页面在终端设备的远程真机操作。
本说明书实施例提供一种终端设备的远程操作方法,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
基于上述实施例提供的终端设备的远程操作方法,本说明书实施例还提供一种终端设备的远程操作***,如图1所示,该***包括服务器110和终端设备120,其中:
服务器110,被配置为当检测到无法正常远程显示终端设备120当前显示的目标页面时,向终端设备120发送目标页面的页面元素抓取指令。
终端设备120,被配置为基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,将控件树的信息发送给服务器110。
服务器110,被配置为基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,远程控制终端设备120在目标页面中执行与该操作行为相应的操作。
上述服务器110和终端设备120的具体处理过程可以参见上述实施例提供的终端设备的远程操作方法中的相关内容,在此不再赘述。
本说明书实施例还提供了另一种终端设备的远程操作***,该***包含了图1所示的终端设备的远程操作***的全部功能单元,并在其基础上,对其进行了改进,改进内容如下:
对于终端设备120中安装有Android操作***的情况,上述页面元素抓取指令中可以包括UIAutomator dump命令,终端设备120,被配置为基于页面元素抓取指令中的UIAutomator dump命令在目标页面中抓取的页面控件构建的控件树的XML信息,将控件树的XML信息发送给服务器110。
另外,服务器110,被配置为将控件树的信息转换为预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,预设数据交换格式包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种。
上述服务器110的具体处理过程可以参见上述实施例提供的终端设备的远程操作方法中的相关内容,在此不再赘述。
此外,服务器110,被配置为基于预设的数据筛选规则和控件树的信息对控件树进行筛选处理,得到筛选后的控件树的信息,数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则;基于筛选后的控件树的信息,在当前无法正常远程显示的页面中进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
上述服务器110的具体处理过程可以参见上述实施例提供的终端设备的远程操作方法中的相关内容,在此不再赘述。
在实际应用中,服务器110,被配置为基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示可操作组件,并显示不可操作组件中用于展示的文本数据,以进行控件树进行渲染处理,得到目标页面对应的远程渲染页面。
上述服务器110的具体处理过程可以参见上述实施例提供的终端设备120的远程操作方法中的相关内容,在此不再赘述。
在实际应用中,目标页面包括不允许进行截图操作或录屏操作的页面,无法正常远程显示终端设备120当前显示的目标页面包括远程显示终端设备120当前显示的目标页面为黑屏页面。
此外,服务器110,被配置为获取用户在所述远程渲染页面中的操作行为的数据;将所述操作行为的数据发送给所述终端设备120;
终端设备120,被配置为基于所述操作行为的数据,在所述目标页面中执行与所述操作行为相应的操作。
上述服务器110和终端设备120的具体处理过程可以参见上述实施例提供的终端设备的远程操作方法中的相关内容,在此不再赘述。
本说明书实施例提供一种终端设备的远程操作***,服务器通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
上述实施例提供的终端设备的远程操作方法和相应的终端设备的远程操作***,是将平台的前端和上位机集成到服务器中,进而形成的***和相应的执行方法,而在实际应用中,平台的前端和上位机也可以分别独立设置,而不需要集成到同一设备中,这样就形成了一种新的***,如图8所示,该***中可以包括平台前端服务器、上位机和终端设备,其中,平台前端服务器可以是用于对终端设备进行远程真机控制的平台的服务器,该服务器可以是独立的一个服务器,还可以是由多个不同的服务器构建的服务器集群。上位机可以作为建立上述平台的前端程序与终端设备之间信息交互的桥梁,上位机可以设置于平台前端服务器与终端设备之间,可以作为中间服务器或中间设备,平台前端服务器可以通过上位机与终端设备进行信息交互,上位机具体可以如服务器或指定的终端设备等,在实际应用中,可以包括多个上位机,每个上位机可以与一个或多个不同的终端设备直接建立通信连接。终端设备可以如手机、平板电脑等移动终端设备,还可以如笔记本电脑或台式电脑等计算机设备,或者,也可以为IoT设备(具体如智能手表、车载设备等)等。
基于上述图8所示的***架构,本说明书实施例提供一种终端设备的远程操作方法,如图9所示,该方法的执行主体可以为平台前端服务器。该方法具体可以包括以下步骤:
在步骤S902中,当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送目标页面的页面元素抓取指令。
在步骤S904中,接收上位机基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息。
在实施中,上位机接收到平台前端服务器发送的页面元素抓取指令后,可以将页面元素抓取指令发送给终端设备,终端设备可以通过如上述步骤S204的具体处理方式得到控件树的信息,然后,可以将控件树的信息发送给上位机,上位机可以将控件树的信息发送给平台前端服务器。或者,上位机接收到平台前端服务器发送的页面元素抓取指令后,上位机可以直接通过该页面元素抓取指令在终端设备当前显示的目标页面中抓取页面控件,并通过抓取的页面控件和页面控件对应的层次结构信息构建相应的控件树,从而可以得到该控件树的信息,上位机可以将控件树的信息发送给平台前端服务器。或者,上位机可以基于该页面元素抓取指令的语义信息,生成与该页面元素抓取指令具有相同功能的指令,以此将该页面元素抓取指令转换为上位机能够直接使用的指令,并可以基于转换后的指令在终端设备当前显示的目标页面中抓取页面控件,并通过抓取的页面控件和页面控件对应的层次结构信息构建相应的控件树,从而可以得到该控件树的信息,上位机可以将控件树的信息发送给平台前端服务器。
在步骤S906中,基于上述控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面。
在步骤S908中,基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与该操作行为相应的操作。
上述步骤S902、步骤S906和步骤S908的具体处理过程可以分别参见上述实施例中步骤S202、步骤S206和步骤S208的相关内容,在此不再赘述。
在实际应用中,上述步骤S902的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:当检测到无法正常远程显示终端设备当前显示的目标页面时,通过预设的通讯协议向上位机发送所述目标页面的页面元素抓取指令,该通讯协议包括WebSocket协议。
需要说明的是,上述通讯协议除了可以包括WebSocket协议之外,还可以包括其它通讯协议,例如,gRPC协议、Socket协议等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
对于终端设备中安装有Android操作***的情况,上述页面元素抓取指令中可以包括UIAutomator dump命令,上述步骤S904的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下内容:接收上位机基于页面元素抓取指令中的UIAutomator dump命令在终端设备的目标页面中抓取的页面控件构建的控件树的XML信息。
在实施中,上位机接收到页面元素抓取指令后,可以将页面元素抓取指令发送给终端设备,终端设备通过页面元素抓取指令中的UIAutomator dump命令在目标页面中抓取的页面控件构建的控件树的XML信息,可以将控件树的XML信息发送给上位机,上位机可以将控件树的XML信息发送给平台前端服务器。或者,上位机也可以直接使用页面元素抓取指令中的UIAutomator dump命令在终端设备的目标页面中抓取的页面控件,进而可以通过抓取的页面控件构建相应的控件树,并可以使用XML格式的信息描述该控件树,得到控件树的XML信息,上位机可以将控件树的XML信息发送给平台前端服务器。
此外,上述步骤S906的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:将上述控件树的信息转换为预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,预设数据交换格式可以包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种。
除了可以通过上述方式处理外,还可以通过下述方式处理,具体地,接收上位机发送的基于上述控件树的信息转换的预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,预设数据交换格式可以包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
另外,上述步骤S906的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下内容:基于上述控件树的信息,在当前无法正常远程显示的页面中突出显示可操作组件,并显示不可操作组件中用于展示的文本数据,以进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
此外,上述步骤S908的具体处理方式可以多种多样,以下提供一种可选的处理方式,具体可以包括以下内容:获取用户在所述远程渲染页面中的操作行为的数据;将该操作行为的数据发送给所述上位机,所述操作行为的数据用于触发所述上位机控制终端设备在目标页面中执行与该操作行为相应的操作。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
本说明书实施例提供一种终端设备的远程操作方法,通过平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送目标页面的页面元素抓取指令,然后,接收上位机基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与操作行为相应的操作,这样,通过自动化工具,平台前端服务器获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
基于上述图8所示的***架构,本说明书实施例提供一种终端设备的远程操作方法,如图10所示,该方法的执行主体可以为上位机。该方法具体可以包括以下步骤:
在步骤S1002中,当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收平台前端服务器发送的目标页面的页面元素抓取指令。
在步骤S1004中,基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息。
上述步骤S1004的具体处理过程可以分别参见上述实施例中步骤S904中的相关内容,在此不再赘述。
在步骤S1006中,将控件树的信息发送给平台前端服务器,控件树的信息用于触发平台前端服务器基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与该操作行为相应的操作。
上述步骤S1002和步骤S1006的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
在实际应用中,还可以对得到的控件树的信息进行筛选处理,如图11所示,具体可以包括下述步骤S1008的处理。
在步骤S1008中,基于预设的数据筛选规则和控件树的信息对控件树进行筛选处理,得到筛选后的控件树的信息,数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则。
基于上述步骤S1008的处理,上述步骤S1006的处理包括:将筛选后的控件树的信息发送给平台前端服务器,筛选后的控件树的信息用于触发平台前端服务器基于筛选后的控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与该操作行为相应的操作。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
在实际应用中,如果终端设备中安装有Android操作***,且上述页面元素抓取指令中包括UIAutomator dump命令,则上述步骤S1004的具体处理方式可以多种多样,以下再提供一种可选的处理方式,具体可以包括以下内容:基于页面元素抓取指令中的UIAutomator dump命令在终端设备的目标页面中抓取的页面控件构建的控件树的XML信息。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
本说明书实施例提供一种终端设备的远程操作方法,通过平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面,接收平台前端服务器发送的目标页面的页面元素抓取指令,然后,基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息,最终,可以将控件树的信息发送给平台前端服务器,控件树的信息用于触发平台前端服务器基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与操作行为相应的操作,这样,通过自动化工具,平台前端服务器获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
以下结合具体的应用场景对本说明书实施例提供一种终端设备的远程操作方法进行详细说明,如图12所示,其中的应用场景可以为终端设备的远程真机调试场景,终端设备可以为手机,用户可以是测试人员或使用人员,目标页面可以是金融类APP的登录页面,目标页面不允许进行屏幕截图和录屏,平台前端服务器无法正常远程显示终端设备当前显示的目标页面,本实施例中平台前端服务器以黑屏显示终端设备当前显示的目标页面。
为了使得处理过程更加简洁,可以在终端设备的远程真机调试界面中引入了一项新的功能,即控件树按键,可以参见图5右下角的最后一个图标或图6中右下角的加了黑框的图标。该功能能够将指定页面上的文字信息框架(如账号输入框、密码输入框和隐私协议勾选框等)清晰地渲染出来,通过该功能,测试人员可以顺利登录应用程序进而完成下一步的操作。上述解决方案为金融类应用程序的开发者提供了一个高效且实用的途径,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
在步骤A2中,使用人员遇到黑屏页面,使用人员点击控件树按键,或者,平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面。
在步骤A4中,平台前端服务器通过WebSocket协议向上位机发送目标页面的页面元素抓取指令。
在步骤A6中,上位机基于页面元素抓取指令中的UIAutomator dump命令在手机的目标页面中抓取的页面控件构建的控件树的XML信息。
在步骤A8中,手机可以返回控件树的XML信息给上位机。
在步骤A10中,上位机基于预设的数据筛选规则和控件树的XML信息对控件树进行筛选处理,得到筛选后的控件树的信息,数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则。
在步骤A12中,上位机将筛选后的控件树的信息转换为预设数据交换格式的控件树数据,将转换后的控件树数据发送给平台前端服务器。
在步骤A14中,平台前端服务器基于转换后的控件树数据,在当前无法正常远程显示的页面中突出显示可操作组件,并显示不可操作组件中用于展示的文本数据,以进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
在步骤A16中,平台前端服务器获取用户在远程渲染页面中的操作行为的数据。
在步骤A18中,平台前端服务器将该操作行为的数据发送给所述上位机。
在步骤A20中,上位机将上述操作行为的数据发送给手机。
在步骤A22中,手机基于上述操作行为的数据在目标页面中执行与该操作行为相应的操作。
基于上述图9-图12对应的实施例提供的终端设备的远程操作方法,本说明书实施例还提供一种终端设备的远程操作***,如图8所示,该***包括平台前端服务器810、上位机820和终端设备830,其中:
平台前端服务器810,被配置为当检测到无法正常远程显示终端设备830当前显示的目标页面时,向上位机820发送目标页面的页面元素抓取指令;
上位机820,被配置为基于页面元素抓取指令向终端设备830发送抓取目标页面中的页面控件构建的控件树的指令;
终端设备830,被配置为将抓取的目标页面中的页面控件构建的控件树的信息发送给上位机820;
上位机820,被配置为将控件树的信息发送给平台前端服务器810;
平台前端服务器810,被配置为基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机820远程控制终端设备830在目标页面中执行与该操作行为相应的操作。
上述平台前端服务器810、上位机820和终端设备830的具体处理过程可以参见上述实施例提供的终端设备的远程操作方法中的相关内容,在此不再赘述。
本说明书实施例还提供了另一种终端设备的远程操作***,该***包含了图8所示的终端设备的远程操作***的全部功能单元,并在其基础上,对其进行了改进,改进内容如下:
在实际应用中,平台前端服务器810,被配置为当检测到无法正常远程显示终端设备830当前显示的目标页面时,通过预设的通讯协议向上位机820发送目标页面的页面元素抓取指令,该通讯协议包括WebSocket协议。
对于终端设备830中安装有Android操作***的情况,上述页面元素抓取指令中可以包括UIAutomator dump命令,平台前端服务器810,被配置为接收上位机820基于页面元素抓取指令中的UIAutomator dump命令在终端设备830的目标页面中抓取的页面控件构建的控件树的XML信息。
此外,上位机820,被配置为将上述控件树的信息转换为预设数据交换格式的控件树数据,将转换后的控件树数据发送给平台前端服务器810,预设数据交换格式可以包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种;平台前端服务器810,被配置为基于转换后的控件树数据,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
另外,平台前端服务器810,被配置为基于上述控件树的信息,在当前无法正常远程显示的页面中突出显示可操作组件,并显示不可操作组件中用于展示的文本数据,以进行控件树的渲染处理,得到目标页面对应的远程渲染页面。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
此外,平台前端服务器810,被配置为获取用户在所述远程渲染页面中的操作行为的数据;将该操作行为的数据发送给所述上位机820;
上位机820,被配置为将所述操作行为的数据发送给终端设备830;
终端设备830,被配置为基于所述操作行为的数据在目标页面中执行与该操作行为相应的操作。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
在实际应用中,上位机820,被配置为基于预设的数据筛选规则和控件树的信息对控件树进行筛选处理,得到筛选后的控件树的信息,数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则;将筛选后的控件树的信息发送给平台前端服务器810;
平台前端服务器810,被配置为基于筛选后的控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机820远程控制终端设备830在目标页面中执行与该操作行为相应的操作。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
在实际应用中,如果终端设备830中安装有Android操作***,且上述页面元素抓取指令中包括UIAutomator dump命令,则上位机820,被配置为基于页面元素抓取指令中的UIAutomator dump命令在终端设备830的目标页面中抓取的页面控件构建的控件树的XML信息。
上述内容的具体处理过程可以分别参见上述实施例中的相关内容,在此不再赘述。
本说明书实施例提供一种终端设备的远程操作***,通过平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送目标页面的页面元素抓取指令,然后,接收上位机基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与操作行为相应的操作,这样,通过自动化工具,平台前端服务器获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
基于上述图2-图7对应的实施例提供的终端设备的远程操作方法,基于同样的思路,本说明书实施例还提供一种终端设备的远程操作装置,如图13所示。
该终端设备的远程操作装置包括:指令发送模块1301、信息接收模块1302、渲染模块1303和远程控制模块1304,其中:
指令发送模块1301,当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;
信息接收模块1302,接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;
渲染模块1303,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
远程控制模块1304,基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书实施例中,所述页面元素抓取指令中包括UIAutomator dump命令,所述信息接收模块1302,接收所述终端设备基于所述页面元素抓取指令中的UIAutomator dump命令在所述目标页面中抓取的页面控件构建的控件树的XML信息。
本说明书实施例中,所述渲染模块1303,将所述控件树的信息转换为预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,所述预设数据交换格式包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种。
本说明书实施例中,所述渲染模块1303,包括:
筛选单元,基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则;
渲染单元,基于筛选后的控件树的信息,在当前无法正常远程显示的页面中进行控件树的渲染处理,得到所述目标页面对应的远程渲染页面。
本说明书实施例中,所述渲染单元,基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面。
本说明书实施例中,所述目标页面包括不允许进行截图操作或录屏操作的页面,所述无法正常远程显示终端设备当前显示的目标页面包括远程显示终端设备当前显示的目标页面为黑屏页面。
本说明书实施例中,所述远程控制模块1304,包括:
操作行为获取单元,获取用户在所述远程渲染页面中的操作行为的数据;
远程控制单元,将所述操作行为的数据发送给所述终端设备,所述操作行为的数据用于触发所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书实施例提供一种终端设备的远程操作装置,通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
基于上述图9、图12对应的实施例提供的终端设备的远程操作方法,基于同样的思路,本说明书实施例还提供一种终端设备的远程操作装置,如图14所示。
该终端设备的远程操作装置包括:抓取指令发送模块1401、信息接收模块1402、页面渲染模块1403和远程控制模块1404,其中:
抓取指令发送模块1401,当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;
信息接收模块1402,接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
页面渲染模块1403,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
远程控制模块1404,基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书实施例中,所述抓取指令发送模块1401,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过预设的通讯协议向上位机发送所述目标页面的页面元素抓取指令,所述通讯协议包括WebSocket协议。
本说明书实施例中,所述页面元素抓取指令中包括UIAutomator dump命令,所述信息接收模块1402,接收所述上位机基于所述页面元素抓取指令中的UIAutomator dump命令在所述终端设备的目标页面中抓取的页面控件构建的控件树的XML信息。
本说明书实施例提供一种终端设备的远程操作装置,通过平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送目标页面的页面元素抓取指令,然后,接收上位机基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与操作行为相应的操作,这样,通过自动化工具,平台前端服务器获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
基于上述图10-图12对应的实施例提供的终端设备的远程操作方法,基于同样的思路,本说明书实施例还提供一种终端设备的远程操作装置,如图15所示。
该终端设备的远程操作装置包括:指令接收模块1501、页面元素抓取模块1502和信息发送模块1503,其中:
指令接收模块1501,当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;
页面元素抓取模块1502,基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
信息发送模块1503,将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述装置远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书实施例中,所述装置还包括:
筛选模块,基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则;
所述信息发送模块1503,将筛选后的控件树的信息发送给所述平台前端服务器,所述筛选后的控件树的信息用于触发所述平台前端服务器基于所述筛选后的控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书实施例提供一种终端设备的远程操作装置,通过平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面,接收平台前端服务器发送的目标页面的页面元素抓取指令,然后,基于页面元素抓取指令在终端设备的目标页面中抓取的页面控件构建的控件树的信息,最终,可以将控件树的信息发送给平台前端服务器,控件树的信息用于触发平台前端服务器基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,并基于用户在远程渲染页面中的操作行为,通过上位机远程控制终端设备在目标页面中执行与操作行为相应的操作,这样,通过自动化工具,平台前端服务器获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
以上为本说明书实施例提供的终端设备的远程操作装置,基于同样的思路,本说明书实施例还提供一种终端设备的远程操作设备,如图16所示。
所述终端设备的远程操作设备可以为上述实施例提供服务器、平台前端服务器、上位机等。
终端设备的远程操作设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器1601和存储器1602,存储器1602中可以存储有一个或一个以上存储应用程序或数据。其中,存储器1602可以是短暂存储或持久存储。存储在存储器1602的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对终端设备的远程操作设备中的一系列计算机可执行指令。更进一步地,处理器1601可以设置为与存储器1602通信,在终端设备的远程操作设备上执行存储器1602中的一系列计算机可执行指令。终端设备的远程操作设备还可以包括一个或一个以上电源1603,一个或一个以上有线或无线网络接口1604,一个或一个以上输入输出接口1605,一个或一个以上键盘1606。
具体在本实施例中,终端设备的远程操作设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对终端设备的远程操作设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;
接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,具体在本实施例中,终端设备的远程操作设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对终端设备的远程操作设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;
接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,具体在本实施例中,终端设备的远程操作设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对终端设备的远程操作设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;
基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于终端设备的远程操作设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供一种终端设备的远程操作设备,通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
进一步地,基于上述图2到图7、图9到图12所示的方法,本说明书一个或多个实施例还提供了一种存储介质,用于存储计算机可执行指令信息,一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;
接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;
接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,在另一种具体的实施例中,该存储介质可以为U盘、光盘、硬盘等,该存储介质存储的计算机可执行指令信息在被处理器执行时,能实现以下流程:
当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;
基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于上述一种存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供一种存储介质,通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
进一步地,基于上述图2到图7、图9到图12所示的方法,本说明书一个或多个实施例还提供了一种计算机程序产品,包括计算机程序,该计算机程序产品中的计算机程序在被处理器执行时,能实现以下流程:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向所述终端设备发送所述目标页面的页面元素抓取指令;
接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,在另一种具体的实施例中,该计算机程序产品,包括计算机程序,该计算机程序产品中的计算机程序在被处理器执行时,能实现以下流程:
当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令;
接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
此外,在另一种具体的实施例中,该计算机程序产品,包括计算机程序,该计算机程序产品中的计算机程序在被处理器执行时,能实现以下流程:
当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收所述平台前端服务器发送的所述目标页面的页面元素抓取指令;
基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息;
将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于上述一种存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书实施例提供一种计算机程序产品,通过检测到无法正常远程显示终端设备当前显示的目标页面时,向终端设备发送目标页面的页面元素抓取指令,然后,接收终端设备基于页面元素抓取指令在目标页面中抓取的页面控件构建的控件树的信息,之后,基于控件树的信息,在当前无法正常远程显示的页面中对控件树进行渲染,得到目标页面对应的远程渲染页面,最终,可以基于用户在远程渲染页面中的操作行为,远程控制终端设备在目标页面中执行与该操作行为相应的操作,这样,通过自动化工具,获取终端设备中正常显示但远程显示时出现异常的页面的控件树的信息,通过控件树的信息在服务器端重新渲染终端设备中的页面,并基于该页面远程控制终端设备执行当前页面中的操作,从而提高了金融类、证券类应用程序的开发者开发效率,让开发者在确保信息安全的同时,能够更加便捷地进行调试和测试工作,为应用程序的稳定性和用户体验提供了有力保障。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字***“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、***、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程欺诈案例的串并设备的处理器以产生一个机器,使得通过计算机或其他可编程欺诈案例的串并设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程欺诈案例的串并设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程欺诈案例的串并设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、***或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本文件。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (20)
1.一种终端设备的远程操作方法,其特征在于,所述方法包括:
在终端设备的远程真机调试过程中,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过用户点击控件树按键触发向所述终端设备发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作;
所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;
基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
2.根据权利要求1所述的方法,其特征在于,所述页面元素抓取指令中包括UIAutomator dump命令,所述接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息,包括:
接收所述终端设备基于所述页面元素抓取指令中的UIAutomator dump命令在所述目标页面中抓取的页面控件构建的控件树的XML信息。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
将所述控件树的信息转换为预设数据交换格式的控件树数据,基于转换后的控件树数据,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,所述预设数据交换格式包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种。
4.根据权利要求1所述的方法,其特征在于,所述目标页面包括不允许进行截图操作或录屏操作的页面,所述无法正常远程显示终端设备当前显示的目标页面包括远程显示终端设备当前显示的目标页面为黑屏页面。
5.根据权利要求4所述的方法,其特征在于,所述基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作,包括:
获取用户在所述远程渲染页面中的操作行为的数据;
将所述操作行为的数据发送给所述终端设备,所述操作行为的数据用于触发所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
6.一种终端设备的远程操作***,其特征在于,所述***包括服务器和终端设备,其中:
所述服务器,被配置为在终端设备的远程真机调试过程中,当检测到无法正常远程显示所述终端设备当前显示的目标页面时,通过用户点击控件树按键触发向所述终端设备发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
所述终端设备,被配置为分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的控件树的信息,将所述控件树的信息发送给所述服务器;
所述服务器,被配置为基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作;
所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;
基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
7.根据权利要求6所述的***,其特征在于,所述页面元素抓取指令中包括UIAutomator dump命令,所述终端设备,被配置为基于所述页面元素抓取指令中的UIAutomator dump命令在所述目标页面中抓取的页面控件构建的控件树的XML信息,将所述控件树的XML信息发送给所述服务器。
8.根据权利要求6所述的***,其特征在于,所述服务器,被配置为获取用户在所述远程渲染页面中的操作行为的数据;将所述操作行为的数据发送给所述终端设备;
所述终端设备,被配置为基于所述操作行为的数据,在所述目标页面中执行与所述操作行为相应的操作。
9.一种终端设备的远程操作方法,应用于平台前端服务器,其特征在于,所述方法包括:
在终端设备的远程真机调试过程中,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过用户点击控件树按键触发向上位机发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作;
所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;
基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
10.根据权利要求9所述的方法,其特征在于,所述当检测到无法正常远程显示终端设备当前显示的目标页面时,向上位机发送所述目标页面的页面元素抓取指令,包括:
当检测到无法正常远程显示终端设备当前显示的目标页面时,通过预设的通讯协议向上位机发送所述目标页面的页面元素抓取指令,所述通讯协议包括WebSocket协议。
11.根据权利要求9所述的方法,其特征在于,所述页面元素抓取指令中包括UIAutomator dump命令,所述接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息,包括:
接收所述上位机基于所述页面元素抓取指令中的UIAutomator dump命令在所述终端设备的目标页面中抓取的页面控件构建的控件树的XML信息。
12.一种终端设备的远程操作方法,应用于上位机,其特征在于,所述方法包括:
在终端设备的远程真机调试过程中,当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收通过用户点击控件树按键触发所述平台前端服务器发送的所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作,所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则;
所述将所述控件树的信息发送给所述平台前端服务器,包括:
将筛选后的控件树的信息发送给所述平台前端服务器,所述筛选后的控件树的信息用于触发所述平台前端服务器基于所述筛选后的控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
14.一种终端设备的远程操作***,其特征在于,所述***包括平台前端服务器、上位机和终端设备,其中:
所述平台前端服务器,被配置为在终端设备的远程真机调试过程中,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过用户点击控件树按键触发向上位机发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
所述上位机,被配置为基于所述页面元素抓取指令向所述终端设备发送抓取所述目标页面中的页面控件构建的控件树的指令;
所述终端设备,被配置为将抓取的所述目标页面中的页面控件构建的控件树的信息发送给所述上位机,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
所述上位机,被配置为将控件树的信息发送给所述平台前端服务器;
所述平台前端服务器,被配置为基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作。
15.根据权利要求14所述的***,其特征在于,所述上位机,被配置为将所述控件树的信息转换为预设数据交换格式的控件树数据,将转换后的控件树数据发送给所述平台前端服务器,预设数据交换格式可以包括JSON格式、协议缓冲区Protobuf格式、BSON格式、信息包MessagePack格式中的一种或多种;
所述平台前端服务器,被配置为基于转换后的控件树数据,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面。
16.根据权利要求14所述的***,其特征在于,所述平台前端服务器,被配置为获取用户在所述远程渲染页面中的操作行为的数据,将所述操作行为的数据发送给所述上位机;
所述上位机,被配置为将所述操作行为的数据发送给所述终端设备;
所述终端设备,被配置为基于所述操作行为的数据在目标页面中执行与所述操作行为相应的操作。
17.一种终端设备的远程操作装置,其特征在于,所述装置包括:
指令发送模块,在终端设备的远程真机调试过程中,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过用户点击控件树按键触发向所述终端设备发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
信息接收模块,接收所述终端设备基于所述页面元素抓取指令在所述目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
渲染模块,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
远程控制模块,基于用户在所述远程渲染页面中的操作行为,远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作;
所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;
基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
18.一种终端设备的远程操作装置,其特征在于,所述装置包括:
抓取指令发送模块,在终端设备的远程真机调试过程中,当检测到无法正常远程显示终端设备当前显示的目标页面时,通过用户点击控件树按键触发向上位机发送所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
信息接收模块,接收所述上位机基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
页面渲染模块,基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面;
远程控制模块,基于用户在所述远程渲染页面中的操作行为,通过所述上位机远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作;
所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:
基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;
基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
19.一种终端设备的远程操作装置,其特征在于,所述装置包括:
指令接收模块,在终端设备的远程真机调试过程中,当平台前端服务器检测到无法正常远程显示终端设备当前显示的目标页面时,接收通过用户点击控件树按键触发所述平台前端服务器发送的所述目标页面的页面元素抓取指令,所述目标页面是终端设备中指定应用程序中的指定页面;
页面元素抓取模块,基于所述页面元素抓取指令在所述终端设备的目标页面中抓取的页面控件构建的控件树的信息,所述控件树的信息是所述终端设备分析所述页面元素抓取指令后确定所述页面元素抓取指令无法直接使用进行页面元素的抓取时,所述终端设备基于所述页面元素抓取指令的语义信息,生成与所述页面元素抓取指令具有相同功能的指令,以此将所述页面元素抓取指令转换为所述终端设备能够直接使用的指令,基于转换后的指令在所述目标页面中抓取页面控件,并通过抓取的页面控件和所述页面控件对应的层次结构信息构建的相应的控件树的信息;
信息发送模块,将所述控件树的信息发送给所述平台前端服务器,所述控件树的信息用于触发所述平台前端服务器基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,并基于用户在所述远程渲染页面中的操作行为,通过所述装置远程控制所述终端设备在所述目标页面中执行与所述操作行为相应的操作,所述基于所述控件树的信息,在当前无法正常远程显示的页面中对所述控件树进行渲染,得到所述目标页面对应的远程渲染页面,包括:基于预设的数据筛选规则和所述控件树的信息对所述控件树进行筛选处理,得到筛选后的控件树的信息,所述数据筛选规则包括筛除除控件树中页面控件中的可操作组件的预设属性信息和不可操作组件中用于展示的文本数据之外的数据的规则,所述可操作组件包括所述页面控件中的点击组件、输入组件,所述预设属性信息包括用于在服务器侧为用户呈现与所述目标页面的同一位置的页面控件相关的属性信息,所述预设属性信息包括标识、位置信息、尺寸信息、文本数据,所述不可操作组件包括用于提示的组件、仅用于展示的图标组件;基于筛选后的控件树的信息,在当前无法正常远程显示的页面中突出显示所述可操作组件,并显示所述不可操作组件中用于展示的文本数据,以进行所述控件树的渲染处理,得到所述目标页面对应的远程渲染页面,所述目标页面与所述远程渲染页面中,所述目标页面显示于所述终端设备中,所述远程渲染页面显示于服务器中,两个页面的主要内容相同,两个页面中的相同功能的页面控件所在的位置相互对应。
20.一种终端设备的远程操作设备,其特征在于,所述终端设备的远程操作设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时实现如权利要求1至5中任一项或权利要求9至13中任一项所述的终端设备的远程操作方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245130.5A CN117827357B (zh) | 2024-03-04 | 2024-03-04 | 一种终端设备的远程操作方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410245130.5A CN117827357B (zh) | 2024-03-04 | 2024-03-04 | 一种终端设备的远程操作方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117827357A CN117827357A (zh) | 2024-04-05 |
CN117827357B true CN117827357B (zh) | 2024-06-14 |
Family
ID=90515754
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410245130.5A Active CN117827357B (zh) | 2024-03-04 | 2024-03-04 | 一种终端设备的远程操作方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827357B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035867A (zh) * | 2014-06-04 | 2014-09-10 | 重庆泰凯科技有限公司 | 基于Android的应用功能遍历测试方法 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN113722164A (zh) * | 2021-08-23 | 2021-11-30 | 中国电力科学研究院有限公司 | 移动端自动化测试和远程真机调试方法、***及存储介质 |
CN116501431A (zh) * | 2023-04-27 | 2023-07-28 | 江苏苏宁银行股份有限公司 | 一种页面元素定位方法、装置和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1818812B1 (en) * | 2006-01-25 | 2016-01-06 | Brandt Technologies Limited | System and method for effecting simultaneous control of remote computers |
US8762881B2 (en) * | 2010-07-15 | 2014-06-24 | Salesforce.Com, Inc. | Taking screenshots of a failed application |
US10430212B1 (en) * | 2016-07-13 | 2019-10-01 | Screenshare Technology Ltd. | Method for recording, editing and reproduction of computer session |
CN108647076B (zh) * | 2018-05-14 | 2020-07-24 | 阿里巴巴集团控股有限公司 | 一种页面处理方法、装置及设备 |
CN111552473B (zh) * | 2020-04-27 | 2024-02-09 | 腾讯科技(深圳)有限公司 | 一种应用程序的处理方法、装置及设备 |
CN111881393A (zh) * | 2020-07-22 | 2020-11-03 | 北京三快在线科技有限公司 | 一种页面渲染方法、装置、介质及电子设备 |
-
2024
- 2024-03-04 CN CN202410245130.5A patent/CN117827357B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035867A (zh) * | 2014-06-04 | 2014-09-10 | 重庆泰凯科技有限公司 | 基于Android的应用功能遍历测试方法 |
CN112269746A (zh) * | 2020-11-10 | 2021-01-26 | 京东数科海益信息科技有限公司 | 自动化测试方法及相关设备 |
CN113722164A (zh) * | 2021-08-23 | 2021-11-30 | 中国电力科学研究院有限公司 | 移动端自动化测试和远程真机调试方法、***及存储介质 |
CN116501431A (zh) * | 2023-04-27 | 2023-07-28 | 江苏苏宁银行股份有限公司 | 一种页面元素定位方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117827357A (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2642394B1 (en) | Test device | |
CN108924029B (zh) | 一种客服数据发送的方法及装置 | |
CN112000563B (zh) | 用户行为的记录方法、装置及设备 | |
US10176239B2 (en) | Automation-assisted curation of technical support information | |
US10331871B2 (en) | Password input interface | |
CN109074278B (zh) | 验证移动应用中的有状态动态链接 | |
CN108376335B (zh) | 一种支付方法、装置及设备 | |
US9804767B2 (en) | Light dismiss manager | |
CN107122289A (zh) | ***回归测试的方法、装置及*** | |
KR102217749B1 (ko) | 전자 장치 및 이의 기능 실행 방법 | |
CN113220272B (zh) | 一种业务平台的开放能力接入方法、装置以及设备 | |
US10078510B1 (en) | Late-stage software feature reduction tool for security and performance | |
CN106126424A (zh) | 一种脚本可视化的自动化测试方法、装置和移动终端 | |
WO2019095861A1 (zh) | 数据处理方法和装置、终端设备、服务器 | |
CN112015626A (zh) | 用户行为的记录方法、装置及设备 | |
CN107741902A (zh) | 程序应用检测方法及程序应用检测装置 | |
CN113626102A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
KR20130085146A (ko) | 애플리케이션 파일 재개와 그를 위한 스크린 캡처 방법 및 장치 | |
CN117827357B (zh) | 一种终端设备的远程操作方法、装置及设备 | |
WO2023273621A1 (zh) | 脚本生成方法、装置、设备及介质 | |
CN108021317B (zh) | 用于屏幕编辑的方法及装置 | |
CN115421770A (zh) | 资源信息的处理方法及装置、存储介质、电子设备 | |
TWI732139B (zh) | 數位物件唯一識別碼(doi)展示和交易資訊校驗方法、裝置及設備 | |
US20150378530A1 (en) | Command surface drill-in control | |
EP2811308A1 (en) | Method and system for tracing and processing smart card interactive data |
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 |