CN107291438B - 自动化脚本的生成方法、装置及电子设备 - Google Patents

自动化脚本的生成方法、装置及电子设备 Download PDF

Info

Publication number
CN107291438B
CN107291438B CN201610228789.5A CN201610228789A CN107291438B CN 107291438 B CN107291438 B CN 107291438B CN 201610228789 A CN201610228789 A CN 201610228789A CN 107291438 B CN107291438 B CN 107291438B
Authority
CN
China
Prior art keywords
control
interface
script
user interface
acquiring
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
Application number
CN201610228789.5A
Other languages
English (en)
Other versions
CN107291438A (zh
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.)
Zhejiang Tmall Technology Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610228789.5A priority Critical patent/CN107291438B/zh
Publication of CN107291438A publication Critical patent/CN107291438A/zh
Application granted granted Critical
Publication of CN107291438B publication Critical patent/CN107291438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种自动化脚本的生成方法、装置及电子设备,以及一种自动化脚本的运行方法、装置及电子设备。其中所述自动化脚本的生成方法包括:获取为待生成自动化脚本的操作编写的操作逻辑代码;获取生成用户界面所依据的界面配置参数;根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。采用本申请提供的方法,能够避免直接开发用户界面本身,简化了自动化脚本的开发过程,需要编写的代码大幅度减少,从而达到了减少开发工作量、解放开发人员、提升研发效率的效果。

Description

