CN112099410A - 一种软件自动化控制系统和方法 - Google Patents

一种软件自动化控制系统和方法 Download PDF

Info

Publication number
CN112099410A
CN112099410A CN202010980717.2A CN202010980717A CN112099410A CN 112099410 A CN112099410 A CN 112099410A CN 202010980717 A CN202010980717 A CN 202010980717A CN 112099410 A CN112099410 A CN 112099410A
Authority
CN
China
Prior art keywords
software
platform
script
software running
running
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.)
Pending
Application number
CN202010980717.2A
Other languages
English (en)
Inventor
袁岳锋
肖志铭
吴香花
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Autel Intelligent Technology Corp Ltd
Original Assignee
Autel Intelligent Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Autel Intelligent Technology Corp Ltd filed Critical Autel Intelligent Technology Corp Ltd
Priority to CN202010980717.2A priority Critical patent/CN112099410A/zh
Publication of CN112099410A publication Critical patent/CN112099410A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0423Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/25Pc structure of the system
    • G05B2219/25257Microcontroller

Abstract

本发明涉及计算机应用技术领域,具体涉及一种软件自动化控制系统和方法。该系统包括至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;云服务器,所述云服务器与所述至少一个软件运行平台通信连接;上位机,所述上位机与所述云服务器通信连接;所述上位机用于生成通用脚本,并上传所述通用脚本至所述云服务器;所述云服务器用于根据所述通用脚本获得平台脚本,并发送所述平台脚本至所述至少一个软件运行平台;所述控制代理软件用于解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。本发明能够同时针对多个软件运行平台进行自动化操作,并且不需要用户对每个软件运行平台都进行脚本的编写和调试。

Description

