CN113885841A - 脚本生成的方法、装置、电子设备和可读介质 - Google Patents
脚本生成的方法、装置、电子设备和可读介质 Download PDFInfo
- Publication number
- CN113885841A CN113885841A CN202111218402.5A CN202111218402A CN113885841A CN 113885841 A CN113885841 A CN 113885841A CN 202111218402 A CN202111218402 A CN 202111218402A CN 113885841 A CN113885841 A CN 113885841A
- Authority
- CN
- China
- Prior art keywords
- script
- language
- information
- target
- result
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
Abstract
本申请涉及一种脚本生成的方法、装置、电子设备和可读介质。该方法包括:接收基于第一语言描述的原始脚本信息,其中,原始脚本信息中包括基于第一语言的预设关键字,第一语言是脚本执行装置不支持的语言;根据预设关键字,将原始脚本信息转换为第二语言描述的目标脚本信息,第二语言是脚本执行装置支持的脚本语言;通过脚本执行装置根据测试数据对目标脚本信息进行脚本验证,得到脚本验证结果;若脚本验证结果指示脚本验证通过,则根据目标脚本信息,生成目标脚本。该方法能够在修改或者编写脚本时,可以不投入额外的学习成本或者开发成本以及相应时间,而由设计者独立完成修改或者编写脚本的过程,从而降低方案的成本并且提高方案效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种脚本生成的方法、装置、电子设备和可读介质。
背景技术
现如今,企业的管理和业务的运转通常都离不开各类管理系统的支持。面对高速发展的社会和多变的现实情况,经常需要根据实际的需求对系统的逻辑执行过程进行相应的调整,以便于提供期望的服务。
在相关的技术中,为了提供灵活性,会将经常变化的逻辑过程通过动态脚本来实现。在需要进行修改时,通常由设计者修改现有脚本或者编写新的脚本,或者由设计者在设计过后交给开发者进行开发,以使系统提供相对应功能。
然而,上述的方案中,脚本的编写或修改需要一定的代码阅读和编写能力,对于设计者不熟悉的系统所采用的脚本语言的情况,由设计者修改或者编写脚本则存在较高学习成本,而由开发者修改则需要投入额外开发成本和时间,造成方案的成本较高并且效率较低。
发明内容
基于上述技术问题,本申请提供一种脚本生成的方法、装置、电子设备和可读介质,以在修改或者编写脚本时,可以不投入额外的学习成本或者开发成本以及相应时间,而由设计者独立完成修改或者编写脚本的过程,从而降低方案的成本并且提高方案效率。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供一种脚本生成方法,包括:
接收基于第一语言描述的原始脚本信息,其中,所述原始脚本信息中包括基于所述第一语言的预设关键字,所述第一语言是脚本执行装置不支持的语言;
根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,所述第二语言是所述脚本执行装置支持的脚本语言;
通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果;
若所述脚本验证结果指示脚本验证通过,则根据所述目标脚本信息,生成目标脚本。
在本申请的一些实施例中,基于以上技术方案,所述接收基于第一语言描述的原始脚本信息,包括:
根据用户账户对应的编辑模式,生成具有对应于所述编辑模式的预定格式规范的可视化编辑页面;
监听在所述可视化编辑页面中的编辑区域中输入的用户脚本信息;
若所述用户脚本信息属于所述第一语言,则根据所述第一语言对应的预设关键字规则对所述用户脚本信息进行检查,得到规则检查结果;
若所述规则检查结果指示所述用户脚本信息符合所述预设关键字规则,则接收所述用户脚本信息为所述原始脚本信息。
在本申请的一些实施例中,基于以上技术方案,所述根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,包括:
查找所述原始脚本信息中的所述预设关键字以及所述预设关键字对应的数据结构;
根据对应于所述第一语言的解析器,确定针对于所述预设关键字对应的信息转换规则,所述信息转换规则包括所述第一语言与所述第二语言之间的对应关系;
根据所述信息转换规则,对所述预设关键字对应的数据结构进行变换,并且利用所述第二语言对应的关键字对所述预设关键字进行替换,得到所述第二语言描述的目标脚本信息。
在本申请的一些实施例中,基于以上技术方案,所述通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果,包括:
接收用户输入的数据作为测试数据,所述测试数据中包括待处理数据和目标结果;
通过所述脚本执行装置根据所述目标脚本信息对所述待处理数据进行数据处理,得到测试处理结果;
根据所述测试数据结果和所述目标结果之间的匹配结果,确定所述脚本验证结果。
在本申请的一些实施例中,基于以上技术方案,所述根据所述测试数据结果和所述目标结果之间的匹配结果,确定所述脚本验证结果,包括:
根据所述目标结果和所述测试数据结果中所包括的数据字段,生成结果展示界面;
向用户展示所述结果展示界面;
通过所述结果展示界面,接收所述用户输入的结果确认信息;
若所述结果确认信息指示测试通过,则生成测试通过结果作为所述脚本验证结果。
在本申请的一些实施例中,基于以上技术方案,所述根据所述目标脚本信息对所述待处理数据进行数据处理,得到测试处理结果,包括:
根据所述第二语言对应的编译规则,对所述目标脚本信息进行解析,得到程序接口;
根据所述程序接口,调用所述程序接口对应的逻辑实现文件对所述待处理信息进行逻辑计算,得到测试处理结果。
在本申请的一些实施例中,基于以上技术方案,所述根据所述目标脚本信息,生成目标脚本之后,所述方法还包括:
响应于用户的工作流编辑指令,向用户展示工作流编辑页面,其中,所述工作流编辑页面中包括待编辑工作流以及工作流组件,所述工作流组件包括对应于所述目标脚本的目标脚本组件;
响应于所述用户对于所述目标脚本组件的拖动操作,在所述工作流编辑页面中生成对应于所述目标脚本组件的目标脚本节点;
根据所述用户对于所述待编辑工作流和所述目标脚本节点的编辑操作,生成目标工作流。
根据本申请实施例的一个方面,提供一种脚本生成装置,包括:
信息接收模块,用于接收基于第一语言描述的原始脚本信息,其中,所述原始脚本信息中包括基于所述第一语言的预设关键字,所述第一语言是脚本执行装置不支持的脚本语言;
信息转换模块,用于根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,所述第二语言是所述脚本执行装置支持的脚本语言;
脚本验证模块,用于通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果;
脚本生成模块,用于若所述脚本验证结果指示脚本验证通过,则根据所述目标脚本信息,生成目标脚本。
根据本申请实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,该处理器配置为经由执行可执行指令来执行如以上技术方案中的脚本生成方法。
根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,当该计算机程序被处理器执行时实现如以上技术方案中的脚本生成方法。
在本申请的实施例中,将基于第一语言描述的原始脚本信息转换为第二语言描述的目标脚本信息,并且根据转换后的目标脚本信息生成目标脚本。通过上述的方案,允许采用脚本首先采用自然语言或者设计者熟悉的语言描述,然后在自动转换成系统能够支持的脚本语言生成脚本,因此,在修改或者编写脚本时,可以不投入额外的学习成本或者开发成本以及相应时间,而由设计者独立完成修改或者编写脚本的过程,从而降低方案的成本并且提高方案效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1是本申请实施例提供的一种脚本生成方法的实施环境示意图;
图2是本申请实施例提供的一种脚本生成方法的流程图;
图3为本申请实施例中可视化编辑页面的示意图;
图4示意性地示出了本申请实施例中脚本生成装置的组成框图;
图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
可以理解的是,本申请的方案可以应用于脚本管理场景,并且具体应用以基于脚本的工作流管理系统的场景中。在此场景中,可以通过本申请的方法来对系统运行所采用的脚本进行修改和编辑,或者编写新的脚本以便于在工作流程中使用。对于常用功能或者各个不同流程中共同的逻辑,可以利用对应的脚本形成函数库,以便重复使用来提高脚本编辑效率。
图1是本申请实施例提供的一种脚本生成方法的实施环境示意图,参见图1,该实施环境包括终端110和服务器120。
该终端110可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端110安装和运行有支持脚本开发的脚本编辑器或者通过浏览器等网络浏览应用来使用网页脚本编辑器。终端110可以泛指多个终端中的一个,本实施例仅以终端110来举例说明。
服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器120用于为终端110所运行的脚本编辑器提供后台服务的服务器。可选地,服务器120承担脚本运行工作,终端110承担脚本编辑工作;或者,服务器120承担脚本编辑和运行工作,终端110承担脚本编辑工作;或者,服务器120和终端110分别单独承担脚本编辑和运行工作。
上述终端110与服务器120可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不作限定。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
下面结合具体实施方式对本申请提供的技术方案做出详细说明。为了便于介绍,请参阅图2,图2是本申请实施例提供的一种脚本生成方法的流程图。该方法可以应用于上述终端或者服务器,而终端和服务器均可以视为一种计算机设备,在本申请实施例中,以计算机设备作为执行主体,对该脚本生成方法进行介绍,该脚本生成方法可以包括以下步骤:
步骤S210,接收基于第一语言描述的原始脚本信息,其中,原始脚本信息中包括基于第一语言的预设关键字,第一语言是脚本执行装置不支持的语言。
在本实施例中,第一语言可以是脚本语言、程序语言或者自然语言等可以用于描述脚本的执行逻辑的语言。原始脚本信息是按照预定的规则基于第一语言编写的脚本内容,其中包括了脚本的执行逻辑。预定的规则主要用于规则第一语言中的预设关键字以及其对应的相关内容。例如,以自然语言为例,预设关键字可以包括“账户名称”,规定其含义表示执行脚本的当前账户的账户名称。第一语言是脚本执行装置不支持的语言,脚本执行装置是用于执行脚本的装置,其可以与执行脚本生成方法的装置是相同或者不同的装置。脚本执行装置不能执行基于第一语言编写的脚本内容。具体地,接收原始脚本信息方式可以接收用户上传的脚本文件、从用户提供的文件地址或者从预设的文件地址读取对应的脚本文件、或者由用户在界面上直接编辑脚本内容等方式。
步骤S220,根据预设关键字,将原始脚本信息转换为第二语言描述的目标脚本信息,第二语言是脚本执行装置支持的脚本语言。
脚本生成装置根据原始脚本信息中包括的预设关键字,将原始脚本信息转换为第二语言描述的目标脚本信息。具体地,转换的方式可以采用预先编写的编译器来执行。编译器中规定预设关键字和预设关键字的组合所对应的逻辑与第二语言编写的逻辑之间的转换关系。转换关系可以是一对一的对应替换关系,可以是根据第一语音描述的逻辑转换为由多行第二语言描述的内容。例如,第一语言中描述“重复执行步骤1至步骤3”,则在第二语言中可以转换为多行声明重复步骤1至步骤3对应的功能的函数。
步骤S230,通过脚本执行装置根据测试数据对目标脚本信息进行脚本验证,得到脚本验证结果。
测试数据可以是用户根据原始脚本信息提供的数据。该测试数据可以是与原始脚本信息一起提供的。在一个实施例中,取决于原始脚本信息中所包括脚本逻辑,测试数据也可以由脚本执行装置自动确定。脚本执行装置根据目标脚本信息中的内容对测试数据进行计算或者处理,从而得到脚本验证结果。取决于目标脚本信息中的逻辑内容,确定脚本验证结果的标准也有所不同。例如,若目标脚本信息的目的是要查询若干数据,则脚本验证结果根据是否查询到信息以及查询到的信息与查询目标是否匹配来确定,而若目标脚本信息的目的是要执行一系列运算,则脚本验证结果根据运算结果是否正确而定。
步骤S240,若脚本验证结果指示脚本验证通过,则根据目标脚本信息,生成目标脚本。
若脚本验证结果指示脚本验证通过,则表示目标脚本信息能够正确实现用户所期望的功能。脚本生成装置会根据目标脚本信息,生成目标脚本。具体地,目标脚本信息可以被写入到脚本文件中并且存储到文件系统中。在后续需要调用该脚本时,则根据存储的文件地址从文件系统中读取该脚本。目标脚本信息也可以被存储到数据库中,或者保存到云端或者区块链中的方式,并且在需要调用时通过对应的方式读取。
在本申请的实施例中,将基于第一语言描述的原始脚本信息转换为第二语言描述的目标脚本信息,并且根据转换后的目标脚本信息生成目标脚本。通过上述的方案,允许采用脚本首先采用自然语言或者设计者熟悉的语言描述,然后在自动转换成系统能够支持的脚本语言生成脚本,因此,在修改或者编写脚本时,可以不投入额外的学习成本或者开发成本以及相应时间,而由设计者独立完成修改或者编写脚本的过程,从而降低方案的成本并且提高方案效率。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤S210,接收基于第一语言描述的原始脚本信息,可以包括以下步骤:
根据用户账户对应的编辑模式,生成具有对应于编辑模式的预定格式规范的可视化编辑页面;
监听在可视化编辑页面中的编辑区域中输入的用户脚本信息;
若用户脚本信息属于第一语言,则根据第一语言对应的预设关键字规则对用户脚本信息进行检查,得到规则检查结果;
若规则检查结果指示用户脚本信息符合预设关键字规则,则接收用户脚本信息为原始脚本信息。
在本实施例中,原始脚本信息由用户通过页面直接编辑。具体地,不同的用户账户可以具有不同的角色,例如设计者和开发者,也可以具有不同的偏好设置。不同角色或者偏好可以对应于各类不同的编辑模式。设计者可能偏好于使用自然语言进行编辑,其编辑模式则为自然语言对应的模式,而开发者则偏好使用熟悉的编程语言编写,则编辑模式则为对应的编程模式。根据用户账户对应的编辑模式,生成具有对应于编辑模式的预定格式规范的可视化编辑页面。为了便于介绍,请参阅图3,图3为本申请实施例中可视化编辑页面的示意图。如图3所示,该可视化编辑页面中主要包括基本信息部分和计算逻辑部分,其中,基本信息用于对目标脚本本身进行标识和说明,而计算逻辑部分则脚本的编辑区域以及相应的控件。编辑模式的预定格式规范用于规定不同的编辑模式的不同页面布局和内容,例如自然语言模式和编程语言模式对应的页面中编辑区域所采用的编辑控件是不同的,预定格式规范则定义所采用的具体控件。
脚本生成装置监听在可视化编辑页面中的编辑区域中输入的用户脚本信息。具体地,用户在编辑区域中编辑脚本内容时,脚本生成装置会检测到用户的输入操作,并且能够获取到用户输入的内容,即用户脚本信息。脚本生成装置对监听到的用户脚本信息进行语言检测。语言检测方式可以是检查用户脚本信息所包括的预设关键字来确定对应的预言。若用户脚本信息属于第一语言,则根据第一语言对应的预设关键字规则对用户脚本信息进行检查,得到规则检查结果。预设关键字规则是预先确定的关键字的使用方法,在编辑区域中输入的内容需要符合预设关键字规则,以便后续的转换过程能够正确执行。例如,预设关键字规则可以规定在加号“+”的前后必须各存在参数,以便于能够执行运算。若规则检查结果指示用户脚本信息符合预设关键字规则,则接收用户脚本信息为原始脚本信息。否则,若规则检查结果指示用户脚本信息不符合预设关键字规则,则可以在可视化编辑页面上展示相应的提示信息来提示用户,例如提示用户缺少参与运算的参数、缺少查询的依据或者包括未定义过的关键字等。
可以理解的是,上述的过程可以在用户编辑的同时执行,也可以根据用户的提交或者语法检查指示来执行。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤S220,根据预设关键字,将原始脚本信息转换为第二语言描述的目标脚本信息,可以包括以下步骤:
查找原始脚本信息中的预设关键字以及预设关键字对应的数据结构;
根据对应于第一语言的解析器,确定针对于预设关键字对应的信息转换规则,信息转换规则包括第一语言与第二语言之间的对应关系;
根据信息转换规则,对预设关键字对应的数据结构进行变换,并且利用第二语言对应的关键字对预设关键字进行替换,得到第二语言描述的目标脚本信息。
具体地,预设关键字可以对应于不同的数据结构,例如,关键字“遍历”可以对应于数组、堆栈或者链表等结构,而“查询”可以对应于数据库表格等。预设关键字与对应的数据结构之间的对应关系可以被预先保存在数据库表或者文件中以供查询。
脚本生成装置根据对应于第一语言的解析器,确定针对于预设关键字对应的信息转换规则,信息转换规则包括第一语言与第二语言之间的对应关系。解析器是预先编写好的用于进行语言转换的程序。可以理解的是,解析器可以在不同语言之间复用,例如,可以将多种语言都转换为第二语言,或者根据配置将第一语言转换为多种其他语言,或者在多种语言之间任意转换。根据解析器,可以确定针对于预设关键字对应的信息转换规则。具体地,信息转换规则中包括第一语言所描述的逻辑如何采用第二语言来实现。根据信息转换规则,对预设关键字对应的数据结构进行变换,并且利用第二语言对应的关键字对预设关键字进行替换,得到第二语言描述的目标脚本信息。不同语言可能采用不用的数据结构,例如,第一语言是自然语言,其对于多个数据通常通过字符串来定义,而第二语言是脚本语言,多个数据通过数据存储,则解析器会将字符串转换为数据结构,并且将对应的关键字进行替换。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤S230,通过脚本执行装置根据测试数据对目标脚本信息进行脚本验证,得到脚本验证结果,可以包括以下步骤:
接收用户输入的数据作为测试数据,测试数据中包括待处理数据和目标结果;
通过脚本执行装置根据目标脚本信息对待处理数据进行数据处理,得到测试处理结果;
根据测试数据结果和目标结果之间的匹配结果,确定脚本验证结果。
在本实施例中,用户可以通过图形界面输入测试数据,测试数据中包括待处理的数据和目标结果。具体地,取决于目标脚本信息中要进行的操作,待处理数据和目标结果会对应变化。例如,查询操作的待处理数据为需要查询的关键字,而目标结果则是预先确定的与关键字对应的查询结果,例如,查询操作为查询用户年龄,关键字为“年龄”,而目标结果为“18”。
通过脚本执行装置根据目标脚本信息对待处理数据进行数据处理,得到测试处理结果。具体地,脚本执行装置读取目标脚本信息,并且对目标脚本信息中的内容进行解析和编译,得到需要执行逻辑。随后,根据解析得到的逻辑对到处理数据进行处理,得到测试处理结果,例如,查询操作则得到查询结果,乘法操作则得到乘法结果等。根据测试数据结果和目标结果之间的匹配结果,确定脚本验证结果。具体地,对于查询和计算等数据处理过程,测试数据结果和目标结果一致,则表示验证成功,对于进行存储、状态切换等操作过程,则操作结果为成功则表示验证成功。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤,根据测试数据结果和目标结果之间的匹配结果,确定脚本验证结果,可以包括以下步骤:
根据目标结果和测试数据结果中所包括的数据字段,生成结果展示界面;
向用户展示结果展示界面;
通过结果展示界面,接收用户输入的结果确认信息;
若结果确认信息指示测试通过,则生成测试通过结果作为脚本验证结果。
在本实施例中,脚本验证结果的判断由用户来进行。具体地,根据目标结果和测试数据结果中所包括的数据字段,生成结果展示界面。该结果展示界面中用于展示目标结果和测试数据结果。展示方式可以采用表格、图像或者图标等多种方式,并且将目标结果和测试数据结果进行并列展示,以便于用户确认结果是否符合预期。脚本生成装置向用户展示结果展示界面。具体地,展示可以通过显示器直接展示,也可以通过向用户设备发送信息、图片或者邮件等方式来进行。通过结果展示界面,接收用户输入的结果确认信息。结果展示界面上提供用于进行结果确认的信息。具体地,浏览器窗口上可以直接显示确认通过还是失败的按钮,通过信息和邮件等方式则可以提供对应的链接来确认。若结果确认信息指示测试通过,则表示用户认为测试结果符合预期,测试通过,因此生成测试通过结果作为脚本验证结果。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤,根据目标脚本信息对待处理数据进行数据处理,得到测试处理结果,可以包括以下步骤:
根据第二语言对应的编译规则,对目标脚本信息进行解析,得到程序接口;
根据程序接口,调用程序接口对应的逻辑实现文件对待处理信息进行逻辑计算,得到测试处理结果。
在本实施例中,第二语言通过调用外部接口的方式来执行目标脚本信息的内容。具体地,脚本生成装置根据第二语言对应的编译规则,对目标脚本信息进行解析,得到程序接口。编译规则中包括程序结构与第二语言中的预设关键字之间的对应关系。程序接口对应于具体的程序实现,而程序实现可以预先编写并且生成逻辑实现文件。根据程序接口,脚本生成装置调用程序接口对应的逻辑实现文件对待处理信息进行逻辑计算,得到测试处理结果。例如,在目标脚本信息中,基于第二语言定义了乘法运算通过调用乘法接口来执行,而乘法接口通过另一种编程语言实现,并且生成了逻辑实现文件。在执行时,脚本生成装置会根据第二语言对应的编译规则,确定目标脚本信息中的乘法关键字对应的乘法接口,并且随后调用乘法接口对应的逻辑实现文件来对待处理信息中的数据执行乘法运算,并且得到乘法运算的结果。
在本申请的一些实施例中,在以上实施例的基础上,上述步骤S240,根据目标脚本信息,生成目标脚本之后,该方法还可以包括以下步骤:
响应于用户的工作流编辑指令,向用户展示工作流编辑页面,其中,工作流编辑页面中包括待编辑工作流以及工作流组件,工作流组件包括对应于目标脚本的目标脚本组件;
响应于用户对于目标脚本组件的拖动操作,在工作流编辑页面中生成对应于目标脚本组件的目标脚本节点;
根据用户对于待编辑工作流和目标脚本节点的编辑操作,生成目标工作流。
在本实施例中,所生成的目标脚本可以用于工作流编辑过程。具体地,用户可以使用浏览器等应用触发工作流编辑指令。脚本生成装置响应于用户的工作流编辑指令,向用户展示工作流编辑页面,其中,工作流编辑页面中包括待编辑工作流以及工作流组件,工作流组件包括对应于目标脚本的目标脚本组件。工作流组件指的是工作流中所涉及的各种功能节点,例如审批节点和会签节点。对应于目标脚本的目标脚本组件可以是每个目标脚本对应于不同组件,也可以是一个通用组件,通过设置的方式来确定具体执行的脚本。用户在工作流编辑页面上可以通过将工作流组件拖拽到工作流编辑区的方式来生成新的节点。响应于用户对于目标脚本组件的拖动操作,脚本生成装置则在工作流编辑页面中生成对应于目标脚本组件的目标脚本节点。用户可以在工作流编辑页面中工作流进行编辑,例如将目标脚本组件添加到工作流中,删除原有的节点以及进行各种配置。根据用户对于待编辑工作流和目标脚本节点的编辑操作,生成目标工作流。
应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本申请的装置实施,可以用于执行本申请上述实施例中的脚本生成方法。图4示意性地示出了本申请实施例中脚本生成装置的组成框图。如图4所示,脚本生成装置400主要可以包括:
信息接收模块410,用于接收基于第一语言描述的原始脚本信息,其中,所述原始脚本信息中包括基于所述第一语言的预设关键字,所述第一语言是脚本执行装置不支持的脚本语言;
信息转换模块420,用于根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,所述第二语言是所述脚本执行装置支持的脚本语言;
脚本验证模块430,用于通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果;
脚本生成模块440,用于若所述脚本验证结果指示脚本验证通过,则根据所述目标脚本信息,生成目标脚本。
在本申请的一些实施例中,基于以上技术方案,信息接收模块410包括:
编辑页面生成单元,用于根据用户账户对应的编辑模式,生成具有对应于所述编辑模式的预定格式规范的可视化编辑页面;
输入监听单元,用于监听在所述可视化编辑页面中的编辑区域中输入的用户脚本信息;
规则检查单元,用于若所述用户脚本信息属于所述第一语言,则根据所述第一语言对应的预设关键字规则对所述用户脚本信息进行检查,得到规则检查结果;
用户脚本接收单元,用于若所述规则检查结果指示所述用户脚本信息符合所述预设关键字规则,则接收所述用户脚本信息为所述原始脚本信息。
在本申请的一些实施例中,基于以上技术方案,信息转换模块420包括:
信息查找单元,用于查找所述原始脚本信息中的所述预设关键字以及所述预设关键字对应的数据结构;
规则确定单元,用于根据对应于所述第一语言的解析器,确定针对于所述预设关键字对应的信息转换规则,所述信息转换规则包括所述第一语言与所述第二语言之间的对应关系;
语言变换单元,用于根据所述信息转换规则,对所述预设关键字对应的数据结构进行变换,并且利用所述第二语言对应的关键字对所述预设关键字进行替换,得到所述第二语言描述的目标脚本信息。
在本申请的一些实施例中,基于以上技术方案,脚本验证模块430包括:
数据接收单元,用于接收用户输入的数据作为测试数据,所述测试数据中包括待处理数据和目标结果;
数据处理单元,用于通过所述脚本执行装置根据所述目标脚本信息对所述待处理数据进行数据处理,得到测试处理结果;
结果确定单元,用于根据所述测试数据结果和所述目标结果之间的匹配结果,确定所述脚本验证结果。
在本申请的一些实施例中,基于以上技术方案,结果确定单元包括:
结果界面生成子单元,用于根据所述目标结果和所述测试数据结果中所包括的数据字段,生成结果展示界面;
界面展示子单元,用于向用户展示所述结果展示界面;
确认接收子单元,用于通过所述结果展示界面,接收所述用户输入的结果确认信息;
结果生成子单元,用于若所述结果确认信息指示测试通过,则生成测试通过结果作为所述脚本验证结果。
在本申请的一些实施例中,基于以上技术方案,数据处理单元包括:
接口解析子单元,用于根据所述第二语言对应的编译规则,对所述目标脚本信息进行解析,得到程序接口;
接口调用子单元,用于根据所述程序接口,调用所述程序接口对应的逻辑实现文件对所述待处理信息进行逻辑计算,得到测试处理结果。
在本申请的一些实施例中,基于以上技术方案,脚本生成装置400还包括:
编辑页面展示模块,用于响应于用户的工作流编辑指令,向用户展示工作流编辑页面,其中,所述工作流编辑页面中包括待编辑工作流以及工作流组件,所述工作流组件包括对应于所述目标脚本的目标脚本组件;
脚本节点生成模块,用于响应于所述用户对于所述目标脚本组件的拖动操作,在所述工作流编辑页面中生成对应于所述目标脚本组件的目标脚本节点;
工作流生成模块,用于根据所述用户对于所述待编辑工作流和所述目标脚本节点的编辑操作,生成目标工作流。
需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
图5示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图5示出的电子设备的计算机系统500仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(Central Processing Unit,CPU)501,其可以根据存储在只读存储器(Read-Only Memory,ROM)502中的程序或者从储存部分508加载到随机访问存储器(Random Access Memory,RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(Input/Output,I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分507;包括硬盘等的储存部分508;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入储存部分508。
特别地,根据本申请的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种脚本生成方法,其特征在于,包括:
接收基于第一语言描述的原始脚本信息,其中,所述原始脚本信息中包括基于所述第一语言的预设关键字,所述第一语言是脚本执行装置不支持的语言;
根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,所述第二语言是所述脚本执行装置支持的脚本语言;
通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果;
若所述脚本验证结果指示脚本验证通过,则根据所述目标脚本信息,生成目标脚本。
2.根据权利要求1所述的方法,其特征在于,所述接收基于第一语言描述的原始脚本信息,包括:
根据用户账户对应的编辑模式,生成具有对应于所述编辑模式的预定格式规范的可视化编辑页面;
监听在所述可视化编辑页面中的编辑区域中输入的用户脚本信息;
若所述用户脚本信息属于所述第一语言,则根据所述第一语言对应的预设关键字规则对所述用户脚本信息进行检查,得到规则检查结果;
若所述规则检查结果指示所述用户脚本信息符合所述预设关键字规则,则接收所述用户脚本信息为所述原始脚本信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,包括:
查找所述原始脚本信息中的所述预设关键字以及所述预设关键字对应的数据结构;
根据对应于所述第一语言的解析器,确定针对于所述预设关键字对应的信息转换规则,所述信息转换规则包括所述第一语言与所述第二语言之间的对应关系;
根据所述信息转换规则,对所述预设关键字对应的数据结构进行变换,并且利用所述第二语言对应的关键字对所述预设关键字进行替换,得到所述第二语言描述的目标脚本信息。
4.根据权利要求1所述的方法,其特征在于,所述通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果,包括:
接收用户输入的数据作为测试数据,所述测试数据中包括待处理数据和目标结果;
通过所述脚本执行装置根据所述目标脚本信息对所述待处理数据进行数据处理,得到测试处理结果;
根据所述测试数据结果和所述目标结果之间的匹配结果,确定所述脚本验证结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述测试数据结果和所述目标结果之间的匹配结果,确定所述脚本验证结果,包括:
根据所述目标结果和所述测试数据结果中所包括的数据字段,生成结果展示界面;
向用户展示所述结果展示界面;
通过所述结果展示界面,接收所述用户输入的结果确认信息;
若所述结果确认信息指示测试通过,则生成测试通过结果作为所述脚本验证结果。
6.根据权利要求4所述的方法,其特征在于,所述根据所述目标脚本信息对所述待处理数据进行数据处理,得到测试处理结果,包括:
根据所述第二语言对应的编译规则,对所述目标脚本信息进行解析,得到程序接口;
根据所述程序接口,调用所述程序接口对应的逻辑实现文件对所述待处理信息进行逻辑计算,得到测试处理结果。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标脚本信息,生成目标脚本之后,所述方法还包括:
响应于用户的工作流编辑指令,向用户展示工作流编辑页面,其中,所述工作流编辑页面中包括待编辑工作流以及工作流组件,所述工作流组件包括对应于所述目标脚本的目标脚本组件;
响应于所述用户对于所述目标脚本组件的拖动操作,在所述工作流编辑页面中生成对应于所述目标脚本组件的目标脚本节点;
根据所述用户对于所述待编辑工作流和所述目标脚本节点的编辑操作,生成目标工作流。
8.一种脚本生成装置,其特征在于,包括:
信息接收模块,用于接收基于第一语言描述的原始脚本信息,其中,所述原始脚本信息中包括基于所述第一语言的预设关键字,所述第一语言是脚本执行装置不支持的脚本语言;
信息转换模块,用于根据所述预设关键字,将所述原始脚本信息转换为第二语言描述的目标脚本信息,所述第二语言是所述脚本执行装置支持的脚本语言;
脚本验证模块,用于通过所述脚本执行装置根据测试数据对所述目标脚本信息进行脚本验证,得到脚本验证结果;
脚本生成模块,用于若所述脚本验证结果指示脚本验证通过,则根据所述目标脚本信息,生成目标脚本。
9.一种电子设备,其特征在于,包括:
处理器;
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至7中任意一项所述的脚本生成方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的脚本生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111218402.5A CN113885841A (zh) | 2021-10-19 | 2021-10-19 | 脚本生成的方法、装置、电子设备和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111218402.5A CN113885841A (zh) | 2021-10-19 | 2021-10-19 | 脚本生成的方法、装置、电子设备和可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113885841A true CN113885841A (zh) | 2022-01-04 |
Family
ID=79003682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111218402.5A Pending CN113885841A (zh) | 2021-10-19 | 2021-10-19 | 脚本生成的方法、装置、电子设备和可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113885841A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009836A (zh) * | 2022-12-28 | 2023-04-25 | 苏州峰之鼎信息科技有限公司 | 基于脚本语言的rpa编程方法、装置、设备及存储介质 |
-
2021
- 2021-10-19 CN CN202111218402.5A patent/CN113885841A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116009836A (zh) * | 2022-12-28 | 2023-04-25 | 苏州峰之鼎信息科技有限公司 | 基于脚本语言的rpa编程方法、装置、设备及存储介质 |
CN116009836B (zh) * | 2022-12-28 | 2024-04-30 | 苏州峰之鼎信息科技有限公司 | 基于脚本语言的rpa编程方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739478B (zh) | 前端项目自动化构建方法、装置、存储介质及电子设备 | |
CN111241454B (zh) | 一种生成网页代码的方法、系统和装置 | |
CN112104709B (zh) | 智能合约的处理方法、装置、介质及电子设备 | |
CN111736840A (zh) | 小程序应用的编译方法、运行方法、存储介质及电子设备 | |
CN111324833A (zh) | 页面展示方法、装置、电子设计及计算机可读介质 | |
CN110389755B (zh) | 代码处理方法及装置、电子设备和计算机可读存储介质 | |
CN110895471A (zh) | 安装包生成方法、装置、介质及电子设备 | |
CN114048415A (zh) | 表单生成方法及装置、电子设备和计算机可读存储介质 | |
CN114217789A (zh) | 功能组件拓展方法、装置、设备、存储介质及程序产品 | |
CN113885841A (zh) | 脚本生成的方法、装置、电子设备和可读介质 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
CN110888794A (zh) | 接口测试方法和装置 | |
WO2023116647A1 (zh) | 软件在环测试方法、装置、电子设备系统及存储介质 | |
CN115640279A (zh) | 一种数据血缘关系的构建方法和装置 | |
CN113296759B (zh) | 用户界面处理方法、用户界面处理系统、设备及存储介质 | |
CN112667202B (zh) | Mda与bpmn相结合的软件设计方法和装置 | |
CN114253537A (zh) | 表单生成方法及装置、电子设备和存储介质 | |
CN113448874A (zh) | 一种单元测试脚本的生成方法及装置 | |
CN108170557B (zh) | 用于输出信息的方法和装置 | |
CN111782180A (zh) | 页面生成方法和装置、电子设备和存储介质 | |
CN112199094A (zh) | 信息展示方法、装置、电子设备和计算机可读介质 | |
CN113760706B (zh) | 网页调试方法及装置 | |
CN111782183B (zh) | 用于判断组件依赖关系的方法及设备、电子设备和介质 | |
CN115712425A (zh) | 用户界面生成方法、装置、介质与电子设备 | |
CN115543278A (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 |