自动化脚本的生成方法、装置及电子设备
技术领域
本申请涉及自动化运营技术领域,具体涉及一种自动化脚本的生成方法;相应于上述方法,本申请同时涉及一种自动化脚本的生成装置及电子设备,以及一种自动化脚本的运行方法、装置及电子设备。
背景技术
随着计算机及互联网技术的不断发展,一些互联网服务提供商推出了一种自动化运营平台,这种自动化运营平台可以实现将用户的有规律、重复性的操作转化成自动化操作的功能。例如,电子商务交易***中的商品自动化上架及下架、消息的自动化推送、商品效果的自动化追踪、信息的自动化搜集、***资源的自动化管理、自动化下载图片、自动化图片处理等。通过自动化运营平台将人工操作转化成自动化操作,能够极大的降低人工工作量,从而达到节约人工成本、提高运营效率的效果。
传统的自动化脚本开发方法为:开发人员首先创建用于控制自动化脚本运行的用户界面,然后再进行操作逻辑的编码。这种开发方法需要开发人员为每个自动化脚本各自开发用户界面,一个用户界面涉及的编码量通常在千行左右、甚至更多。由此可见,传统方法开发自动化脚本的耗时较长、工作量较大,特别是,在修改用户界面后需要重新发布自动化脚本。
综上所述,现有技术存在需要为每个自动化脚本各自开发用户界面的问题。
发明内容
本申请提供一种自动化脚本的生成方法,以解决现有技术下需要为每个自动化脚本各自开发用户界面的问题。本申请还提供一种自动化脚本的生成装置及电子设备,以及一种自动化脚本的运行方法、装置及电子设备。
本申请提供一种自动化脚本的生成方法,包括:
获取为待生成自动化脚本的操作编写的操作逻辑代码;
获取生成用户界面所依据的界面配置参数;
根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
可选的,
所述待生成自动化脚本的操作包括界面操作;
所述操作逻辑代码包括与界面中的控件对应的逻辑代码;
所述与界面中的控件对应的逻辑代码,采用如下步骤生成:
根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;以及,根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
可选的,所述脚本功能函数的参数形式包括自然语言形式。
可选的,所述映射关系集采用如下步骤生成:
通过预设的控件抓取工具,获取界面包括的控件及控件属性;
为获取到的各个控件设置所述控件标识;
根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
可选的,所述通过预设的控件抓取工具,获取界面包括的控件及控件属性的步骤,包括:
通过操作***的应用程序接口,获取当前鼠标位置处的控件句柄;
根据所述控件句柄获取所述当前鼠标位置处的控件对象;
根据所述控件对象,获取所述当前鼠标位置处的控件;
读取所述当前鼠标位置处的控件的各个属性。
可选的,所述界面所属的界面类型包括网页类型或视窗类型。
可选的,所述操作逻辑代码包括根据预先封装的脚本功能函数编写的逻辑代码。
可选的,所述预先封装的脚本功能函数的参数形式包括自然语言形式。
可选的,还包括:
根据运行所述自动化脚本时所述预先封装的脚本功能函数抛出的异常,调试所述自动化脚本。
相应的,本申请还提供一种自动化脚本的生成装置,包括:
操作逻辑代码获取单元,用于获取为待生成自动化脚本的操作编写的操作逻辑代码;
界面配置参数获取单元,用于获取生成用户界面所依据的界面配置参数;
自动化脚本生成单元,用于根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
可选的,所述待生成自动化脚本的操作包括界面操作;所述操作逻辑代码包括与界面中的控件对应的逻辑代码;所述装置还包括:
控件逻辑代码生成单元,用于生成所述与界面中的控件对应的逻辑代码;
所述控件逻辑代码生成单元,包括:
控件类型属性获取子单元,用于根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;
脚本功能函数确定子单元,用于根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
动作获取子单元,用于根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
控件逻辑代码生成子单元,用于将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
可选的,还包括:
映射关系集生成单元,用于生成所述映射关系集;
所述映射关系集生成单元,包括:
控件及控件属性获取子单元,用于通过预设的控件抓取工具,获取界面包括的控件及控件属性;
控件标识设置子单元,用于为获取到的各个控件设置所述控件标识;
映射关系集生成子单元,用于根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
可选的,所述控件及控件属性获取子单元,包括:
句柄获取子单元,用于通过操作***的应用程序接口,获取当前鼠标位置处的控件句柄;
对象获取子单元,用于根据所述控件句柄获取所述当前鼠标位置处的控件对象;
控件获取子单元,用于根据所述控件对象获取所述当前鼠标位置处的控件;
属性获取子单元,用于读取所述当前鼠标位置处的控件的各个属性。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,用于存储实现自动化脚本的生成方法的程序,该设备通电并通过所述处理器运行该自动化脚本的生成方法的程序后,执行下述步骤:获取为待生成自动化脚本的操作编写的操作逻辑代码;获取生成用户界面所依据的界面配置参数;根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
相应的,本申请还提供一种自动化脚本的运行方法,包括:
获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板;
根据所述界面配置参数和所述用户界面模板,生成所述用户界面;
通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;
根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
可选的,在所述从所述用户界面中提取运行参数数据和待操作数据集之前,还包括:
将所述组件注册到所述操作***中。
可选的,所述操作***包括:视窗操作***或非视窗操作***。
可选的,所述操作***是视窗操作***;所述将所述组件注册到所述操作***中,采用如下方式:
通过COM组件方式,将所述组件注册到所述视窗操作***中。
可选的,所述操作***是非视窗操作***;所述将所述组件注册到所述操作***中,采用如下方式:
通过配置文件方式,将所述组件注册到所述非视窗操作***中。
可选的,所述界面配置参数包括运行参数标识、所述待操作对象的属性名、脚本功能标识。
相应的,本申请还提供一种自动化脚本的运行装置,包括:
界面配置参数获取单元,用于获取待运行自动化脚本的用户界面的界面配置参数;
用户界面模板获取单元,用于获取用户界面模板;
用户界面生成单元,用于根据所述界面配置参数和所述用户界面模板,生成所述用户界面;
脚本运行相关数据获取单元,用于通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;
自动化脚本执行单元,用于根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
可选的,还包括:
组件注册单元,用于将所述组件注册到所述操作***中。
相应的,本申请还提供一种电子设备,包括:
显示器;
处理器;以及
存储器,用于存储实现自动化脚本的运行方法的程序,该设备通电并通过所述处理器运行该自动化脚本的运行方法的程序后,执行下述步骤:获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板;根据所述界面配置参数和所述用户界面模板,生成所述用户界面;通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
与现有技术相比,本申请提供的自动化脚本的生成方法,在为可重复性操作编写操作逻辑代码、及设置界面配置参数后,根据操作逻辑代码、界面配置参数及预先开发的用户界面模板,生成该操作的自动化脚本。
使用本申请提供的自动化脚本的生成方法,在开发自动化脚本时,使用通用的用户界面模板,仅需为用户界面设置界面配置参数;这种处理方式,避免直接开发用户界面本身,简化了自动化脚本的开发过程,需要编写的代码大幅度减少;因此,本申请提供的自动化脚本的生成方法,可以有效减少开发工作量、解放开发人员、提升研发效率。
使用本申请提供的方法为界面类的操作生成自动化脚本时,可以通过预设的控件抓取工具获取界面中的控件及控件属性,并根据为各个控件设置的控件标识,生成控件标识与控件属性之间的映射关系集,在进行操作逻辑编码时,开发人员可以直接对映射关系中的控件进行操作;这种处理方式,避免通过解析界面源代码对控件进行定位,既简化了界面控件定位的步骤又不容易出错,且用户无需学习界面开发语言;因此,本申请提供的方法可以进一步有效降低开发成本、且减少程序出错的可能性。
此外,本申请提供的方法,预先将脚本语言的同类自动化指令进行聚合,并将聚合的同类自动化指令高度封装,大量的自动化指令高度封装后缩减为少量的脚本功能函数,开发人员在逻辑编码时可以将自动化指令功能通过封装的脚本功能函数以自然语言参数的方式进行带入;这种处理方式,极大的简化了脚本语言的学习成本。
此外,本申请提供的方法,封装后的每个脚本功能函数自带判定功能,如果函数执行失败则立即报警,脚本的执行过程既是调试代码的过程;这种处理方式,使得无需专业开发人员即可对脚本进行调试;因此,本申请提供的方法能够进一步降低开发成本。
当然,实施本申请实施例的任一方法或产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是本申请提供的一种自动化脚本的生成方法的实施例的流程图;
图2是本申请提供的一种自动化脚本的生成方法的实施例的用户界面的流程图;
图3是本申请提供的一种自动化脚本的生成方法的实施例的生成界面控件的脚本逻辑代码的流程图;
图4是本申请提供的一种自动化脚本的生成方法的实施例的生成映射关系集的流程图;
图5是本申请提供的一种自动化脚本的生成装置的实施例的示意图;
图6是本申请提供的一种自动化脚本的生成装置的实施例的具体示意图;
图7是本申请提供的一种电子设备的实施例的示意图。
图8是本申请提供的一种自动化脚本的运行方法的实施例的流程图;
图9是本申请提供的一种自动化脚本的运行装置的实施例的示意图;
图10是本申请提供的又一种电子设备的实施例的示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了一种自动化脚本的生成方法、装置及电子设备,一种自动化脚本的运行方法、装置及电子设备。在下面的实施例中逐一进行详细说明。为了便于理解,在描述实施例之前,先对本申请的技术方案作简要的说明。
在本申请提供的技术方案中,所述自动化脚本的生成方法通常在自动化运营平台的开发模块实施,该方法与开发人员相关;所述自动化脚本的运行方法通常在自动化运营平台的移动APP模块或客户端模块实施。
脚本开发人员为特定操作编写该操作的操作逻辑代码、及为用户界面设置界面配置参数后,根据编写的操作逻辑代码、设置的界面配置参数、及预先开发的用户界面模板,即可为该操作生成自动化脚本,所述自动化脚本的操作逻辑代码和界面配置参数通常存储在脚本服务器中,用户界面模板通常包括在移动客户端(移动APP)中或台式机客户端中。将生成的自动化脚本发布后,移动设备通过所述移动客户端、台式机通过所述台式机客户端生成所述自动化脚本对应的用户界面,在生成所述用户界面时,客户端首先需要获取界面配置参数,然后,再根据界面配置参数和用户界面模板生成用户界面,当用户在该用户界面中设置脚本运行参数、增加待操作对象后,所述客户端通过预先注册的用于获取用户界面中脚本运行相关数据的组件,从用户界面中提取运行参数数据和待操作对象集,并根据运行参数数据执行自动化脚本,对待操作对象集中的各个对象进行处理。
本申请提供的技术方案,在开发自动化脚本时,使用通用的用户界面模板,仅需为用户界面设置界面配置参数即可,无需进行用户界面的开发。由于仅需设置界面配置参数,因而,简化了自动化脚本的开发过程,需要编写的代码大幅度减少。
下面,对本申请的实施例进行详细说明。请参考图1,其为本申请的自动化脚本的生成方法的实施例的流程图。
在实施本方法之前,即:获取为待生成自动化脚本的操作编写的操作逻辑代码,及获取生成用户界面所依据的界面配置参数,并根据操作逻辑代码、界面配置参数及预先开发的用户界面模板,为待生成自动化脚本的操作生成自动化脚本之前,需要预先开发可通用的用户界面模板。
通过对传统开发方法下不同自动化脚本对应的用户界面的分析和抽象,发明人发现可以将各种用户界面抽象为包括:自动化工具列表、执行操作列表、参数配置列表及操作对象列表这四部分内容的用户界面模板。基于这种抽象可设计并开发通用的用户界面模板,不同自动化脚本的用户界面在所述执行操作列表部分、参数配置列表部分及操作对象列表部分的不同之处,可以根据为各个用户界面分别设置的界面配置参数体现,根据不同的界面配置参数可生成不同的用户界面。
请参考图2,其为本申请的自动化脚本的生成方法的实施例的用户界面的示意图。由图2可见,用户界面模板包括一个TreeView(树形视图)及三个ListView(列表视图),TreeView中以脚本开发者为树节点,显示各个开发者开发的脚本工具,在“执行操作”这个ListView中显示了已选脚本工具包括的各个功能标识所对应的执行按钮,在“参数配置”这个ListView中显示了可为已选脚本工具配置的脚本运行参数,在“数据列表”这个ListView中显示了操作对象的属性和数据。本实施例的界面配置参数包括:自动化脚本的功能标识、脚本运行参数名、操作对象的属性名。
预先开发了用户界面模板后,该模板可用于不同的自动化脚本,在为各种操作编写自动化脚本时,无需开发用户界面,从而简化了脚本开发过程。开发用户界面模板可采用C#等高级程序语言。
预先开发了用户界面模板后,可以执行图1所述的步骤S101至步骤S105,以实现本实施例提供的自动化脚本的生成方法,下面对各个步骤进行详细说明。
步骤S101:获取为待生成自动化脚本的操作编写的操作逻辑代码。
所述操作是指可重复性操作,例如,商品上架及下架、消息推送、商品效果追踪、信息搜集、***资源管理、下载图片、图片处理等操作。所述操作可以为对界面的操作,还可以为与界面无关的操作,例如,商品上架及下架即为对界面的操作,下载图片即为与界面无关的操作。
所述操作逻辑代码是指,采用脚本语言编写的有关操作过程的脚本代码,例如,商品上架的操作过程为按预设添写顺序为商品的各种属性添写属性值,则商品上架的操作逻辑代码包括所需添写的属性及添写顺序等逻辑代码。
编写自动化脚本可采用的脚本语言包括但不限于:AutoIt、JavaScript、VBScript等脚本语言。如果所述待生成自动化脚本的操作涉及Windows界面操作,则可以采用AutoIt脚本语言,该语言可在Windows GUI(用户界面)中进行自动操作,可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务,这是其它脚本语言所无法做到或尚无可靠方法实现的(比如VBScript和SendKeys)。
在实施本步骤之前,需要先由脚本开发人员为待生成自动化脚本的操作编写操作逻辑代码。脚本开发人员编写完成操作逻辑代码后,将操作逻辑代码提交给执行本申请的自动化脚本的生成方法的执行者,该执行者可以为脚本生成器。所述执行者获取到所述操作逻辑代码后,即可执行下一步获取生成用户界面所依据的界面配置参数。
需要说明的是,本步骤和下一步骤并无确定的前后执行顺序,在具体实施时,脚本开发人员也可先将所述界面配置参数提交给所述执行者,再将所述操作逻辑代码提交所述执行者,这种执行顺序对最终生成的自动化脚本并不产生影响,这两个步骤之间并无依赖关系。
目前,脚本开发人员在编写操作逻辑代码时,需要使用脚本语言所提供的自动化指令(函数指令)。由于脚本语言所提供的自动化指令非常多,以AutoIt脚本语言为例,该语言提供了几千个自动化指令,因此,现有技术下编写操作逻辑代码,存在学习成本巨大、开发门槛较高、非专业人士不能够上手的问题。
为了解决现有技术下编写操作逻辑代码存在的学习成本大等问题,本申请提供的方法,在开发人员开发自动化脚本之前,预先将脚本语言的同类自动化指令进行聚合,并将聚合的同类自动化指令高度封装,大量的自动化指令高度封装后缩减为少量的脚本功能函数,将这些高度封装的脚本功能函数提供给脚本开发人员编写操作逻辑编码用。因此,脚本开发人员仅需掌握少量的高度封装的脚本功能函数,无需学习脚本语言提供的大量自动化指令,在编写操作逻辑编码时,可以将自动化指令功能通过封装的脚本功能函数以参数的方式进行带入,从而极大的简化了脚本语言的学习成本。在具体实施时,还可进一步的将封装的脚本功能函数的参数形式设置为自然语言形式,例如,中文参数形式。
以AutoIt脚本语言为例,该语言提供了2000多个自动化指令,通过将同类指令聚合后高度封装了20个基本类别的脚本功能函数,例如,图形处理类的脚本功能函数、文件操作类的脚本功能函数、Office Excel类的脚本功能函数、IE类的脚本功能函数等。
在本实施例中,采用AutoIt脚本语言编写脚本程序,将IE类的自动化指令封装后形成的脚本功能函数的形式可以为:_J_IE(“控件标识与控件属性的映射关系集文件”,“控件标识”,“操作类型”,“控件值”,“页面对象标识”),其中,_J_IE为封装后的IE类脚本功能函数的函数名,该函数的第三个参数“操作类型”的参数值为中文形式表达的具体自动化指令,例如,对于网页中的输入框元素,该参数的参数值包括“输入”这个参数值;对于网页中的按钮元素,该参数的参数值包括“点击”这个参数值,开发人员在编写操作逻辑编码时,只需要掌握_J_IE函数及“操作类型”的各种中文参数值即可。
当所述操作属于所述对界面的操作时,所述操作逻辑代码包括与界面中的控件对应的逻辑代码。目前,脚本开发人员在为所述对界面的操作编写操作逻辑代码时,需要分析界面源代码以对界面中的控件进行定位;这种处理方式,需要开发人员掌握界面开发语言,且需要人工进行控件定位;因此,现有技术下对界面控件进行定位,存在学习成本巨大、开发门槛较高、非专业人士不能够上手且容易定位出错的问题。
为了解决现有技术下对界面控件定位存在学习成本巨大且容易出错等问题,本申请提供的方法,在开发人员编写操作逻辑代码之前,首先生成界面中各个控件的控件标识与控件属性之间的映射关系,即所述映射关系集。开发人员在为界面中的控件编写与其对应的逻辑编码时,可以直接对映射关系中的控件进行操作,避免通过解析界面源代码对控件进行定位,既简化了界面控件定位的步骤又不容易出错,且无需开发人员学习界面开发语言。
请参考图3,其为本申请的自动化脚本的生成方法的实施例的生成界面控件的脚本逻辑代码的流程图。在具体实施时,所述与界面中的控件对应的逻辑代码,可采用如下步骤生成:
步骤S201:根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;以及,根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数。
所述控件的控件标识是在生成所述映射关系集时由脚本开发人员设置的,在所述映射关系集生成后,当开发人员需要对控件进行定位时,无需查看界面源代码,仅需指定控件标识,即可根据预先生成的控件标识与控件属性之间的映射关系集,获取控件的控件类型属性。
所述控件类型属性是指,标识控件类型的属性,例如,HTML网页元素<input>的元素(即控件)类型为text类型。
所述预先生成的控件标识与控件属性之间的映射关系集包括:所述界面中各个控件的所述控件标识及所述控件属性之间的映射关系。
在实施本步骤之前,需要首先生成所述控件标识与控件属性之间的映射关系集。请参考图4,其为本申请的自动化脚本的生成方法的实施例的生成映射关系集的流程图。在本实施例中,所述映射关系集可采用如下步骤生成:
步骤S301:通过预设的控件抓取工具,获取界面包括的控件及控件属性。
通过控件抓取工具获取界面包括的控件及控件属性的过程,可包括如下步骤:1)通过操作***的应用程序接口(如WINapi),获取当前鼠标位置处的控件句柄(例如,针对所述界面中的各个控件,可将鼠标移动至所述控件的上方);2)根据所述控件句柄获取所述当前鼠标位置处的控件对象;3)根据所述控件对象获取所述当前鼠标位置处的控件;4)读取所述当前鼠标位置处的控件的各个属性。
步骤S303:为获取到的各个控件设置所述控件标识。
抓取到界面包括的控件、并获取到控件的各个属性后,还需要为控件设置控件标识,开发人员可直接通过控件标识对界面控件定位,例如,可将登录页面中的账户名输入框这个控件(如该控件的控件名属性值为username)的控件标识设置为开发人员容易记住的“商品名称”。
步骤S305:根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
将控件的控件标识、控件属性,形成控件的所述控件标识与控件属性之间的映射关系,各个控件的所述映射关系构成所述映射关系集。
在具体实施时,可将映射关系集保存在数据库中,以供开发人员定位控件用。开发人员可以直接对预先生成的映射关系中的控件进行操作,简化了解析源代码的步骤。
至此,通过步骤S301至步骤S305,对本实施例提供的生成所述映射关系集的实施方式进行了详细描述。
本步骤S201还需要根据界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数。例如,网页所属的界面类型为IE类界面,该IE类界面对应的脚本功能函数可以为_J_IE。
获取到所述控件的控件类型属性、及确定与所述界面对应的预先封装的脚本功能函数之后,就可以进入下一步根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作。
步骤S203:根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作。
所述动作是指对所述控件进行的操作,例如,控件类型属性为text类型,脚本功能函数为_J_IE,则动作包括“输入”、“删除”等动作。
为了简化编写与控件对应的逻辑代码的步骤,所述脚本功能函数的封装者在封装脚本功能函数时为各个脚本功能函数指定了与控件类型对应的默认动作。根据上一步骤获取的所述控件类型属性和确定的所述脚本功能函数,即可获取为所述控件类型预设的动作。例如,控件类型属性为text类型,脚本功能函数为_J_IE,则预设动作可以为“输入”动作。
步骤S205:将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
本步骤将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。例如,为登录页面包括的帐户名输入框控件生成的逻辑代码可以为:_J_IE(“控件标识与控件属性的映射关系集文件”,“帐户名”,“输入”,“张三”,$ie)。
至此,通过步骤S201至步骤S205,对本实施例提供的为界面中的控件生成与其对应的逻辑代码的实施方式进行了详细描述。
下面以登陆页面的登陆操作为例,给出应用本申请实施例提供的方法生成的操作逻辑代码,以直观说明应用本申请实施例提供的方法所达到的效果。生成的操作逻辑代码如下:
Local$ie=J_IE_Create("www.taobao.com/login.html")
Local$res1=J_IE("login","登录输入框","输入","张三",$ie)
Local$res2=J_IE("login","密码输入框","模拟输入","abbk35kd",$ie)
Local$res3=J_IE("login","登录按钮","点击","",$ie)
上述代码J_IE_Create("www.taobao.com/login.html"),用于新建一个IE窗口并打开www.taobao.com/login.html页面,声明一个名为$ie的局域变量,装入这个新创建浏览器的对象,即$ie用于表示该页面对象;上述代码J_IE("login","登录输入框","输入","张三",$ie)对应账户名的普通输入操作,成功返回1,失败返回0;上述代码J_IE("login","密码输入框","模拟输入","abbk35kd",$ie)模拟鼠标键盘进行操作,成功返回1,失败返回0;上述代码J_IE("login","登录按钮","点击","",$ie)对应普通点击按钮操作,因为按钮控件不需要输入数据,所以值参数用“”表示不要输入,成功返回1,失败返回0。
步骤S103:获取生成用户界面所依据的界面配置参数。
所述用户界面是指,供用户使用的、用于控制自动化脚本运行的界面。由于本申请的用户界面根据用户界面模板和界面配置参数生成,因此,在生成自动化脚本时还需要获取界面配置参数。
所述界面配置参数包括但不限于:用于控制脚本运行的各个运行参数标识(如运行参数名)和操作对象的属性名。
在实施本步骤之前,需要先由脚本开发人员为用户界面设置界面配置参数。脚本开发人员设置完成界面配置参数后,将界面配置参数提交给执行本申请的自动化脚本的生成方法的执行者。所述执行者获取到所述操作逻辑代码和所述界面配置参数后,即可进入下一步为所述操作生成自动化脚本。
步骤S105:根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
获取到操作逻辑代码和界面配置参数后,根据操作逻辑代码和界面配置参数,以及预先开发的用户界面模板,即可为所述操作生成自动化脚本。
在具体实施时,操作逻辑代码和界面配置参数通常存储在脚本服务器中,用户界面模板通常包括在移动客户端或台式机客户端中。
在现有技术下,对于直接根据脚本语言提供的自动化指令所编写的操作逻辑代码,只有掌握这些自动化指令的专业开发人员才能够对自动化脚本进行调试。因此,现有技术下调试自动化脚本,存在工作量较大且调试难度较高的问题。
为了降低脚本调试的工作量及降低调试难度,本申请提供的方法,根据运行自动化脚本时脚本功能函数抛出的异常,对自动化脚本进行调试。
在具体实施时,为脚本开发人员提供的高度封装的脚本功能函数可以带有判定功能,如果函数执行失败则可通过抛出异常的方式向开发人员报警,抛出的具体异常信息可作为调试指导信息,指导开发人员对自动化脚本进行修改。采用这种处理方式,脚本的执行过程既是调试代码的过程,因此,能够达到无需专业开发人员即可对脚本进行调试的效果。
在上述的实施例中,提供了一种自动化脚本的生成方法,与之相对应的,本申请还提供一种自动化脚本的生成装置。该装置是与上述方法的实施例相对应。
请参看图5,其为本申请的自动化脚本的生成装置的实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种自动化脚本的生成装置,包括:操作逻辑代码获取单元101,用于获取为待生成自动化脚本的操作编写的操作逻辑代码;界面配置参数获取单元103,用于获取生成用户界面所依据的界面配置参数;自动化脚本生成单元105,用于根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
请参看图6,其为本申请的自动化脚本的生成装置的实施例的具体示意图。可选的,所述待生成自动化脚本的操作包括界面操作;所述操作逻辑代码包括与界面中的控件对应的逻辑代码;所述装置还包括:
控件逻辑代码生成单元201,用于生成所述与界面中的控件对应的逻辑代码;
所述控件逻辑代码生成单元201,包括:
控件类型属性获取子单元,用于根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;
脚本功能函数确定子单元,用于根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
动作获取子单元,用于根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
控件逻辑代码生成子单元,用于将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
可选的,还包括:
映射关系集生成单元203,用于生成所述映射关系集;
所述映射关系集生成单元203,包括:
控件及控件属性获取子单元2031,用于通过预设的控件抓取工具,获取界面包括的控件及控件属性;
控件标识设置子单元2033,用于为获取到的各个控件设置所述控件标识;
映射关系集生成子单元2035,用于根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
可选的,所述控件及控件属性获取子单元2031,包括:
句柄获取子单元,用于通过操作***的应用程序接口,获取当前鼠标位置处的控件句柄;
对象获取子单元,用于根据所述控件句柄获取所述当前鼠标位置处的控件对象;
控件获取子单元,用于根据所述控件对象获取所述当前鼠标位置处的控件;
属性获取子单元,用于读取所述当前鼠标位置处的控件的各个属性。
请参考图7,其为本申请的一种电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:显示器101;处理器102;以及存储器103,用于存储实现自动化脚本的生成方法的程序,该设备通电并通过所述处理器运行该自动化脚本的生成方法的程序后,执行下述步骤:获取为待生成自动化脚本的操作编写的操作逻辑代码;获取生成用户界面所依据的界面配置参数;根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本。
本申请提供的自动化脚本的生成方法,在为可重复性操作编写操作逻辑代码、及设置界面配置参数后,根据操作逻辑代码、界面配置参数及预先开发的用户界面模板,生成该操作的自动化脚本。使用本申请提供的自动化脚本的生成方法,在开发自动化脚本时,仅需为用户界面设置界面配置参数,无需开发用户界面本身,简化了自动化脚本的开发过程,需要编写的代码大幅度减少;因此,本申请提供的自动化脚本的生成方法,可以有效减少开发工作量、解放开发人员、提升研发效率。
与上述的自动化脚本的生成方法相对应,本申请还提供一种自动化脚本的运行方法。请参考图8,其为本申请提供的一种自动化脚本的运行方法实施例的流程图,本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。本申请提供的一种自动化脚本的运行方法包括:
步骤S101:获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板。
所述界面配置参数包括但不限于:用于控制脚本运行的各个运行参数标识、所述待操作对象的属性名、脚本功能标识。
界面配置参数通常和自动化脚本的操作逻辑代码一同存储在脚本服务器中,获取待运行自动化脚本的用户界面的界面配置参数的步骤,具体可以为:首先,向脚本服务器发送对应所述待运行自动化脚本的界面配置参数请求;服务器端接收到界面配置参数请求后,向请求方返回界面配置参数;请求方接收到服务器返回的界面配置参数。
要实施本申请提供的自动化脚本的运行方法,还需要获取用户界面模板。用户界面模板通常包括在移动客户端或台式机客户端中,启动客户端时即可获取到用户界面模板。
步骤S103:根据所述界面配置参数和所述用户界面模板,生成所述用户界面。
获取到所述界面配置参数、及用户界面模板后,即可根据所述界面配置参数和所述用户界面模板,生成供用户使用的、用于控制自动化脚本运行的所述用户界面。
在具体实施时,可以将各个界面配置参数填充到用户界面模板的对应位置处。由上述实施例一中图2可见,生成的用户界面中“参数配置”部分显示的“旺旺绑定信息”、“图片路径”、“发送延迟”、“发送类型”均属于运行参数名;“数据列表”部分显示的“旺旺名称”、“发送状态”等为操作对象的属性名;“执行操作”部分显示的“绑定旺旺”、“发送图片”等按钮为已选脚本工具包括的各个功能标识所对应的执行按钮。
步骤S105:通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集。
所述预先注册的用于获取所述用户界面中脚本运行相关数据的组件,用于从所述用户界面中提取运行参数数据和待操作对象集。
在生成用户界面后,用户即可通过该界面添加待操作对象、设置运行参数的属性值等操作。当用户点击某个功能标识的执行按钮时,通过预先注册的所述组件,即可从所述用户界面中提取运行参数数据(即:运行参数的参数名和参数值)和待操作对象集。
例如,待运行自动化脚本为商品上架操作的自动化脚本,通过所述组件获取到的待操作对象包括多个待上架的商品。
要使用所述组件,在执行本申请提供的方法之前,需要先将所述组件注册到所述操作***中。
所述操作***包括:视窗操作***或非视窗操作***。如果所述操作***为视窗操作***,则可以通过COM组件方式,将所述组件注册到所述视窗操作***中;如果所述操作***为非视窗操作***,则可以通过配置文件方式,将所述组件注册到所述非视窗操作***中。
步骤S107:根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
通过所述组建获取到运行参数数据及待操作对象集后,根据运行参数数据可以对自动化脚本的执行方式进行控制,并通过执行自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
在上述的实施例中,提供了一种自动化脚本的运行方法,与之相对应的,本申请还提供一种自动化脚本的运行装置。该装置是与上述方法的实施例相对应。
请参看图9,其为本申请的自动化脚本的运行装置实施例的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种自动化脚本的运行装置,包括:界面配置参数获取单元101,用于获取待运行自动化脚本的用户界面的界面配置参数;用户界面模板获取单元103,用于获取用户界面模板;用户界面生成单元105,用于根据所述界面配置参数和所述用户界面模板,生成所述用户界面;脚本运行相关数据获取单元107,用于通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;自动化脚本执行单元109,用于根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
可选的,还包括:
组件注册单元,用于将所述组件注册到所述操作***中。
请参考图10,其为本申请的又一电子设备实施例的示意图。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的又一种电子设备,该电子设备包括:显示器101;处理器102;以及存储器103,用于存储实现自动化脚本的运行方法的程序,该设备通电并通过所述处理器运行该自动化脚本的运行方法的程序后,执行下述步骤:获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板;根据所述界面配置参数和所述用户界面模板,生成所述用户界面;通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、***或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (21)