一种软件自动化控制系统和方法
技术领域
本发明涉及计算机应用技术领域,具体涉及一种软件自动化控制系统和方法。
背景技术
以PC、Android、IOS、Web浏览器为代表的软件运行平台上,已有海量的优质软件。通常只需操作现有的软件,就可以完成特定的工作目标,不需要进行重复开发,有时甚至可以利用现有的软件来完成工作。因此,对已有的软件进行自动化控制具有重大的现实意义。
目前在这些平台上,已有对应的框架和技术可以实现对在其上运行的软件进行自动化控制,但是这些方案同时只能针对单个平台,不能满足同时对多个平台进行自动化操作。
发明内容
本发明实施方式主要解决的技术问题是提供一种软件自动化控制系统和方法,以解决相关技术不能同时对多个平台进行自动化控制的技术问题。
为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种软件自动化控制系统,所述系统包括:
至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;
云服务器,所述云服务器与所述至少一个软件运行平台通信连接;
上位机,所述上位机与所述云服务器通信连接;
所述上位机用于生成通用脚本,并上传所述通用脚本至所述云服务器;所述云服务器用于根据所述通用脚本获得平台脚本,并发送所述平台脚本至所述至少一个软件运行平台;所述控制代理软件用于解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。
可选地,所述上位机中加载预设集成开发环境,所述预设集成开发环境用于在用户操作所述上位机时,录制所述用户的鼠标和/或键盘操作,以生成所述通用脚本。
可选地,所述上位机与所述至少一个软件运行平台通信连接,
所述上位机还用于通过所述预设集成开发环境对所述至少一个软件运行平台上的软件进行操控。
可选地,所述上位机还用于录制所述用户在所述预设集成开发环境中的操作行为,并传输所述操作行为至所述至少一个软件运行平台;
所述至少一个软件运行平台还用于通过所述控制代理软件回放所述操作行为。
可选地,在所述软件运行平台包括多个时,
所述云服务器用于根据所述通用脚本获得所述多个软件运行平台对应的平台脚本,并对所述多个软件运行平台对应的平台脚本的执行顺序进行调度。
可选地,所述云服务器还用于更新所述平台脚本。
为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种软件自动化控制方法,所述方法包括:
获取通用脚本;
根据所述通用脚本获得平台脚本,并发送所述平台脚本至至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;
通过所述控制代理软件解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。
可选地,所述获取通用脚本包括:
根据预设集成开发环境录制用户操作上位机时所执行的鼠标和/或键盘操作,以生成所述通用脚本。
可选地,所述方法还包括:
通过所述预设集成开发环境对所述至少一个软件运行平台上的软件进行操控。
可选地,在所述软件运行平台包括多个时,
所述方法还包括:
根据所述通用脚本获得所述多个软件运行平台对应的平台脚本,并对所述多个软件运行平台对应的平台脚本的执行顺序进行调度。
区别于相关技术的情况,上述软件自动化控制方法和系统,通过在上位机中生成通用脚本,并传输该通用脚本至云服务器,云服务器根据该通用脚本获取平台脚本,并发送所述平台脚本至至少一个软件运行平台,从而使所述至少一个软件运行平台上运行的控制代理软件解释并运行该平台脚本,实现对软件运行平台上的软件进行自动化控制。本发明实施例提供的软件自动化控制方法和系统,能够同时针对多个软件运行平台进行自动化操作,并且不需要用户对每个软件运行平台都进行脚本的编写和调试,从而实现了一种快速且可多个跨平台的软件自动化方法。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本发明实施例提供的一种软件自动化控制系统的结构示意图;
图2是本发明实施例提供的上位机对多个不同的软件运行平台进行操控的示意图;
图3是本发明实施例提供的通用脚本转换为远端平台脚本的过程示意图;
图4是本发明实施例提供的一种软件自动化控制方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
下述对本发明实施例涉及的术语进行了解释:
软件运行平台:指在其上可以运行软件的平台,比如PC机可以运行exe程序软件,安卓操作系统的机器上可以运行APK应用,IOS操作系统的机器上可以运行APP应用,Web浏览器可以访问web app,等。
自动化控制:指脚本按照预设的控制逻辑,通过直接模拟鼠标、键盘操作,将人对软件的手工操作自动化的过程。
集成开发环境(Integrated Development Environment,IDE):是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
请参阅图1,图1是本发明实施例提供的一种软件自动化控制系统的结构示意图。该系统100包括上位机10、云服务器20和软件运行平台30。所述软件运行平台30包括一个或多个。所述上位机10分别与所述云服务器20和所述软件运行平台30通信连接,所述云服务器20与所述软件运行平台30通信连接。
其中,所述软件运行平台30上运行有控制代理软件,所述控制代理软件是预先获得的,其通过封装所述软件运行平台30自带的自动化框架和技术(比如安卓的UiAutomator,IOS的UiAutomation,Windows上的Win32com,WebBrowser可用的Requests、Selenium,等),实现了对所述软件运行平台30的屏幕显示、UI变化的获取、软件的自动化操作等。当所述软件运行平台30包括多个时,每一所述软件运行平台30上都可以运行一控制代理软件,所述控制代理软件与其运行的软件运行平台30相匹配。在本实施例中,所述上位机10用于生成通用脚本,并上传所述通用脚本至所述云服务器20。所述云服务器20用于根据所述通用脚本获得平台脚本,并发送所述平台脚本至所述软件运行平台30。所述软件运行平台30通过所述控制代理软件解释所述平台脚本并运行所述解释后的平台脚本,从而实现软件的自动化控制。本发明实施例提供的软件自动化控制系统100能够满足同时对多个平台进行自动化操作,并且不需要用户对每个软件运行平台都进行脚本的编写和调试,从而实现了一种快速且可多个跨平台的软件自动化方法。
其中,所述上位机10具体可以是个人计算机(PC机),其包括台式机、笔记本电脑和平板电脑等。所述上位机10中部署有预设集成开发环境,所述上位机10用于通过所述预设集成开发环境生成通用脚本,并上传所述通用脚本至所述云服务器20。其中,所述预设集成开发环境即上述IDE,其可以在用户对所述上位机10的软件窗口进行操作时,监听并录制用户的鼠标和/或键盘操作,从而将录制的所述鼠标和/或键盘操作记录为自定义语法的通用脚本。所述通用脚本是按照预定格式编写的一种可执行文件,其用于控制软件应用程序,在本实施例中,所述通用脚本用于使所述云服务器20将其转换为不同的软件运行平台30可以运行的脚本,即平台脚本。
通过上述方式可以让用户仅需要操作鼠标、键盘来操作上位机10中的软件就可以完成脚本录制化编写,并可以随时通过回放录制的脚本来对脚本进行调试,从而极大降低了用户操作与使用门槛。
所述上位机10还用于通过所述预设集成开发环境对所述软件运行平台30上的软件进行操控。其中,所述上位机10可以通过USB等有线连接的方式,或者蓝牙、WIFI等无线连接的方式与所述软件运行平台30通信连接,从而使所述预设集成开发环境与所述软件运行平台30通信连接,具体可以是建立集成开发环境与软件运行平台30上运行的控制代理软件的通讯连接,从而使用户操作所述上位机10的集成开发环境,就能实现对远端的一个或多个软件运行平台30进行实时操控。
其中,所述上位机10通过所述预设集成开发环境对所述软件运行平台30进行操控之前,所述上位机10还用于录制所述用户在所述预设集成开发环境中的操作行为,并传输录制好的所述操作行为至所述软件运行平台30,所述软件运行平台30可以对所述操作行为进行实时投影。
上述通过上位机10与所述软件运行平台30的远程连接和实时投影,实现了在所述上位机10上对软件运行平台30进行实时操控,使远端软件操作与本地软件操作无感知差异,解决了不能同时录制上位机平台、远端软件运行平台上的跨平台操作的问题。
在本实施例中,脚本可以通过对应软件运行平台30上的脚本引擎以脱离所述预设集成开发环境运行。多个软件运行平台30的脚本在最终部署时,通过所述云服务器20对多个软件运行平台30的脚本执行顺序进行调度。所述云服务器20接受所述上位机10上传的通用脚本后,将所述通用脚本转换为所述软件运行平台30能够解释运行的平台脚本。其中,所述云服务器20可以预先获得其连接的软件运行平台30的种类和个数,将所述通用脚本转换为匹配所述软件运行平台30种类和所述个数的平台脚本,然后对各软件运行平台30执行所述平台脚本的顺序进行调度,具体可以是全部的软件运行平台30同时执行所述平台脚本,也可以是部分软件运行平台30先执行所述平台脚本,部分软件运行平台30后执行所述平台脚本。在本实施例中,通过所述云服务器20对所述至少一个软件运行平台30所要运行的平台脚本进行统一调度,一方面,所述平台脚本可以通过所述云服务器20进行统一部署,用户通过访问云服务器20来实时监督各软件运行平台30上的运行情况,并可随时进行人工干预,从而便于管理所述软件自动化控制系统;另一方面,所述平台脚本可以脱离所述预设集成开发环境独立运行,降低了使用门槛。
在一些实施例中,所述云服务器20还用于对所述软件运行平台30上运行的平台脚本进行更新。具体可以是,所述云服务器20从所述上位机10获得更新后的通用脚本,然后将所述更新后的通用脚本转换为平台脚本,所述云服务器20重新部署更新后的所述平台脚本。
需要说明的是,上述云服务器20从所述上位机10获得的是一个通用脚本,并基于该通用脚本转换为匹配各个软件运行平台30的平台脚本,在其他一些实施例中,所述云服务器20还可以从所述上位机10获得多个通用脚本,该多个通用脚本可以是不同版本的脚本,所述云服务器20可以根据该不同版本的脚本分别转换为匹配各软件运行平台30的平台脚本,从而使一个软件运行平台30能够同时获得多个不同版本的平台脚本。所述软件运行平台30可以根据预设执行顺序分别解释和运行所述不同版本的平台脚本,从而完成对所述软件运行平台30上的不同的软件的自动化控制。在本实施例中,通过云服务器20统一部署每一软件运行平台30需要运行的多个平台脚本,从而提高了控制软件自动化运行的效率。
所述软件运行平台30即可以运行不同软件的平台,所述平台具体可以加载于终端设备上,所述终端设备包括智能手机(包括安卓系统的手机、IOS系统的手机等)、个人计算机(包括笔记本电脑、台式机、平板电脑等)等其他移动终端。其中,不同平台上运行的软件的类型也不同,所述软件的类型包括exe程序软件、APK应用、app应用、web app等。在本实施例中,所述软件运行平台30上运行有预设的控制代理软件,所述预设的控制代理软件,用于解释并运行所述云服务器20转换后的平台脚本,还用于与所述上位机10中部署的集成开发环境通讯,以接受上位机10对所述软件运行平台30的远程操控。所述控制代理软件的生成方式可以是通过封装该平台自带的自动化框架和技术(如Android的UiAutomator,IOS的UiAutomation,Windows上的Win32com,WebBrowser可用的Requests、Selenium),实现了对该平台的屏幕显示、UI变化的获取,以及自动化操作等。
在一些实施例中,所述软件自动化控制系统还可以实现同时混合录制在不同平台上的多个软件的操作。比如,当前待自动化控制的软件是一个聊天软件,其可以运行在不同的软件运行平台上,如安卓系统的手机和IOS系统的手机,两个手机上均安装了该聊天软件,通过所述上位机中的IDE和所述控制代理软件可以对两个手机的聊天场景进行同时混合录制,特别是在软件测试过程中,可以根据录制的文件检测该聊天软件是否存在漏洞,如安卓手机用户A发送了一条信息,根据所述录制文件检测IOS手机用户B是否收到了该信息,以及用户B是否回复了该信息,等。又比如,当前待自动化控制的软件是一个支付软件,可以同时混合录制不同平台上运行该支付软件的操作过程,如安卓手机与Windows系统的服务器后台交互的过程,安卓手机可以发起订单支付,根据录制的文件检测服务器后台是否接收金额并且支付成功,以及安卓手机是否收到支付成功通知,等。
上述实施例提供的同时混合录制在不同平台上的多个软件的操作的过程,可以应用于软件测试领域,从而极大地提高了软件测试效率,使软件测试操作更便捷。
本发明实施例提供的软件自动化控制系统,首先,通过远程连接和实时投影,实现在个人计算机上对远端平台进行实时操控。使远端软件操作与本地软件操作无感知差异,解决不能同时录制PC平台、远端平台上的跨平台操作的问题。其次,通过实现深度定制的录制IDE,让用户仅需通过鼠标、键盘来操作软件,即可完成脚本录制化编写,并可随时通过回放调试脚本,极大降低用户操作与使用门槛。解决某些软件使用门槛太高,无法落地的问题。最后,脚本可通过对应平台上的脚本引擎以脱离IDE运行。各平台上的脚本可通过云端管理平台进行统一部署和更新,用户可随时监督运行情况,并进行人工干预。解决离线部署、实时监控、热升级与运维的问题。
下面结合图2和图3来详细说明所述软件自动化控制系统的完整实现流程。首先,在要自动操作的软件所在的软件运行平台30上部署好一个控制代理软件,所述控制代理软件可以通过封装该软件运行平台30自带的自动化框架和技术,比如安卓系统对应的软件运行平台30的自动化框架和技术包括UiAutomator,IOS系统对应的软件运行平台30的自动化框架和技术包括UiAutomation,windows系统对应的软件运行平台30的自动化框架和技术包括Win32com,等。所述控制代理软件能够实现对其所在的软件运行平台30的屏幕显示、UI变化等进行自动获取,还能够实现自动化操作。然后在用户的PC机(即上述上位机10)上部署好所述集成开发环境IDE,并使所述PC机与所述软件运行平台30通讯连接,可以通过有线连接的方式连接,比如将所述软件运行平台30加载的设备通过USB等方式与所述PC机连接,一个PC机上可以根据需要同时连接多个加载了所述软件运行平台30的设备。还可以通过无线连接(比如蓝牙、WIFI等)使所述PC机与加载了所述软件运行平台30的设备连接。其中,所述设备包括手机、平板电脑、智能手环等移动终端设备。所述PC机上部署的所述集成开发环境与所述控制代理软件通讯,从而使PC机上的IDE对远程软件运行平台30上的软件进行实时投影和操控。
例如,如图2所示,PC机通过IDE分别对个人计算机上运行的软件,安卓操作系统的终端设备上运行的软件,IOS操作系统的终端设备上运行的软件,web浏览器上运行的软件实现自动化控制,其中,所述个人计算机、所述安卓操作系统的终端设备、所述IOS操作系统的终端设备以及安装有所述web浏览器的设备上分别部署了其各自对应的控制代理软件。所述PC机上部署有IDE,通过所述IDE与各个设备中的控制代理软件通讯,从而使PC机对连接的各个设备进行操控,所述操控包括录制各个远端设备上自动运行软件的过程,还包括将在所述PC机上录制的软件操作过程投影至连接的远端各个设备上。其中,用户可以在PC机上对待自动化操作的软件进行人为操作,所述IDE录制所述用户的操作行为,并将录制的操作行为传输给所述控制代理软件,从而使远端连接的各设备能够自动回放所述操作行为。
上述通过PC机与远端软件运行平台30的连接,实现在PC上对远端平台进行实时操控。使远端软件操作与本地软件操作无感知差异,解决不能同时录制PC平台、远端平台上的跨平台操作的问题。
进一步地,在所述PC机上还可以实现深度定制的录制IDE,即通过所述IDE录制用户的操作行为的同时,还根据所述操作行为生成一通用脚本,其中,可以录制用户在操作软件时对键盘、鼠标所进行的全部操作,通过录制和编写,获得通用脚本,所述通用脚本是用户操作所述软件时所执行的基本控制逻辑的说明,其能够在PC机的IDE环境下运行。在获得所述通用脚本后,用户可以随时回放和调试脚本,以满足所述软件适应不同的自动化控制,从而极大降低了用户操作与使用门槛,解决了某些软件使用门槛高,无法落地的问题。
进一步地,如图3所示,还可以对所述通用脚本进行转换,转换成能够在对应的软件运行平台30上解释和运行的平台脚本。其中,通过所述控制代理软件对所述平台脚本进行解释和运行。所述通用脚本转换成所述平台脚本即是将通用脚本转换成匹配所述软件运行平台30类型的脚本文件,比如,通用脚本是在windows操作系统的个人计算机上生成的,所述软件运行平台是安卓操作系统的手机,将所述通用脚本进行转换,即使所述通用脚本转换成能够在所述安卓操作系统的手机上运行的脚本文件格式。其中,两种脚本文件转换的详细过程可以通过预设的工具或软件生成。
上述录制转换后的平台脚本可以脱离所述IDE单独运行,但是多平台的脚本运行通常需要同步,因此,在最终部署时,对于多平台的脚本,需要有一个云服务器20对多个软件运行平台的脚本执行顺序进行调度。具体的,所述云服务器20与所述软件运行平台30和所述PC机分别通讯连接,所述云服务器20从所述PC机获得所述通用脚本,并将所述通用脚本转换为匹配各个软件运行平台30的平台脚本,并发送各平台脚本至对应的软件运行平台30,所述软件运行平台30通过其上运行的控制代理软件解释并运行所述平台脚本,从而使所述软件运行平台30上运行的软件能够根据所述平台脚本实现自动化控制操作。其中,通用脚本在编译转换时可以自动生成一个云端调试服务器,所述云端调式服务器用于与各软件运行平台30的控制代理程序通讯,以协调跨平台的脚本在各个平台上的同步执行。
在本实施例加入所述云服务器20,从而使脚本可通过对应平台上的脚本引擎以脱离IDE运行。各平台上的脚本可通过所述云服务器20进行统一部署和更新,用户可随时监督运行情况,并进行人工干预。解决离线部署、实时监控、热升级与运维的问题。
上述实施例提供的软件自动控制系统可以应用于软件测试等技术领域,通过所述软件自动控制系统实现了软件自动测试,提高了软件测试效率,并降低了软件测试的使用门槛。
请参阅图4,图4是本发明实施例提供的一种软件自动化控制方法的流程图,所述方法可以应用于上述软件自动化控制系统,所述方法包括:
S101、获取通用脚本;
所述通用脚本可以由上位机中的预设集成开发环境来获得,具体包括根据所述预设集成开发环境录制用户操作上位机时所执行的鼠标和/或键盘操作,从而生成所述通用脚本。
S102、根据所述通用脚本获得平台脚本,并发送所述平台脚本至至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;
所述上位机将所述通用脚本上传至云服务器,所述云服务器将所述通用脚本转换成平台脚本,所述平台脚本可供所述至少一个软件运行平台上运行的控制代理软件解释运行。
S103、通过所述控制代理软件解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。
在其他一些实施例中,所述方法还包括:通过所述预设集成开发环境对所述至少一个软件运行平台上的软件进行操控。从而使用户操作所述上位机的集成开发环境,就能实现对远端的一个或多个软件运行平台进行实时操控。
在一些实施例中,在所述软件运行平台包括多个时,所述方法还包括:根据所述通用脚本获得所述多个软件运行平台对应的平台脚本,并对所述多个软件运行平台对应的平台脚本的执行顺序进行调度。在调度时,具体可以是使所述多个软件运行平台同时运行所述平台脚本,从而使跨平台的脚本在各个软件运行平台上能够同步执行。其中,在各个软件运行平台同步运行所述平台脚本时,可以分别对运行过程进行录制。此外,各软件运行平台上的平台脚本除了可以通过所述云服务器进行统一部署之外,还可以对所述平台脚本进行定期更新,用户可随时监督运行情况并进行人工干预,能够解决离线部署、实时监控、热升级与运维等问题。
需要说明的是,上述实施例提供的软件自动化控制方法的详细地步骤具体可以参考上述系统实施例,在此不再赘述。
本发明实施例提供的软件自动化控制方法,首先,通过远程连接和实时投影,实现在个人计算机上对远端平台进行实时操控。使远端软件操作与本地软件操作无感知差异,解决不能同时录制PC平台、远端平台上的跨平台操作的问题。其次,通过实现深度定制的录制IDE,让用户仅需通过鼠标、键盘来操作软件,即可完成脚本录制化编写,并可随时通过回放调试脚本,极大降低用户操作与使用门槛。解决某些软件使用门槛太高,无法落地的问题。最后,脚本可通过对应平台上的脚本引擎以脱离IDE运行。各平台上的脚本可通过云端管理平台进行统一部署和更新,用户可随时监督运行情况,并进行人工干预。解决离线部署、实时监控、热升级与运维的问题。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种软件自动化控制系统,其特征在于,所述系统包括:
至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;
云服务器,所述云服务器与所述至少一个软件运行平台通信连接;
上位机,所述上位机与所述云服务器通信连接;
所述上位机用于生成通用脚本,并上传所述通用脚本至所述云服务器;所述云服务器用于根据所述通用脚本获得平台脚本,并发送所述平台脚本至所述至少一个软件运行平台;所述控制代理软件用于解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。
2.根据权利要求1所述的软件自动化控制系统,其特征在于,所述上位机中加载预设集成开发环境,所述预设集成开发环境用于在用户操作所述上位机时,录制所述用户的鼠标和/或键盘操作,以生成所述通用脚本。
3.根据权利要求2所述的软件自动化控制系统,其特征在于,所述上位机与所述至少一个软件运行平台通信连接,
所述上位机还用于通过所述预设集成开发环境对所述至少一个软件运行平台上的软件进行操控。
4.根据权利要求3所述的软件自动化控制系统,其特征在于,
所述上位机还用于录制所述用户在所述预设集成开发环境中的操作行为,并传输所述操作行为至所述至少一个软件运行平台;
所述至少一个软件运行平台还用于通过所述控制代理软件回放所述操作行为。
5.根据权利要求1至4任一项所述的软件自动化控制系统,其特征在于,在所述软件运行平台包括多个时,
所述云服务器用于根据所述通用脚本获得所述多个软件运行平台对应的平台脚本,并对所述多个软件运行平台对应的平台脚本的执行顺序进行调度。
6.根据权利要求5所述的软件自动化控制系统,其特征在于,所述云服务器还用于更新所述平台脚本。
7.一种软件自动化控制方法,其特征在于,所述方法包括:
获取通用脚本;
根据所述通用脚本获得平台脚本,并发送所述平台脚本至至少一个软件运行平台,所述至少一个软件运行平台上运行有控制代理软件;
通过所述控制代理软件解释所述平台脚本并运行所述解释后的平台脚本,以实现软件的自动化控制。
8.根据权利要求7所述的软件自动化控制方法,其特征在于,所述获取通用脚本包括:
根据预设集成开发环境录制用户操作上位机时所执行的鼠标和/或键盘操作,以生成所述通用脚本。
9.根据权利要求8所述的软件自动化控制方法,其特征在于,所述方法还包括:
通过所述预设集成开发环境对所述至少一个软件运行平台上的软件进行操控。
10.根据权利要求7至9任一项所述的软件自动化控制方法,其特征在于,在所述软件运行平台包括多个时,
所述方法还包括:
根据所述通用脚本获得所述多个软件运行平台对应的平台脚本,并对所述多个软件运行平台对应的平台脚本的执行顺序进行调度。
CN202010980717.2A 2020-09-17 2020-09-17 一种软件自动化控制系统和方法 Pending CN112099410A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010980717.2A CN112099410A (zh) 2020-09-17 2020-09-17 一种软件自动化控制系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010980717.2A CN112099410A (zh) 2020-09-17 2020-09-17 一种软件自动化控制系统和方法

