CN113434221B - 软件自动化运行方法、装置、系统和服务器设备 - Google Patents
软件自动化运行方法、装置、系统和服务器设备 Download PDFInfo
- Publication number
- CN113434221B CN113434221B CN202110832846.1A CN202110832846A CN113434221B CN 113434221 B CN113434221 B CN 113434221B CN 202110832846 A CN202110832846 A CN 202110832846A CN 113434221 B CN113434221 B CN 113434221B
- Authority
- CN
- China
- Prior art keywords
- task
- software
- client
- configuration table
- server device
- 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 58
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种软件自动化运行方法、装置、系统和服务器设备,其中,该方法包括:接收由客户端发起的作用于目标软件的至少一个操作任务;根据所述操作任务确定任务配置表中对应的操作流程;所述任务配置表内预先配置有不同操作任务对应的自动化运行流程;根据所述操作任务对应的操作流程调用API执行自动化操作。通过本申请,节约了用户重复手动操作软件的时间,提高了软件利用率和任务处理效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种软件自动化运行方法、装置、系统和服务器设备。
背景技术
在生产制造过程中,利用软件可以实现自动化、智能化地控制、监测、管理各种设备和系统的运行,利用软件可以进行大量的反复测试来验证产品性能是否稳定、可靠。然而,随着软件操作任务不断增加,在保证准确性之外,操作任务执行的流程化、自动化、高效化也变得必不可少。
当需要利用给定软件执行多个操作任务或在不同配置条件下多次执行操作任务时,往往需要在任务执行前,人工手动重复进行一系列繁琐复杂的配置或控制操作,极大地耗费了时间和人力,降低了软件的任务执行效率。
发明内容
本申请实施例提供了一种软件自动化运行方法、装置、系统和服务器设备,以至少解决相关技术中软件运行时人工操作耗费时间和人力、效率低的问题。
第一方面,本申请实施例提供了一种软件自动化运行方法,包括:
接收由客户端发起的作用于目标软件的至少一个操作任务;
根据所述操作任务确定任务配置表中对应的操作流程;所述任务配置表内预先配置有不同操作任务对应的自动化运行流程;
根据所述操作任务对应的操作流程调用API执行自动化操作。
在其中一些实施例中,根据所述操作任务对应的操作流程调用API执行自动化操作包括:
根据操作任务对应的操作流程获取操作任务的配置信息;
根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤。
在其中一些实施例中,根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤之后,还包括:
保存每一个操作步骤的输出结果,以供后续步骤调用。
在其中一些实施例中,根据所述操作任务确定任务配置表中对应的操作流程之前,还包括:
当接收到多个操作任务时,对多个所述操作任务进行排队,得到任务排序,以根据所述任务排序依次执行各个操作任务。
在其中一些实施例中,还包括:
获取目标软件的任务执行状态并发送至客户端进行实时显示。
在其中一些实施例中,还包括:
通过共享文件夹与所述客户端进行数据交互。
第二方面,本申请实施例提供了一种软件自动化运行装置,包括:
操作任务接收单元,用于接收由客户端发起的作用于目标软件的至少一个操作任务;
操作流程确定单元,用于根据所述操作任务确定任务配置表中对应的操作流程;所述配置表内预先配置有不同操作任务对应的自动化运行流程;
自动化操作单元,用于根据所述操作任务对应的操作流程调用API执行所述自动化操作。
第三方面,本申请实施例提供了一种服务器设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以实现如上述第一方面所述的软件自动化运行方法。
第四方面,本申请实施例提供了一种软件自动化运行系统,包括:至少一个客户端和如上述第三方面所述的服务器设备;其中,所述服务器设备连接所述客户端;
所述客户端用于获取不同操作任务对应的配置信息并生成任务配置表,将所述任务配置表发送至所述服务器设备,以及向所述服务器设备发起作用于目标软件的至少一个操作任务。
在其中一些实施例中,所述客户端,还用于实时获取所述操作任务的任务执行状态。
相比于相关技术,本申请实施例提供的软件自动化运行方法、装置、系统和服务器设备,通过在配置表内预先配置不同操作任务对应的自动化运行流程,当接收由客户端发起的作用于目标软件的至少一个操作任务时,根据所述操作任务确定任务配置表中对应的操作流程,从而根据所述操作任务对应的操作流程调用API执行自动化操作,实现了通过配置化方式调用Windows API进行软件自动化操作,可以适用于各类软件,节约了用户重复手动操作软件的时间,提高了软件利用率和任务处理效率。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请其中一个实施例中软件自动化运行方法的应用场景示意图;
图2是本申请其中一个实施例中软件自动化运行方法的流程示意图;
图3是本申请其中一个实施例中任务配置表的示意图;
图4是本申请其中一个实施例中创建操作任务的参数配置界面示意图;
图5是本申请另一个实施例中创建操作任务的参数配置界面示意图;
图6是本申请其中一个实施例中根据所述操作任务对应的操作流程调用API执行自动化操作的流程示意图;
图7是本申请另一个实施例中软件自动化运行方法的流程示意图;
图8为本申请另一个实施例中客户端软件界面排版示意图;
图9是本申请其中一个实施例中软件自动化运行装置的结构框图;
图10是本申请其中一个实施例中计算机设备的结构示意图。
附图说明:101、服务器设备;102、客户端;201、操作任务接收单元;202、操作流程确定单元;203、自动化操作单元;30、总线;31、处理器;32、存储器;33、通信接口。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
随着软件类型规模的扩大和功能的增加,软件深入到人们工作、生活的各个方面,成为非常重要的实用工具。利用软件可以实现自动化、智能化地控制、监测、管理各种设备和系统的运行。在软件运行过程中,如果采用手工操作,不同的软件、不同的任务需求下相关人员需要投入大量资源,进行重复的参数配置以实现多次反复测试,降低了软件运行效率。
随着软件自动化技术的不断衍生,其已经渗透至金融、医疗、制造业等各个领域。本申请中描述的软件自动化运行方法可用于上述领域内各种软件的自动化操作过程中。例如软件的测试开发过程、产品的生产制造过程、自动化办公(office Automation,OA)过程、设备的智能控制过程或利用软件进行仿真测试过程等等。所述软件可以是各种工业软件如测试开发工具、计算机辅助设计(CAD)、辅助制造(CAM)等;也可以是业务管理软件如产品生命周期管理系统、医疗信息管理软件等等;还可以是各类设备的控制和测试软件等,本申请对此不做限定。
示例性的,图1是本申请实施例提供的软件自动化运行方法的应用场景示意图。如图1所示,服务器设备101与至少一个客户端102连接,所述服务器设备101和客户端102运行有各类应用软件。在操作任务执行之前,客户端102通过目标软件获取不同操作任务对应的配置信息并生成任务配置表。当所述服务器设备101接收到所述客户端102发起的操作任务时,根据所述操作任务在所述任务配置表中确定对应的操作流程,使所述服务器设备101根据所述操作任务对应的操作流程调用API执行自动化操作,以实现目标软件的自动化运行。
本实施例提供了一种软件自动化运行方法。图2是根据本申请实施例的软件自动化运行方法的流程图,该方法可由服务器设备101来执行,具体可由该设备内的一个或多个处理器来执行,如图2所示,该流程包括如下步骤:
步骤S101,接收由客户端发起的作用于目标软件的至少一个操作任务。
在本实施例中,所述客户端102和服务器设备101上安装有适于进行数据交互的应用软件,该应用软件(以下简称服务器端软件和本地端软件)可以是客户端102安装的操作系统自带的应用软件,也可以是从第三方设备或者服务器中下载的应用软件,所述目标软件可以是任一所述应用软件,本实施例对此不作限定。
步骤S102,根据所述操作任务确定任务配置表中对应的操作流程;所述任务配置表内预先配置有不同操作任务对应的自动化运行流程。
在实施例中,可以在客户端102上预先配置不同操作任务对应的自动化运行流程,形成任务配置表。所述任务配置表可以存储于所述服务器设备101,并可以通过客户端软件实现操作任务的参数配置。任务配置表例如可以是Excel文档、txt文档或其他文本格式,本申请不做限定。
如图3所示,图3示出了任务配置表的一种示意图。在所述任务配置表中,可以按照固定格式配置各个应用软件的自动化运行流程。如图3中的DFM、IPC等工作表所示,配置表中每张工作表可以对应一个操作任务的自动化运行流程,通过增删工作表可实现配置不同服务器软件的不同操作任务。具体的,表中每一个步骤的名称对应调用API执行一个操作步骤,如“SetCursorPos”代表设置鼠标光标的位置;“##16_1”代表读取步骤16的第一个结果作为当前步骤的输入参数;“&&1”代表读取客户端传递的参数作为当前步骤的输入参数。可选地,每一步骤运行完成之后可以根据任务配置表中设定的延时在处理器中进行延时之后开始下一步。
在一些实施例中,创建操作任务的参数配置界面如图4所示,对任一操作任务来说,可以在参数配置界面选择各个操作步骤的名称(即对象名称)、分析类型、所需要的工程文件等等。如图5所示,在另一些实施例中,可以进一步配置每一操作步骤对应的控制参数,如PCB流向设置步骤中的PCB厚度、正面流向和反面流向等等。在选择完成后,本地端软件会将上述配置信息写入任务配置表。
步骤S103,根据所述操作任务对应的操作流程调用API执行自动化操作。
API(Application Programming Interface,应用程序接口)是一些预先定义的系统编程接口,如函数、HTTP接口。通过调用API接口,可以帮应用程序达到开启视窗、描绘图形、使用周边设备等目的。API可以是任意API,如Windows API、iOS API、linux API等,其可以是一个,也可以是多个。本申请在此不做限定。
在本实施例中,当服务器设备101获取到所述操作任务对应的操作流程时,可以通过调用API执行自动化操作。具体的,根据所述操作流程调用API可以实现模拟服务器设备101的鼠标和键盘的自动化操作,如获取所述桌面窗口状态及位置、获取桌面指定位置的颜色等,可以按照配置表中的操作步骤实现自动化操作,以实现服务器端软件的自动化运行。
综上,本申请实施例提供的软件自动化运行方法、装置、系统和服务器设备,通过在配置表内预先配置不同操作任务对应的自动化运行流程,当接收由客户端发起的作用于目标软件的至少一个操作任务时,根据所述操作任务确定任务配置表中对应的操作流程,从而根据所述操作任务对应的操作流程调用API执行自动化操作,实现了通过配置化方式调用Windows API进行软件自动化操作,可以适用于各类软件,节约了用户重复手动操作软件的时间,提高了软件利用率和任务处理效率。
下面通过优选实施例对本申请实施例进行描述和说明。
如图6所示,在上述实施例的基础上,在其中一些实施例中,步骤S103具体包括:
步骤S1031,根据操作任务对应的操作流程获取操作任务的配置信息;
步骤S1032,根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤。
在本实施例中,本地端软件可通过自定义创建操作任务并生成任务配置表,实现对服务器端软件操作任务的自定义参数配置。通过所述任务配置表,可以根据操作任务对应的操作流程获取操作任务的配置信息,从而根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤。其中,所述配置信息包括各个操作步骤、每一操作步骤的名称、工程文件、控制参数等。示例性的,处理器读取到任务配置表中操作任务对应的操作流程之后,按照任务配置表的序号顺序依次读取每行的步骤名称,根据步骤名称调用API相关模块,并且把任务配置表中的控制参数输入到模块中,实现对应的功能。
在一些实施例中,可在本地端软件对应的参数配置界面配置服务器端软件自动化运行的差异化操作任务,即自定义配置信息。可以理解,本实施例不对本地端软件的参数配置界面进行具体限定,不同的本地端软件可以具有各不相同的参数配置界面,界面配置信息可以相同也可以不同。
在一种具体的实施方式中,如果要在计算器的软件操作界面实现按下按钮“1”的操作任务,软件的自动化运行操作由任务配置表里面预先配置好的该操作任务对应的一系列自动化运行流程完成。具体的,可以首先检测计算器窗口的位置,调用WindowsAPI的FindWindow函数通过窗口名称“计算器”获取窗口句柄,再调用GetWindowRect函数通过窗口句柄得到计算器窗口左上角和右下角的位置,通过测量计算器“1”按钮相对于左上角的位置关系,得到按钮“1”在Windows桌面下的坐标,再调用SetCursorPos函数移动光标至按钮“1”的位置,最后调用mouse_event函数按下鼠标左键,即实现上述操作任务。
在其中一些实施例中,根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤之后,还包括:保存每一个操作步骤的输出结果,以供后续步骤调用。具体的,每一个操作步骤的输出结果可以保存至服务器设备101的本地存储区域。
图7是根据本申请实施例的软件自动化运行方法的优选流程图,如图7所示,该软件自动化运行方法包括如下步骤:
步骤S201,接收由客户端发起的作用于目标软件的至少一个操作任务;
步骤S202,当接收到多个操作任务时,对多个所述操作任务进行排队,得到任务排序,以根据所述任务排序依次执行各个操作任务。
步骤S203,根据所述操作任务确定任务配置表中对应的操作流程;所述任务配置表内预先配置有不同操作任务对应的自动化运行流程;
步骤S204,根据所述操作任务对应的操作流程调用API执行自动化操作。
其中,步骤S201、步骤S203-204的具体实施方式如上述实施例相同,本申请在此不做赘述。
在本实施例中,当多人使用同一应用软件的时候,客户端软件往往存在多个操作任务同时或接连发起的情况。因此当接收到多个操作任务时,根据所述操作任务确定任务配置表中对应的操作流程之前,还包括:对多个所述操作任务进行排队,得到任务排序,当得到任务排序后,根据所述任务排序依次执行各个操作任务。其中,可以根据预定的排序规则进行任务排序,排序规则可以是任务的优先级顺序,任务发起时间等。
通过上述步骤,当接收到多个操作任务时,通过在根据所述操作任务确定任务配置表中对应的操作流程之前,对多个所述操作任务进行排队,得到任务排序,以根据所述任务排序依次执行各个操作任务。解决了当多个操作任务同时或接连发起时软件利用率低,任务执行效率低的问题。
在上述实施例的基础上,在其中一些实施例中,还包括:获取目标软件的任务执行状态并发送至客户端102进行实时显示。在本实施例中,服务器设备101可以实时检测服务器软件的运行状态(如软件界面的窗口状态等),以监控操作任务的执行流程,使与服务器端软件的运行状态相适应。
如图8所示,在一些实施例中,图8为客户端软件界面排版示意图,通过客户端界面可以查看排队软件服务器端的任务执行状态,任务执行状态包括但不限于任务发起用户、任务名称、任务类型、任务开始和持续时间以及任务运行进度等。
在上述实施例的基础上,在其中一些实施例中,还包括:通过共享文件夹与所述客户端进行数据交互。
在本实施例中,所述服务器设备101可以通过共享文件夹与所述客户端102进行数据的交互。例如,在一些实施例中,所述客户端102可以上传操作任务和对应的任务执行文件至所述共享文件夹,所述服务器设备101可以通过共享文件夹获取执行操作任务所需的文件并放在任务队列中,待等到执行该操作任务时,把对应的文件拷贝到本地指定的任务执行文件夹以供调用。在另一些实施例中,服务器设备101可以将操作任务的执行状态或服务器端软件的运行状态上传至所述共享文件夹供客户端软件读取。所述客户端软件通过读取共享文件夹内的文件获取服务器端软件运行状态并实时显示。
可以理解,在其他实施例中,所述服务器设备101与所述客户端102之间的数据交互并不限于上述共享文件夹,还可以通过TCP、UDP等通讯方式实现。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种软件自动化运行装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图9是根据本申请实施例的软件自动化运行装置的结构框图,如图9所示,该装置包括:操作任务接收单元201、操作流程确定单元202和自动化操作单元203。
操作任务接收单元201,用于接收由客户端发起的作用于目标软件的至少一个操作任务;
操作流程确定单元202,用于根据所述操作任务确定任务配置表中对应的操作流程;所述配置表内预先配置有不同操作任务对应的自动化运行流程;
自动化操作单元203,用于根据所述操作任务对应的操作流程调用API执行所述自动化操作。
在其中一些实施例中,自动化操作单元203包括:配置信息获取模块和步骤执行模块。
配置信息获取模块,用于根据操作任务对应的操作流程获取操作任务的配置信息;
步骤执行模块,用于根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤。
在其中一些实施例中,自动化操作单元203还包括:存储模块。
存储模块,用于保存每一个操作步骤的输出结果,以供后续步骤调用。
在其中一些实施例中,软件自动化运行装置还包括:任务排序单元。
任务排序单元,用于当接收到多个操作任务时,对多个所述操作任务进行排队,得到任务排序,以根据所述任务排序依次执行各个操作任务。
在其中一些实施例中,软件自动化运行装置还包括:显示单元。
显示单元,用于获取目标软件的任务执行状态并发送至客户端进行实时显示。
在其中一些实施例中,软件自动化运行装置还包括:数据交互单元。
数据交互单元,用于通过共享文件夹与所述客户端进行数据交互。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图2描述的本申请实施例软件自动化运行方法可以由服务器设备101来实现。图10为根据本申请实施例的服务器设备101的硬件结构示意图。
服务器设备101可以包括处理器31以及存储有计算机程序指令的存储器32。
具体地,上述处理器31可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器32可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器32可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器32可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器32可在数据处理装置的内部或外部。在特定实施例中,存储器32是非易失性(Non-Volatile)存储器。在特定实施例中,存储器32包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器32可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器31所执行的可能的计算机程序指令。
处理器31通过读取并执行存储器32中存储的计算机程序指令,以实现上述实施例中的任意一种软件自动化运行方法。
在其中一些实施例中,服务器设备101还可包括通信接口33和总线30。其中,如图10所示,处理器31、存储器32、通信接口33通过总线30连接并完成相互间的通信。
通信接口33用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口33还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线30包括硬件、软件或两者,将服务器设备101的部件彼此耦接在一起。总线30包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线30可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线30可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该服务器设备101可以基于获取到的程序指令,执行本申请实施例中的软件自动化运行方法,从而实现结合图2描述的软件自动化运行方法。
本实施例提供了一种软件自动化运行系统,该系统包括:至少一个客户端102和如上所述的服务器设备101;其中,所述服务器设备101连接所述客户端102。
所述客户端102用于获取不同操作任务对应的配置信息并生成任务配置表,将所述任务配置表发送至所述服务器设备101,以及向所述服务器设备101发起目标软件的至少一个操作任务;所述服务器设备101用于执行如上所述的软件自动化运行方法。所述服务器设备101可以通过共享文件夹与所述客户端102进行数据的交互。
在本实施例中,所述客户端102向所述服务器设备101发起操作任务,所述操作任务可以是由一个或多个操作步骤构成,通过执行所述操作步骤(如SQL语句)可以完成所述操作任务。可选地,所述操作任务可以是由用户触发的,如通过点击上传发起的操作任务,也可以是当客户端102检测到操作任务的执行条件满足时自动触发的。一般来说,所述操作任务携带有所述目标软件的标识,服务器设备101根据所述标识可以确定对应的目标软件。
其中,所述客户端102可以是手机、PDA、个人计算机等。其可以是由两个或多个物理实体构成,也可以是由一个物理实体构成。任务配置表的实现原理及产生的技术效果和上述实施例相同,为简要描述,本实施例未提及之处,可参考上述实施例中相应内容。
在其中一些实施例中,所述客户端102还用于实时获取所述操作任务的任务执行状态。服务器设备101可以实时检测服务器软件的运行状态(如软件界面的窗口状态等),以监控操作任务的执行流程,使与服务器软件的运行状态相适应。服务器设备101获取目标软件的任务执行状态后发送至客户端102进行实时显示,使客户端102可以通过客户端102界面查看服务器端软件的任务执行状态,方便软件使用人员合理安排任务处理时间,及时进行任务调配。
另外,结合上述实施例中的软件自动化运行方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种软件自动化运行方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种软件自动化运行方法,其特征在于,应用于服务器设备,包括:
接收由客户端发起的作用于目标软件的至少一个操作任务;
根据所述操作任务确定预存的任务配置表中对应的操作流程;所述任务配置表内预先配置有不同操作任务对应的自动化运行流程;所述任务配置表是根据所述客户端的参数配置界面中的配置形成的,所述参数配置界面用于配置所述操作任务对应操作步骤的名称、控制参数、分析类型以及所需的工程文件;
根据所述操作任务对应的操作流程调用API执行自动化操作;
所述根据所述操作任务对应的操作流程调用API执行自动化操作包括,根据所述任务配置表读取每行的步骤名称,根据所述步骤名称调用API相关模块,并把所述任务配置表中的控制参数输入到模块中,在所述服务器设备的显示界面模拟服务器设备的鼠标和键盘的自动化操作。
2.根据权利要求1所述的软件自动化运行方法,其特征在于,根据所述操作任务对应的操作流程调用API执行自动化操作包括:
根据操作任务对应的操作流程获取操作任务的配置信息;
根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤。
3.根据权利要求2所述的软件自动化运行方法,其特征在于,根据所述配置信息调用API依次执行所述操作任务的每一个操作步骤之后,还包括:
保存每一个操作步骤的输出结果,以供后续步骤调用。
4.根据权利要求1所述的软件自动化运行方法,其特征在于,根据所述操作任务确定任务配置表中对应的操作流程之前,还包括:
当接收到多个操作任务时,对多个所述操作任务进行排队,得到任务排序,以根据所述任务排序依次执行各个操作任务。
5.根据权利要求1所述的软件自动化运行方法,其特征在于,还包括:
获取目标软件的任务执行状态并发送至客户端进行实时显示。
6.根据权利要求1所述的软件自动化运行方法,其特征在于,还包括:
通过共享文件夹与所述客户端进行数据交互。
7.一种软件自动化运行装置,其特征在于,应用于服务器设备,包括:
操作任务接收单元,用于接收由客户端发起的作用于目标软件的至少一个操作任务;
操作流程确定单元,用于根据所述操作任务确定预存的任务配置表中对应的操作流程;所述配置表内预先配置有不同操作任务对应的自动化运行流程;所述任务配置表是根据所述客户端的参数配置界面中的配置形成的,所述参数配置界面用于配置所述操作任务对应操作步骤的名称、控制参数、分析类型以及所需的工程文件;
自动化操作单元,用于根据所述操作任务对应的操作流程调用API执行所述自动化操作;所述根据所述操作任务对应的操作流程调用API执行自动化操作包括,根据所述任务配置表读取每行的步骤名称,根据所述步骤名称调用API相关模块,并把所述任务配置表中的控制参数输入到模块中,在所述服务器设备的显示界面模拟服务器设备的鼠标和键盘的自动化操作。
8.一种服务器设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任一项所述的软件自动化运行方法。
9.一种软件自动化运行系统,其特征在于,包括:至少一个客户端和如权利要求8所述的服务器设备;其中,所述服务器设备连接所述客户端;
所述客户端用于获取不同操作任务对应的配置信息并生成任务配置表,将所述任务配置表发送至所述服务器设备,以及向所述服务器设备发起作用于目标软件的至少一个操作任务。
10.根据权利要求9所述的软件自动化运行系统,其特征在于,
所述客户端,还用于实时获取所述操作任务的任务执行状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832846.1A CN113434221B (zh) | 2021-07-22 | 2021-07-22 | 软件自动化运行方法、装置、系统和服务器设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110832846.1A CN113434221B (zh) | 2021-07-22 | 2021-07-22 | 软件自动化运行方法、装置、系统和服务器设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113434221A CN113434221A (zh) | 2021-09-24 |
CN113434221B true CN113434221B (zh) | 2024-05-24 |
Family
ID=77761467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110832846.1A Active CN113434221B (zh) | 2021-07-22 | 2021-07-22 | 软件自动化运行方法、装置、系统和服务器设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113434221B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115292010A (zh) * | 2022-09-28 | 2022-11-04 | 中邮消费金融有限公司 | 一种流程配置化自动生成业务的方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
WO2015074388A1 (en) * | 2013-11-21 | 2015-05-28 | Tencent Technology (Shenzhen) Company Limited | Task execution method,apparatus and system |
CN108459848A (zh) * | 2017-02-20 | 2018-08-28 | 深圳市北斗智研科技有限公司 | 一种应用于Excel软件的脚本获取方法及系统 |
CN108847950A (zh) * | 2018-04-02 | 2018-11-20 | 重庆金融资产交易所有限责任公司 | 电子装置、云系统软件自动部署方法及存储介质 |
CN110377356A (zh) * | 2019-06-14 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
CN110991983A (zh) * | 2019-11-05 | 2020-04-10 | 泰康保险集团股份有限公司 | 一种任务处理方法、装置、介质和设备 |
CN111414172A (zh) * | 2020-03-18 | 2020-07-14 | 时时同云科技(成都)有限责任公司 | 应用软件自动部署发布系统及方法 |
CN111445299A (zh) * | 2020-03-24 | 2020-07-24 | 上海云励科技有限公司 | 发票开具方法及设备 |
CN112099410A (zh) * | 2020-09-17 | 2020-12-18 | 深圳市道通科技股份有限公司 | 一种软件自动化控制系统和方法 |
CN113076087A (zh) * | 2020-01-06 | 2021-07-06 | 上海宝信软件股份有限公司 | 自动控制技术在财税管理中实现流程自动化的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10761903B2 (en) * | 2018-03-29 | 2020-09-01 | Servicenow, Inc. | Management instrumentation and discovery (MID) server support for executing automated flows within a cloud based system |
-
2021
- 2021-07-22 CN CN202110832846.1A patent/CN113434221B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101339532A (zh) * | 2007-07-06 | 2009-01-07 | 中国银联股份有限公司 | 一种Web应用系统的自动化测试方法及装置 |
WO2015074388A1 (en) * | 2013-11-21 | 2015-05-28 | Tencent Technology (Shenzhen) Company Limited | Task execution method,apparatus and system |
CN108459848A (zh) * | 2017-02-20 | 2018-08-28 | 深圳市北斗智研科技有限公司 | 一种应用于Excel软件的脚本获取方法及系统 |
CN108847950A (zh) * | 2018-04-02 | 2018-11-20 | 重庆金融资产交易所有限责任公司 | 电子装置、云系统软件自动部署方法及存储介质 |
CN110377356A (zh) * | 2019-06-14 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 任务处理方法、装置、系统及计算机可读存储介质 |
CN110991983A (zh) * | 2019-11-05 | 2020-04-10 | 泰康保险集团股份有限公司 | 一种任务处理方法、装置、介质和设备 |
CN113076087A (zh) * | 2020-01-06 | 2021-07-06 | 上海宝信软件股份有限公司 | 自动控制技术在财税管理中实现流程自动化的方法及系统 |
CN111414172A (zh) * | 2020-03-18 | 2020-07-14 | 时时同云科技(成都)有限责任公司 | 应用软件自动部署发布系统及方法 |
CN111445299A (zh) * | 2020-03-24 | 2020-07-24 | 上海云励科技有限公司 | 发票开具方法及设备 |
CN112099410A (zh) * | 2020-09-17 | 2020-12-18 | 深圳市道通科技股份有限公司 | 一种软件自动化控制系统和方法 |
Non-Patent Citations (1)
Title |
---|
工作流技术在制造执行系统中的应用;周吉武;杨建军;廖庆妙;;新技术新工艺;20080725(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113434221A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984388B (zh) | 一种生成自动化测试用例的方法及终端设备 | |
CN107273104B (zh) | 一种配置数据结构的处理方法及装置 | |
US10963888B2 (en) | Payment complaint method, device, server and readable storage medium | |
CN110689232A (zh) | 工作流配置的优化处理方法、装置和计算机设备 | |
WO2020258650A1 (zh) | 页面信息显示方法、装置、计算机设备和存储介质 | |
EP4195108A1 (en) | Method and apparatus for generating and applying deep learning model based on deep learning framework | |
CN113434221B (zh) | 软件自动化运行方法、装置、系统和服务器设备 | |
CN115712422A (zh) | 表单页面的生成方法、装置、计算机设备及存储介质 | |
CN115310420A (zh) | 一种仿真分析报告的生成方法、装置、设备以及存储介质 | |
CN112817660A (zh) | 扩展小程序能力的方法、装置、设备以及存储介质 | |
CN116011955A (zh) | 一种机器人流程自动化需求实现方法、装置、设备和存储介质 | |
CN116009847A (zh) | 代码生成方法、装置、电子设备及存储介质 | |
CN116126719A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN115269431A (zh) | 一种接口测试方法、装置、电子设备及存储介质 | |
CN114924937A (zh) | 批量任务处理方法、装置、电子设备及计算机可读介质 | |
WO2014138271A2 (en) | Cloud-based real-time value stream mapping system and method | |
CN114048136A (zh) | 测试类型确定方法、装置、服务器、介质及产品 | |
CN113052325A (zh) | 在线模型的优化方法、装置、设备、存储介质及程序产品 | |
CN112311581B (zh) | 会议终端批量管理系统、方法、装置、设备及存储介质 | |
CN115827480A (zh) | 用于船舶性能预报app的自动化测试方法、装置及系统 | |
CN114547744A (zh) | 模型导出方法、装置、电子设备及存储介质 | |
CN114564375A (zh) | 工作压力确定方法、装置、电子设备及存储介质 | |
CN116627820A (zh) | 一种造数据方法、装置、设备及介质 | |
CN116372958A (zh) | Rpa机器人控制方法、装置、计算机设备及存储介质 | |
CN115390716A (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 |