1.一种自动化脚本的生成方法,其特征在于,包括:
获取为待生成自动化脚本的操作编写的操作逻辑代码;
获取生成用户界面所依据的界面配置参数;
根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本;
其中,所述预先开发的用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表;
所述待生成自动化脚本的操作包括界面操作;
所述操作逻辑代码包括与界面中的控件对应的逻辑代码;
所述与界面中的控件对应的逻辑代码,采用如下步骤生成:
根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;以及,根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
2.根据权利要求1所述的自动化脚本的生成方法,其特征在于,所述脚本功能函数的参数形式包括自然语言形式。
3.根据权利要求1所述的自动化脚本的生成方法,其特征在于,所述映射关系集采用如下步骤生成:
通过预设的控件抓取工具,获取界面包括的控件及控件属性;
为获取到的各个控件设置所述控件标识;
根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
4.根据权利要求3所述的自动化脚本的生成方法,其特征在于,所述通过预设的控件抓取工具,获取界面包括的控件及控件属性的步骤,包括:
通过操作***的应用程序接口,获取当前鼠标位置处的控件句柄;
根据所述控件句柄获取所述当前鼠标位置处的控件对象;
根据所述控件对象,获取所述当前鼠标位置处的控件;
读取所述当前鼠标位置处的控件的各个属性。
5.根据权利要求1所述的自动化脚本的生成方法,其特征在于,所述界面所属的界面类型包括网页类型或视窗类型。
6.根据权利要求1所述的自动化脚本的生成方法,其特征在于,所述操作逻辑代码包括根据预先封装的脚本功能函数编写的逻辑代码。
7.根据权利要求6所述的自动化脚本的生成方法,其特征在于,所述预先封装的脚本功能函数的参数形式包括自然语言形式。
8.根据权利要求6所述的自动化脚本的生成方法,其特征在于,还包括:
根据运行所述自动化脚本时所述预先封装的脚本功能函数抛出的异常,调试所述自动化脚本。
9.一种自动化脚本的生成装置,其特征在于,包括:
操作逻辑代码获取单元,用于获取为待生成自动化脚本的操作编写的操作逻辑代码;
界面配置参数获取单元,用于获取生成用户界面所依据的界面配置参数;
自动化脚本生成单元,用于根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本;
其中,所述预先开发的用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表;
所述待生成自动化脚本的操作包括界面操作;所述操作逻辑代码包括与界面中的控件对应的逻辑代码;所述装置还包括:
控件逻辑代码生成单元,用于生成所述与界面中的控件对应的逻辑代码;
所述控件逻辑代码生成单元,包括:
控件类型属性获取子单元,用于根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;
脚本功能函数确定子单元,用于根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
动作获取子单元,用于根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
控件逻辑代码生成子单元,用于将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
10.根据权利要求9所述的自动化脚本的生成装置,其特征在于,还包括:
映射关系集生成单元,用于生成所述映射关系集;
所述映射关系集生成单元,包括:
控件及控件属性获取子单元,用于通过预设的控件抓取工具,获取界面包括的控件及控件属性;
控件标识设置子单元,用于为获取到的各个控件设置所述控件标识;
映射关系集生成子单元,用于根据设置的所述控件标识,形成各个控件的所述控件标识与控件属性之间的映射关系,将各个控件的所述映射关系形成所述映射关系集。
11.根据权利要求10所述的自动化脚本的生成装置,其特征在于,所述控件及控件属性获取子单元,包括:
句柄获取子单元,用于通过操作***的应用程序接口,获取当前鼠标位置处的控件句柄;
对象获取子单元,用于根据所述控件句柄获取所述当前鼠标位置处的控件对象;
控件获取子单元,用于根据所述控件对象获取所述当前鼠标位置处的控件;
属性获取子单元,用于读取所述当前鼠标位置处的控件的各个属性。
12.一种电子设备,其特征在于,包括:
显示器;
处理器;以及
存储器,用于存储实现自动化脚本的生成方法的程序,该设备通电并通过所述处理器运行该自动化脚本的生成方法的程序后,执行下述步骤:获取为待生成自动化脚本的操作编写的操作逻辑代码;获取生成用户界面所依据的界面配置参数;根据所述操作逻辑代码、所述界面配置参数及预先开发的用户界面模板,为所述待生成自动化脚本的操作生成自动化脚本;
其中,所述预先开发的用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表;
所述待生成自动化脚本的操作包括界面操作;
所述操作逻辑代码包括与界面中的控件对应的逻辑代码;
所述与界面中的控件对应的逻辑代码,采用如下步骤生成:
根据为所述控件预设的控件标识、及预先生成的控件标识与控件属性之间的映射关系集,获取所述控件的控件类型属性;以及,根据所述界面所属的界面类型,确定与所述界面对应的预先封装的脚本功能函数;
根据所述控件类型属性和确定的所述脚本功能函数,获取为所述控件类型预设的动作;
将所述控件标识、所述映射关系集、获取的所述预设的动作、所述界面的界面标识作为所述脚本功能函数的参数,形成所述与界面中的控件对应的逻辑代码。
13.一种自动化脚本的运行方法,其特征在于,包括:
获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板;
根据所述界面配置参数和所述用户界面模板,生成所述用户界面;
通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;
根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理;
其中,所述用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表。
14.根据权利要求13所述的自动化脚本的运行方法,其特征在于,在所述从所述用户界面中提取运行参数数据和待操作数据集之前,还包括:
将所述组件注册到操作***中。
15.根据权利要求14所述的自动化脚本的运行方法,其特征在于,所述操作***包括:视窗操作***或非视窗操作***。
16.根据权利要求14所述的自动化脚本的运行方法,其特征在于,所述操作***是视窗操作***;所述将所述组件注册到所述操作***中,采用如下方式:
通过COM组件方式,将所述组件注册到所述视窗操作***中。
17.根据权利要求14所述的自动化脚本的运行方法,其特征在于,所述操作***是非视窗操作***;所述将所述组件注册到所述操作***中,采用如下方式:
通过配置文件方式,将所述组件注册到所述非视窗操作***中。
18.根据权利要求14所述的自动化脚本的运行方法,其特征在于,所述界面配置参数包括运行参数标识、所述待操作对象的属性名、脚本功能标识。
19.一种自动化脚本的运行装置,其特征在于,包括:
界面配置参数获取单元,用于获取待运行自动化脚本的用户界面的界面配置参数;
用户界面模板获取单元,用于获取用户界面模板;
用户界面生成单元,用于根据所述界面配置参数和所述用户界面模板,生成所述用户界面;脚本运行相关数据获取单元,用于通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,从所述用户界面中提取运行参数数据和待操作对象集;
自动化脚本执行单元,用于根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理;
其中,所述预先开发的用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表。
20.根据权利要求19所述的自动化脚本的运行装置,其特征在于,还包括:
组件注册单元,用于将所述组件注册到操作***中。
21.一种电子设备,其特征在于,包括:
显示器;
处理器;以及
存储器,用于存储实现自动化脚本的运行方法的程序,该设备通电并通过所述处理器运行该自动化脚本的运行方法的程序后,执行下述步骤:获取待运行自动化脚本的用户界面的界面配置参数;以及,获取用户界面模板;根据所述界面配置参数和所述用户界面模板,生成所述用户界面;通过预先注册的用于获取所述用户界面中脚本运行相关数据的组件,将所述组件注册到操作***中,从所述用户界面中提取运行参数数据和待操作对象集;根据所述运行参数数据运行所述自动化脚本,对所述待操作对象集包括的各个待操作对象进行处理;
其中,所述预先开发的用户界面模板包括执行操作列表、参数配置列表及操作对象列表;所述界面配置参数用于设置所述执行操作列表、所述参数配置列表及所述操作对象列表。
CN201610228789.5A 2016-04-13 2016-04-13 自动化脚本的生成方法、装置及电子设备 Active CN107291438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610228789.5A CN107291438B (zh) 2016-04-13 2016-04-13 自动化脚本的生成方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610228789.5A CN107291438B (zh) 2016-04-13 2016-04-13 自动化脚本的生成方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN107291438A CN107291438A (zh) 2017-10-24
CN107291438B true CN107291438B (zh) 2021-09-24