Publications (1)

Publication Number Publication Date
CN112099410A true CN112099410A (zh) 2020-12-18

Family

ID=73760267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010980717.2A Pending CN112099410A (zh) 2020-09-17 2020-09-17 一种软件自动化控制系统和方法

Country Status (1)

Country Link
CN (1) CN112099410A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434221A (zh) * 2021-07-22 2021-09-24 武汉中科医疗科技工业技术研究院有限公司 软件自动化运行方法、装置、系统和服务器设备
CN113656145A (zh) * 2021-08-18 2021-11-16 南瑞集团有限公司 一种水电站agc控制装置脚本调度计算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441900A (zh) * 2013-08-27 2013-12-11 上海新炬网络技术有限公司 集中式跨平台自动化测试系统及其控制方法
CN105204986A (zh) * 2014-06-24 2015-12-30 广州市动景计算机科技有限公司 产品的自动化测试方法、服务器及移动设备
CN110716853A (zh) * 2018-07-13 2020-01-21 中移信息技术有限公司 一种测试脚本录制方法、应用程序测试方法和相关装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441900A (zh) * 2013-08-27 2013-12-11 上海新炬网络技术有限公司 集中式跨平台自动化测试系统及其控制方法
CN105204986A (zh) * 2014-06-24 2015-12-30 广州市动景计算机科技有限公司 产品的自动化测试方法、服务器及移动设备
CN110716853A (zh) * 2018-07-13 2020-01-21 中移信息技术有限公司 一种测试脚本录制方法、应用程序测试方法和相关装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113434221A (zh) * 2021-07-22 2021-09-24 武汉中科医疗科技工业技术研究院有限公司 软件自动化运行方法、装置、系统和服务器设备
CN113656145A (zh) * 2021-08-18 2021-11-16 南瑞集团有限公司 一种水电站agc控制装置脚本调度计算方法

