CN110704148B - 设备页面元素的获取方法、装置、服务器及存储介质 - Google Patents
设备页面元素的获取方法、装置、服务器及存储介质 Download PDFInfo
- Publication number
- CN110704148B CN110704148B CN201910894917.3A CN201910894917A CN110704148B CN 110704148 B CN110704148 B CN 110704148B CN 201910894917 A CN201910894917 A CN 201910894917A CN 110704148 B CN110704148 B CN 110704148B
- Authority
- CN
- China
- Prior art keywords
- equipment
- page element
- target
- acquiring
- event
- 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
Classifications
-
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请涉及终端设备的页面元素获取技术领域,本申请提供一种设备页面元素的获取方法、装置、服务器及存储介质,所述设备页面元素的获取方法包括接收web界面发送的获取设备页面元素的事件消息;通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的设备页面元素;接收所述目标设备返回的设备页面元素设备页面元素,将所述设备页面元素返回至所述web界面。本申请的设备页面元素的获取方案降低操作难度,有助于提高终端设备的设备页面元素的获取效率。
Description
技术领域
本申请涉及终端设备的页面元素获取技术领域,具体而言,本申请涉及一种设备页面元素的获取方法、装置、服务器及存储介质。
背景技术
随着终端设备的广泛应用,测试人员在编写UI自动化用例时,经常需要获取应用的事件消息,而且对于不同操作***,以目前的操作方式需要使用不同的工具进行获取,如对于Android设备,主要通过Android SDK提供的工具事件消息,对于iOS设备,通过WebDriverAgent测试框架获取事件消息。涉及到更为具体的事件信息为获取查看设备页面元素,对于Android设备,主要通过Android SDK提供的工具uiautomator工具获取页面元素,对于iOS设备,通过WebDriverAgent测试框架提供的inspector功能获取页面控件。在此过程中,测试人员需要分别安装以上两种框架的环境,过程繁琐,而测试人员有较高的要求,而且执行效率较为低下。
发明内容
为克服以上解决当前设备页面元素的获取所造成过程繁琐和效率低下等问题,本申请特提出以下技术方案:
第一方面,本申请提供一种设备页面元素的获取方法,其包括以下步骤:
接收web界面发送的获取设备页面元素的事件消息;
通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的设备页面元素;
接收所述目标设备返回的设备页面元素设备页面元素,将所述设备页面元素返回至所述web界面。
在其中一个实施例中,所述通过消息队列将所述事件消息推送至业务逻辑进程之前,还包括:
根据所述事件消息建立对应的事件通道,利用所述事件通道进行监听。
在其中一个实施例中,所述利用所述事件通道进行监听的步骤包括:
将所述事件通道加入监听队列,并以所述事件消息设定为所述事件通道的订阅主题;
利用所述事件通道对所述订阅主题的事件消息进行监听。
在其中一个实施例中,将所述获取设备页面元素设定为sceen.dump事件;
所述接收web界面发送的获取设备页面元素的事件消息的步骤包括:
当接收web界面发送sceen.dump事件,将所述sceen.dump事件封装成ScreenDumpMessgae的事件消息。
在其中一个实施例中,所述通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的页面元素的步骤,包括:
所述业务逻辑层根据所述事件消息,获取所述目标设备的操作***类型;
根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具,驱动目标设备执行事件消息。
在其中一个实施例中,所述驱动目标设备执行事件消息的步骤包括:
所述业务逻辑层通过安装在目标设备的应用程序,驱动目标设备执行事件消息。
在其中一个实施例中,所述驱动目标设备执行事件消息的步骤之前,还包括:
获取目标设备的属性信息,对所述捕获工具的进行驱动验证;
若验证成功,将利用所述捕获工具的捕获命令发送至目标设备,以获取设备页面元素。
在其中一个实施例中,所述根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具的步骤,包括:
当所述目标设备的操作***类型为Android***,利用所述业务逻辑层为目标设备调用ADB;
当所述目标设备的操作***类型为IOS***,利用所述业务逻辑层为目标设备调用WebDriverAgent。
在其中一个实施例中,所述接收所述目标设备返回的设备页面元素的步骤之前,还包括:
通过所述业务逻辑层获取存储在目标设备的本地文件,并将所述本地文件解析转换为json文件。
在其中一个实施例中,所述接收所述目标设备返回的设备页面元素的步骤,包括:
接收所述目标设备返回的本地文件并解析获取对应的json文件;
读取所述json文件获取对应的页面标签;
根据所述页面标签得到目标设备的设备页面元素。
在其中一个实施例中,所述将所述设备页面元素返回至所述web界面的步骤包括:
将所述设备页面元素使用react框架在所述web界面进行展示。
第二方面,本申请还提供一种设备页面元素的获取装置,其包括:
接收模块,用于接收web界面发送的获取设备页面元素的事件消息;
调用模块,用于通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的设备页面元素;
返回模块,用于接收所述目标设备返回的设备页面元素设备页面元素,将所述设备页面元素返回至所述web界面。
第三方面,本申请还提供一种服务器,其包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行第一方面任一实施例所述的设备页面元素的获取方法。
第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现第一方面任一实施例所述的设备页面元素的获取方法。
本申请所提供的设备页面元素的获取方法、装置、服务器及存储介质,向目标设备发送获取设备页面元素的事件消息,无需先考虑目标设备的操作***类型。而是先通过消息队列将所述事件消息推送至业务逻辑层,再判断目标设备的操作***类型,调用相应的捕获工具进行设备页面元素的捕获,并通过服务器将设备页面元素返回至web界面进行展示。本申请只需通过web界面向与目标设备进行数据连接的服务器同一发送获取设备页面元素的事件消息,并由服务器根据目标设备的操作***类型,调用对应的捕获工具进行设备页面元素的获取,并将目标设备返回的设备页面元素进行统一展示。
本申请所提供的设备页面元素获取方案,用户通过web界面统一发送事件消息和获取设备页面元素,简化了执行的程序,有助于减少服务器的运算量;而且,用户无需如现有技术中,需要针对目标设备的操作***类型,分别发送对应的事件消息,降低了操作难度,有助于提高设备页面元素获取的操作效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例执行设备页面元素的获取方案的应用环境图;
图2是本申请中的一个实施例的设备页面元素的获取方法的流程图;
图3a为本申请所提供的一种设备页面元素的获取方法的目标设备选择界面示意图;
图3b为本申请所提供的一种设备页面元素的获取方法的操作界面示意图;
图4是本申请中的另一个实施例的设备页面元素的获取方法的流程图;
图5为本申请的步骤S220的分步骤的流程示意图;
图6为本申请的步骤S230的分步骤的流程示意图;
图7为本申请中的又一实施例所提供的设备页面元素的获取方法的流程图;
图8是本申请中的一个实施例所提供的设备页面元素的获取装置的结构示意图;
图9是本申请中的一个实施例所提供的服务器的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作和/或它们的组。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通讯链路上,执行双向通讯的接收和发射硬件的设备。
参考图1所示,图1是本申请实施例执行设备页面元素的获取方案的应用环境图。该实施例中,本申请技术方案是通过网络连接基于设备集群平台110通过服务器120向目标设备130发送获取设备页面元素的事件消息,所示目标设备130根据事件消息进行设备页面元素的获取并原路返回至设备集群平台110的界面。
为了降低获取不同操作***的终端设备的设备页面元素的难度,从而提高获取效率,本申请提供了一种设备页面元素的获取方法。可参考图2,图2是本申请中的一个实施例的设备页面元素的获取方法的流程图,该设备页面元素的获取方法包括以下步骤:
S210、接收web界面发送的获取设备页面元素的事件消息。
用户通过控制终端的web界面,通过服务器向目标设备发出获取设备页面元素的事件消息。在本实施例中,所述web界面为设备集群平台上执行操作的web界面。在该设备集群平台设置有不同终端设备的操作链接,该操作链接可以如显示对应终端设备的图标等表现形式。用户可以通过该操作链接,向对应的终端设备发出事件消息。
服务器根据用户通过设备集群平台的web界面所发送的获取设备页面元素的事件消息进行数据处理,以便向目标设备发送获取设备页面元素的指令。
本步骤可参照图3a-3b,图3a为本申请所提供的一种设备页面元素的获取方法的目标设备选择界面示意图,图3b为本申请所提供的一种设备页面元素的获取方法的操作界面示意图。如图3a所述,用户通过设备集群平台的web设备选择界面,选取获取设备页面元素的目标设备。web界面根据选定,web界面跳转至设备页面元素获取的操作界面,如图4所示。在该操作界面上,用户通过点击界面上的检查器控件,向服务器发出对应的事件消息。服务器建立与该检查器控件对应的Xpath路径,并通过该Xpath路径获取针对该目标设备的设备页面元素的事件消息。
S220、通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型调用相应的捕获工具获取所述目标设备的设备页面元素。
在本申请中,服务器通过中间层接收到用户通过控制终端的web界面所发送的事件消息后,服务器将所述事件消息作为消息队列的主题,并添加至消息队列,并通过该消息队列将该事件消息推送至业务逻辑层。
其中,所述消息队列可以是服务器通过所获取的事件消息得到目标设备的设备序列号所形成的消息队列。
当业务逻辑层接收到所述事件消息后,根据所述事件消息获取所述目标设备的操作***类型,该操作***类型可为Android、IOS或微软等。根据目标设备的操作***类型调用与对应操作***类型的捕获工具,并根据目标设备的通信地址,向该目标设备发出获取对应目标设备的设备页面元素的指令,驱动所述目标设备执行获取设备页面元素的操作。
S230、接收所述目标设备返回的设备页面元素,将所述设备页面元素返回至所述web界面。在本步骤中,所述目标设备执行获取设备页面元素的操作,并经过服务器的解析和数据转换后,并将该设备页面元素返回至web界面进行展示。
在本申请所提供的一种设备页面原始的获取方法,通过统一通过web界面,获取用户对不同操作***类型的目标设备的获取设备页面元素的事件消息,服务器根据该事件消息得到的目标设备的操作***类型,对应调用相应的捕获工具,并向该目标设备发送获取设备页面元素的指令,并通过web界面展示统一展示。本申请的方案将,针对不同操作***类型的目标设备发送事件消息和设备页面元素的展示,均统一至web界面完成,简化了获取目标设备的设备页面元素的操作,有助于提高设备页面元素的获取效率。
在步骤S220之前,还进一步包括:
根据所述事件消息建立对应的事件通道,利用所述事件通道进行监听。
服务器接收到所述事件消息,并针对该事件消息建立对应的时间通道。服务器利用该事件通道对该事件消息进行监听。当用户通过所述web界面发送所述事件消息时,该事件通道监听到该事件消息时,将该事件消息通过消息队列将所述事件消息推送至业务逻辑层。当目标设备返回设备页面元素至业务逻辑层,所述事件通道监听到与该事件消息的返回信息时,将该返回信息返回至web界面。
可参考图4,图4是本申请中的另一个实施例的设备页面元素的获取方法的流程图。
对于上述根据所述事件消息建立对应的事件通道,利用所述事件通道进行监听的步骤,还可进一步包括:
S2101、将所述事件通道加入监听队列,并以所述事件消息设定为所述事件通道的订阅主题;
S2102、利用所述事件通道对所述订阅主题的事件消息进行监听。
对于步骤S2101-S2102,服务器根据不同事件消息建立对应的事件通道后,将每个事件通道添加至监听队列中。而每个该事件通道只针对对应的事件消息进行监听。并且,每个事件通道以该事件消息设定为所述事件通道的订阅主题,以便事件通道对该事件消息或与该事件消息对应的返回信息进行监听并传送。利用所述事件通道及对事件消息设定为该事件通道的订阅主题,可以确保该事件消息能传送至对应的目标设备,并接收到该目标设备执行获取设备页面元素的操作结果,达到准确传送和接收数据的目的。
在本实施例中,所述将所述获取设备页面元素设定为sceen.dump事件。
在此基础上,步骤S210可包括:
当接收web界面发送sceen.dump事件,将所述sceen.dump事件封装成ScreenDumpMessgae的事件消息。
将所述获取设备页面元素设定为sceen.dump事件,经过服务器在中间层进行封装,形成ScreenDumpMessgae的事件消息。将该ScreenDumpMessgae的事件消息作为消息队列的主题并添加至消息队列,向所述业务逻辑层进行推送。在该实施例中,根据对事件的设定和封装处理,更便于服务器对获取设备页面元素的任务的识别,及时对相应的命令做出及时的响应,有助于提高本申请对鼠标页面元素的获取的效率。
参照图5,图5为本申请的步骤S220的分步骤的流程示意图。
对于步骤S220中的通过所述业务逻辑层根据目标设备的操作***类型调用相应的捕获工具获取所述目标设备的页面元素的步骤,包括:
S221、所述业务逻辑层根据所述事件消息,获取所述目标设备的操作***类型;
S222、根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具,驱动目标设备执行事件消息。
对于步骤S221-S222,当业务逻辑层通过中间层获取事件消息,并根据该事件消息获取目标设备的设备参数。该设备信息包括设备型号和设备的操作***类型等内容。
业务逻辑层根据得到的关于目标设备的操作***类型,调用与操作***类型对应的获取设备页面元素的捕获工具。业务逻辑层调用所述捕获工具,向对应的目标设备发送对应的捕获命令,以驱动所述目标设备执行获取设备页面元素的事件消息。
相对地,在本实施例中,所述驱动目标设备执行事件消息的步骤包括:
所述业务逻辑层通过安装在目标设备的应用程序,驱动目标设备执行事件消息。
所述目标设备上安装了对应的执行获取设备页面元素的应用程序。当业务逻辑层向目标设备发送捕获命令时,驱动该目标设备中的应用程序。所述应用程序根据业务逻辑层所传送的捕获命令,对自身当前的UI(User Interface,用户界面的简称)进行获取。
本实施例将直接执行获取设备页面元素的程序分别安装在各个执行的终端设备上,改变了现有技术中分别针对不同操作***类型的目标设备传送不同的事件消息的做法,便于实现以统一的web界面向不同的目标设备的发送事件消息,进一步降低获取设备页面元素的操作难度,更有利于提高设备页面元素的获取效率。
在此基础上,所述驱动目标设备执行事件消息的步骤之前,还包括:
获取目标设备的属性信息,对所述捕获工具的进行驱动验证;
若验证成功,将利用所述捕获工具的捕获命令发送至目标设备,以获取设备页面元素。
在本实施例中,当目标设备获取到捕获命令时,是业务逻辑层获取目标设备的属性信息,得到目标设备的操作***类型,并对该捕获命令对应的捕获工具进行操作***类型的驱动验证。
经过验证后,得到所述捕获工具对应的操作***类型与从目标设备的属性信息所得到的作***类型是一致的结果,那么验证成功。业务逻辑层直接根据自身验证成功的结果,业务逻辑层将所述捕获工具的捕获命令发送至目标设备,以驱动目标设备执行事件消息。这样,能确保目标设备所接收到捕获命令,能够执行事件消息,以减少目标设备执行错误命令的情况,有助于提高目标设备执行获取设备页面元素的效率。
对于步骤S222中,所述根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具的步骤,可进一步包括:
当所述目标设备的操作***类型为Android***,利用所述业务逻辑层为目标设备调用ADB;
当所述目标设备的操作***类型为IOS***,利用所述业务逻辑层为目标设备调用WebDriverAgent。
在步骤S2221-S2222中,针对目标设备的操作***类型,对应调用不同的捕获工具以执行获取设备页面元素。
若根据所述事件消息得到对应目标设备的操作***类型为Android***时,所述业务逻辑成调用ADB,并向目标设备发送ADB命令,以驱动目标设备执行获取设备页面元素的事件消息。
若根据所述事件消息得到对应目标设备的操作***类型为IOS***时,所述业务逻辑成调用WebDriverAgent,通过WebDriverAgent测试框架提供的inspector指令,启动所述目标设备的应用程序,通过XCTest.framework和调用IOS***的API来直接在终端设备上执行获取设备页面元素的事件消息。
在步骤S230中的所述接收所述目标设备返回的设备页面元素的步骤之前,还包括:
通过所述业务逻辑层获取存储在目标设备的本地文件,并将所述本地文件解析转换为json文件。
接收并执行捕获工具发出的捕获命令后,目标设备将当前获取的设备页面元素存储在本地文件中。服务器通过所述业务逻辑层获取该本地文件并读取后,将该本地文件解析转换为json文件
参照图6,图6为本申请的步骤S230的分步骤的流程示意图。
在此基础上,对于步骤S230中的所述接收所述目标设备返回的设备页面元素的步骤,包括:
S231、接收所述目标设备返回的本地文件并解析获取对应的json文件;
S232、读取所述json文件获取对应的页面标签;
S233、根据所述页面标签得到目标设备的设备页面元素。
在步周S231-S233,当服务器通过业务逻辑层接收目标设备返回的本都文件,并解析得到对应的json文件,并传送至设备集群平台。所述对所述json文件进行解析得到对应的页面标签。根据所述页面标签得到该目标设备的UI所显示的设备页面元素。
在此基础上,对于步骤S230中的所述将所述设备页面元素返回至所述web界面的步骤包括:
S234、将所述设备页面元素使用react框架在所述web界面进行展示。
将所述设备集群平台所获得的UI所显示设备页面元素,通过使用react框架,在所述设备集群平台的web界面进行展示,供用户使用。
为了更好地对本申请的设备页面元素的获取方法的执行过程进行说明,以下以一具体实施例进行描述。同时,可参考图7,图7为本申请中的又一实施例所提供的设备页面元素的获取方法的流程图。
S701、接收用户在设备集群平台对目标设备的选定和sceen.dump事件;
S702、根据sceen.dump事件创建事件通道,将事件通道加入监听队列;
S703、将sceen.dump事件封装成ScreenDumpMessgae的事件消息,由消息队列推送至业务逻辑层;
S704、对所述目标设备的操作***类型进行判断;若目标设备的操作***类型为Android***,转步骤S705;若目标设备的操作***类型为IOS***,转步骤S706;
S705、利用所述业务逻辑层为目标设备调用ADB;
S706、利用所述业务逻辑层为目标设备调用WebDriverAgent;
S707、目标设备根据捕获指令,获取UI的设备页面元素,并存储在本地文件;
S708、业务逻辑层读取本地文件并解析获取对应的json文件;
S709、读取所述json文件获取对应的页面标签;
S710、根据页面标签得到目标设备的设备页面元素,并返回设备集群平台的web界面进行展示。
上述实施例用户统一通过设备集群平台的web界面,进行发出获取设备页面元素的事件消息,并根据目标设备的操作***类型,进行相应的捕获工具的调用,以获取设备页面元素,最后以web界面统一展示。本实施例无需分别针对不同操作***类型的目标设备发出对应的事件消息,通过设备集群平台的web界面统一对目标设备发送事件消息并对目标设备返回的设备页面元素进行统一展示。从而降低了设备页面元素获取的难度,简化了对应的操作过程,可减少操作过程中出错的情况,而且有助于提高设备页面元素的获取效率。
基于与上述设备页面元素的获取方法相同的发明构思,本申请实施例还提供了一种设备页面元素的获取装置,参考图8,图8是本申请中的一个实施例的设备页面元素的获取装置的结构示意图,所述设备页面元素的获取装置包括:
接收模块810,用于接收web界面发送的获取设备页面元素的事件消息;
调用模块820,用于通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的设备页面元素;
返回模块830,用于接收所述目标设备返回的设备页面元素设备页面元素,将所述设备页面元素返回至所述web界面。
请参考图9,图9为本申请中的一个实施例的服务器的结构示意图。如图9所示,该服务器包括通过***总线连接的处理器910、存储介质920、存储器930和网络接口940。其中,该服务器的存储介质920存储有操作***、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器910执行时,可使得处理器910实现设备页面元素的获取方法,处理器910能实现图8所示实施例中的一种设备页面元素的获取装置中的接收模块810、调用模块820和返回模块830的功能。该服务器的处理器910用于提供计算和控制能力,支撑整个服务器的运行。该服务器的存储器930中可存储有计算机可读指令,该计算机可读指令被处理器910执行时,可使得处理器910执行设备页面元素的获取方法。该服务器的网络接口940用于与终端连接通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行设备页面元素的获取方法的步骤:接收web界面发送的获取设备页面元素的事件消息;通过消息队列将所述事件消息推送至业务逻辑层;其中,通过所述业务逻辑层根据目标设备的操作***类型,调用相应的捕获工具获取所述目标设备的设备页面元素;接收所述目标设备返回的设备页面元素设备页面元素,将所述设备页面元素返回至所述web界面。
综合上述实施例可知,本申请的有益效果在于:
本申请所提供的设备页面元素的获取方法、装置、服务器及存储介质,向目标设备发送获取设备页面元素的事件消息,无需先考虑目标设备的操作***类型。而是先将事件消息通过消息队列将所述事件消息推送至业务逻辑层,再判断目标设备的操作***类型,调用相应的捕获工具进行设备页面元素的捕获,并通过服务器将设备页面元素返回至web界面进行展示。本申请只需通过web界面向与目标设备进行数据连接的服务器同一发送获取设备页面元素的事件消息,并由服务器根据目标设备的操作***类型,调用对应的捕获工具进行设备页面元素的获取,并将目标设备返回的设备页面元素进行统一展示。
本申请所提供的设备页面元素获取方案,用户通过web界面统一发送事件消息和获取设备页面元素,简化了执行的程序,有助于减少服务器的运算量;而且,用户无需如现有技术中,需要针对目标设备的操作***类型,分别发送对应的事件消息,降低了操作难度,有助于提高设备页面元素获取的操作效率。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种设备页面元素的获取方法,其特征在于,包括以下步骤:
接收web界面发送的获取设备页面元素的事件消息;
通过消息队列将所述事件消息推送至业务逻辑层;其中,所述业务逻辑层根据所述事件消息,获取目标设备的操作***类型,根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具向所述目标设备发送捕获命令,驱动安装在该目标设备上执行获取设备页面元素的应用程序执行事件消息;所述应用程序根据业务逻辑层所传送的捕获命令,对自身当前的用户界面进行获取;
接收所述目标设备执行所述事件消息后返回的设备页面元素,将所述设备页面元素返回至所述web界面;
其中,驱动安装在该目标设备上执行获取设备页面元素的应用程序执行事件消息的步骤之前,还包括:
获取目标设备的属性信息,对所述捕获工具进行驱动验证;
若所述捕获工具对应的操作***类型与从目标设备的属性信息所得到的操作***类型是一致的,则利用所述捕获工具将捕获命令发送至目标设备,以获取设备页面元素。
2.根据权利要求1所述的方法,其特征在于,所述通过消息队列将所述事件消息推送至业务逻辑进程之前,还包括:
根据所述事件消息建立对应的事件通道,利用所述事件通道进行监听。
3.根据权利要求2所述的方法,其特征在于,所述利用所述事件通道进行监听的步骤包括:
将所述事件通道加入监听队列,并将所述事件消息设定为所述事件通道的订阅主题;
利用所述事件通道对所述订阅主题的事件消息进行监听。
4.根据权利要求1所述的方法,其特征在于,
将所述获取设备页面元素设定为sceen.dump事件;
所述接收web界面发送的获取设备页面元素的事件消息的步骤包括:
当接收web界面发送sceen.dump事件,将所述sceen.dump事件封装成ScreenDumpMessgae的事件消息。
5.根据权利要求1所述的方法,其特征在于,
所述根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具的步骤,包括:
当所述目标设备的操作***类型为Android***,利用所述业务逻辑层为目标设备调用ADB;
当所述目标设备的操作***类型为IOS***,利用所述业务逻辑层为目标设备调用WebDriverAgent。
6.根据权利要求1所述的方法,其特征在于,
所述接收所述目标设备返回的设备页面元素的步骤之前,还包括:
通过所述业务逻辑层获取存储在目标设备的本地文件,并将所述本地文件解析转换为json文件。
7.根据所述权利要求6所述的方法,其特征在于,
所述接收所述目标设备返回的设备页面元素的步骤,包括:
接收所述目标设备返回的本地文件并解析获取对应的json文件;
读取所述json文件获取对应的页面标签;
根据所述页面标签得到目标设备的设备页面元素。
8.根据所述权利要求7所述的方法,其特征在于,
所述将所述设备页面元素返回至所述web界面的步骤包括:
使用react框架将所述设备页面元素在所述web界面进行展示。
9.一种设备页面元素的获取装置,其特征在于,包括:
接收模块,用于接收web界面发送的获取设备页面元素的事件消息;
调用模块,用于通过消息队列将所述事件消息推送至业务逻辑层;其中,所述业务逻辑层根据所述事件消息,获取目标设备的操作***类型,根据所述操作***类型,利用所述业务逻辑层调用对应的捕获工具向所述目标设备发送捕获命令,驱动安装在该目标设备上执行获取设备页面元素的应用程序执行事件消息;所述应用程序根据业务逻辑层所传送的捕获命令,对自身当前的用户界面进行获取;
返回模块,用于接收所述目标设备执行所述事件消息后返回的设备页面元素,将所述设备页面元素返回至所述web界面;
其中,驱动安装在该目标设备上执行获取设备页面元素的应用程序执行事件消息的步骤之前,还包括:
获取目标设备的属性信息,对所述捕获工具进行驱动验证;
若所述捕获工具对应的操作***类型与从目标设备的属性信息所得到的操作***类型是一致的,则利用所述捕获工具将捕获命令发送至目标设备,以获取设备页面元素。
10.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序被配置为用于执行权利要求1至8任一项所述的设备页面元素的获取方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至8任一项所述的设备页面元素的获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894917.3A CN110704148B (zh) | 2019-09-20 | 2019-09-20 | 设备页面元素的获取方法、装置、服务器及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910894917.3A CN110704148B (zh) | 2019-09-20 | 2019-09-20 | 设备页面元素的获取方法、装置、服务器及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110704148A CN110704148A (zh) | 2020-01-17 |
CN110704148B true CN110704148B (zh) | 2023-09-05 |
Family
ID=69195917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910894917.3A Active CN110704148B (zh) | 2019-09-20 | 2019-09-20 | 设备页面元素的获取方法、装置、服务器及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110704148B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111428171B (zh) * | 2020-03-23 | 2023-06-30 | 郑州悉知信息科技股份有限公司 | 接口调用处理方法和*** |
CN113761415A (zh) * | 2020-11-24 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种页面展示方法和装置 |
CN113032080B (zh) * | 2021-03-31 | 2023-06-27 | 广州虎牙科技有限公司 | 页面实现方法、应用程序、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014029265A1 (en) * | 2012-08-24 | 2014-02-27 | Tencent Technology (Shenzhen) Company Limited | Method and system for pushing message box |
CN107004032A (zh) * | 2016-11-17 | 2017-08-01 | 华为技术有限公司 | 镜像文件转换方法及装置 |
CN107066377A (zh) * | 2017-01-18 | 2017-08-18 | 青岛海信电器股份有限公司 | 基于Android***的页面元素获取方法及终端设备 |
CN108052365A (zh) * | 2017-12-19 | 2018-05-18 | 深圳市四格互联信息技术有限公司 | 用户界面的组件生成方法及装置 |
CN108089967A (zh) * | 2017-12-12 | 2018-05-29 | 成都睿码科技有限责任公司 | 一种爬取安卓手机App数据的方法 |
CN108121650A (zh) * | 2016-11-29 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种对于页面用户界面的测试方法及装置 |
CN108415804A (zh) * | 2018-01-23 | 2018-08-17 | 平安普惠企业管理有限公司 | 获取信息的方法、终端设备及计算机可读存储介质 |
CN108984389A (zh) * | 2018-06-01 | 2018-12-11 | 平安科技(深圳)有限公司 | 一种应用程序测试方法及终端设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7668798B2 (en) * | 2000-04-04 | 2010-02-23 | Red Hat, Inc. | System and method for accessing data in disparate information sources |
-
2019
- 2019-09-20 CN CN201910894917.3A patent/CN110704148B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014029265A1 (en) * | 2012-08-24 | 2014-02-27 | Tencent Technology (Shenzhen) Company Limited | Method and system for pushing message box |
CN107004032A (zh) * | 2016-11-17 | 2017-08-01 | 华为技术有限公司 | 镜像文件转换方法及装置 |
CN108121650A (zh) * | 2016-11-29 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种对于页面用户界面的测试方法及装置 |
CN107066377A (zh) * | 2017-01-18 | 2017-08-18 | 青岛海信电器股份有限公司 | 基于Android***的页面元素获取方法及终端设备 |
CN108089967A (zh) * | 2017-12-12 | 2018-05-29 | 成都睿码科技有限责任公司 | 一种爬取安卓手机App数据的方法 |
CN108052365A (zh) * | 2017-12-19 | 2018-05-18 | 深圳市四格互联信息技术有限公司 | 用户界面的组件生成方法及装置 |
CN108415804A (zh) * | 2018-01-23 | 2018-08-17 | 平安普惠企业管理有限公司 | 获取信息的方法、终端设备及计算机可读存储介质 |
CN108984389A (zh) * | 2018-06-01 | 2018-12-11 | 平安科技(深圳)有限公司 | 一种应用程序测试方法及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110704148A (zh) | 2020-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110704148B (zh) | 设备页面元素的获取方法、装置、服务器及存储介质 | |
CN111083225B (zh) | 在物联网平台中的数据处理方法、装置及物联网平台 | |
US8843895B2 (en) | Debugger connection | |
CN111274510A (zh) | 页面渲染方法、装置、设备及可读存储介质 | |
CN109618225B (zh) | 视频抽帧方法、装置、设备和介质 | |
CN109101228B (zh) | 应用程序的执行方法和装置 | |
CN110232091B (zh) | 用于同步数据的方法、***和装置 | |
CN111818136A (zh) | 数据处理方法、装置、电子设备及计算机可读介质 | |
CN110209967B (zh) | 页面加载方法、装置、终端设备和计算机可读介质 | |
CN113672405B (zh) | 数据交互***和基于数据交互***的页面展示方法 | |
CN106454403B (zh) | 数据显示方法、设备及*** | |
CN111008054A (zh) | 页面显示方法、设备及电子设备 | |
CN114168853A (zh) | 一种数据可视化展示方法、装置、介质及电子设备 | |
CN114218052A (zh) | 一种业务交互图生成方法、装置、设备及存储介质 | |
CN102479082A (zh) | 客户端界面信息的提供方法、***和客户端界面生成装置 | |
CN107704365B (zh) | 一种移动端混合应用的监控数据上报方法及装置 | |
CN115809056B (zh) | 组件复用实现方法、装置和终端设备、可读存储介质 | |
CN108108369B (zh) | 公用接口库调用错误处理方法和装置 | |
CN111124907A (zh) | 一种***测试方法、装置和服务器 | |
CN110505258A (zh) | 网页加载及响应方法、装置、计算机设备和存储介质 | |
CN112559255B (zh) | 文件挂载恢复的测试方法、***、装置及存储介质 | |
CN117319374A (zh) | 文件预处理方法、业务执行方法以及相关装置 | |
CN114090933A (zh) | 一种跨域信息交互方法、设备及介质 | |
CN118132872A (zh) | 绘图显示方法、装置、终端设备及存储介质 | |
CN114840424A (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 |