Family

ID=60093831

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610228789.5A Active CN107291438B (zh) 2016-04-13 2016-04-13 自动化脚本的生成方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN107291438B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109901828A (zh) * 2017-12-09 2019-06-18 英业达科技有限公司 以操作快照编辑其他装置的自动化脚本的***及方法
CN108170415B (zh) * 2017-12-21 2021-01-22 博康智能信息技术有限公司 一种基于可配置控件的轻型应用程序创建方法
CN108282518A (zh) * 2017-12-26 2018-07-13 阿里巴巴集团控股有限公司 一种客户端页面生成方法和装置
CN108170809B (zh) * 2017-12-28 2020-11-03 平安科技(深圳)有限公司 建表脚本生成方法、装置、设备及计算机可读存储介质
CN108536492B (zh) * 2018-04-08 2021-09-07 武汉斗鱼网络科技有限公司 一种直播间属性信息获取方法、装置、设备及存储介质
CN108595656B (zh) * 2018-04-28 2022-02-18 宁波银行股份有限公司 一种数据的处理方法及***
CN108710489A (zh) * 2018-05-23 2018-10-26 中国平安人寿保险股份有限公司 自动化导数脚本生成方法、装置、计算机设备
CN109101231B (zh) * 2018-08-07 2022-09-23 百度在线网络技术(北京)有限公司 脚本代码生成方法、装置、计算机设备和存储介质
CN111104154A (zh) * 2018-10-25 2020-05-05 长沙博为软件技术股份有限公司 一种基于数据处理服务实现大数据采集***脚本功能扩展和定制的方法
CN109542553A (zh) * 2018-10-26 2019-03-29 北京慧流科技有限公司 用户界面ui元素的信息抓取方法及装置、及存储介质
CN109542539A (zh) * 2018-11-22 2019-03-29 郑州云海信息技术有限公司 一种配置Web***中脚本参数的方法和***
CN109918069B (zh) * 2019-01-16 2022-07-05 浙江蓝卓工业互联网信息技术有限公司 应用于工业互联网的交互界面生成方法及***
CN110308897B (zh) * 2019-06-28 2023-08-04 高斯贝尔数码科技股份有限公司 一种用于红外遥控的脚本设计方法
CN110825369A (zh) * 2019-11-07 2020-02-21 四川长虹电器股份有限公司 一种基于java语言的代码自动生成的方法
CN111142735B (zh) * 2019-12-10 2021-06-29 深圳市优必选科技股份有限公司 一种软件页面的创建方法、装置、终端设备和存储介质
KR102385381B1 (ko) * 2019-12-11 2022-04-11 스노우 주식회사 카메라 이펙트를 위한 스크립트 생성 방법 및 시스템
CN113971059A (zh) * 2020-07-22 2022-01-25 北京奇虎科技有限公司 设备连接状态恢复方法、装置、设备及存储介质
CN115617322A (zh) * 2022-09-29 2023-01-17 联通智网科技股份有限公司 定制脚本运行方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101876895A (zh) * 2009-04-28 2010-11-03 中国科学院计算技术研究所 网格计算环境下应用软件的封装集成方法
CN102402628B (zh) * 2010-09-07 2016-03-09 无锡中感微电子股份有限公司 一种生成SoC验证平台的方法及***
CN103135976B (zh) * 2011-11-30 2016-05-11 阿里巴巴集团控股有限公司 代码自动生成方法及装置
CN104252413B (zh) * 2013-06-27 2018-06-05 阿里巴巴集团控股有限公司 一种自动化脚本生成方法、装置及***
CN104423948B (zh) * 2013-09-02 2018-01-02 阿里巴巴集团控股有限公司 自动化脚本运行方法及装置
US9754303B1 (en) * 2013-10-03 2017-09-05 Ca, Inc. Service offering templates for user interface customization in CITS delivery containers
CN104317590B (zh) * 2014-10-22 2017-12-12 中国建设银行股份有限公司 嵌入式配置***及嵌入式配置审核流程的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Developing, Verifying, and Maintaining High-Quality Automated Test Scripts";Vahid Garousi 等;《IEEE Software》;20160218;第33卷(第3期);第68-75页 *
"针对linux服务器交互式自动化脚本实现与研究";高佳林;《电子世界》;20160308(第5期);第125-126页 *