Similar Documents

Publication Publication Date Title
CN110633209B (zh) 一种车载安卓多媒体导航仪自动化测试方法及系统
US8433448B2 (en) Same code base in irrigation control devices and related methods
US8224493B2 (en) Same code base in irrigation control devices and related methods
CN101957793B (zh) 一种面向Android及其衍生系统的软件操作录制回放方法
CN105786691B (zh) 一种移动终端自动化集成测试装置、方法和系统
CN103995777A (zh) 嵌入式软件黑盒自动化测试系统及测试方法
CN102521118A (zh) 一种Android程序的自动测试方法
CN112099410A (zh) 一种软件自动化控制系统和方法
CN105373407A (zh) 嵌入式系统dsp和fpga在线升级方法
CN104424095A (zh) 一种移动终端的自动化测试方法和系统
CN104679644A (zh) 移动终端中应用程序的测试方法和系统
CN110795108B (zh) 一种基于Ansible编排部署Weblogic应用的方法
CN105426298A (zh) 一种基于adb的软件测试方法和系统
CN110781085A (zh) 一种游戏自动化测试方法、装置、终端和计算机存储介质
Huang et al. Remote mobile test system: a mobile phone cloud for application testing
CN111858336B (zh) 一种软件自动化测试方法以及系统
Wang et al. Research on mobile application automation testing technology based on appium
Ridene et al. A DSML for mobile phone applications testing
CN113420189A (zh) 一种基于RPA的智能终端安卓App控制方法及系统
CN102591752A (zh) 一种基于高通平台外围设备的在线调试方法
CN113722164A (zh) 移动端自动化测试和远程真机调试方法、系统及存储介质
CN111367579B (zh) 一种基于v-rep插件的处理器在环仿真方法
CN111984529A (zh) App软件兼容性自动化测试方法
CN117215551A (zh) 一种基于llm的低代码应用开发方法和系统
CN109634856B (zh) 基于云服务的iOS智能终端远程真机调试系统及方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201218