Also Published As

Publication number Publication date
CN107291438A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN107291438B (zh) 自动化脚本的生成方法、装置及电子设备
US10169206B2 (en) Simultaneous multi-platform testing
Jimenez et al. The popper convention: Making reproducible systems evaluation practical
US11755919B2 (en) Analytics for an automated application testing platform
US9021438B2 (en) Automatic framework for parallel testing on multiple testing environments
US9021442B2 (en) Dynamic scenario testing of web application
US9678726B1 (en) Automatic generation of plugins for development tools
US9384005B2 (en) Systems and methods for dynamic configuration of client-side development environments through use of application servers
US8615750B1 (en) Optimizing application compiling
US20140366005A1 (en) Abstract layer for automatic user interface testing
US9952835B2 (en) Generation of hybrid enterprise mobile applications in cloud environment
CN110543297B (zh) 用于生成源码的方法和装置
CN107015903B (zh) 一种界面测试程序的生成方法、装置及电子设备
Nguyen et al. An observe-model-exercise paradigm to test event-driven systems with undetermined input spaces
EP3333712A2 (en) Simultaneous multi-platform testing
Costa et al. Generating performance test scripts and scenarios based on abstract intermediate models
CN110795181A (zh) 基于跳转协议的应用程序界面展示方法、装置及电子设备
Gundecha et al. Selenium WebDriver 3 Practical Guide: End-to-end automation testing for web and mobile browsers with Selenium WebDriver
US20160292067A1 (en) System and method for keyword based testing of custom components
Ali et al. Automated parallel GUI testing as a service for mobile applications
Arlt et al. Trends in model-based gui testing
US20140359258A1 (en) Declarative Configuration Elements
US20220365758A1 (en) Tool for Introspection in Object-Oriented Source Code
Gundecha et al. Learn Selenium: Build data-driven test frameworks for mobile and web applications with Selenium Web Driver 3
CN113515441A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211109

Address after: Room 507, floor 5, building 3, No. 969, Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Patentee after: ZHEJIANG TMALL TECHNOLOGY Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Patentee before: ALIBABA GROUP HOLDING Ltd.