脚本处理方法及装置的制作方法

上传人:ting****789 文档编号:310046960 上传时间:2022-06-14 格式:DOCX 页数:3 大小:18.88KB
返回 下载 相关 举报
脚本处理方法及装置的制作方法_第1页
第1页 / 共3页
亲,该文档总共3页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《脚本处理方法及装置的制作方法》由会员分享,可在线阅读,更多相关《脚本处理方法及装置的制作方法(3页珍藏版)》请在金锄头文库上搜索。

1、脚本处理方法及装置的制作方法专利名称:脚本处理方法及装置的制作方法技术领域:本发明涉及通信领域,具体而言,涉及一种脚本处理方法及装置。背景技术:在自动化测试中,为了能适应不同业务特点的被测系统,测试平台都采用公共功能应用与业务测试应用相分离的架构策略,例如,对于脚本管理、测试运行、数据度量等功能逻辑相对固定的功能采用编译型开发工具硬编码的方式实现,诸如VC6.0、dotNet。而测试逻辑则采用编写脚本的方式来实现,例如,界面自动化测试工具QuickTestProfessional采用的是vbscript脚本。相关技术中的测试系统只支持一种脚本语言,因此,在自行开发测试平台时,必须面临的一个问题

2、是对脚本语言的选择,而每种脚本语言都有自己的优势,如果选择其中一种,则意味着放弃其他脚本语言的优势。另外,一些仪表测试工具厂商只提供具有特定的脚本控制接口的产品,如工具命令语言(Tool CommandLanguage,简称为tcl),如果测试平台采用不同的脚本语言,则必须对该脚本语言进行人工移植,否则无法控制仪表。在相关技术中,有些测试工具可以支持两种脚本语言,例如,Function Tester工具可以同时支持vbscript和javascript两种脚本语言,虽然支持两种脚本语言给用户一定的选择空间,但是一个脚本只能选择一种脚本语言编写,不能解决在一个脚本当中执行其他脚本语句的问题。发明

3、内容本发明提供了一种脚本处理方法及装置,以至少解决相关技术中一个脚本当中只能用一种脚本语言来进行编写的问题。根据本发明的一个方面,提供了一种脚本处理方法,包括:接收脚本语句,其中,每一种类型的脚本语言对应于一种脚本解释器,脚本解释器用于执行使用该脚本解释器对应的脚本语言编写的脚本语句;调用与脚本语句对应的脚本解释器执行脚本语句。优选地,调用脚本解释器执行脚本语句包括:接收脚本语句的脚本语言类型对应的脚本解释器的标识信息;或者,根据脚本语句判断脚本语句的脚本语言类型,并且获取与脚本语言类型对应的脚本解释器的标识信息;调用与脚本解释器的标识信息对应的脚本解释器执行脚本语句。优选地,标识信息为字符串

4、,字符串用于标识该脚本解释器对应的脚本语言类型。优选地,在接收脚本语句之前,创建所有类型的脚本解释器;或者,接收到脚本语句之后,根据脚本语句的脚本语言类型创建与该脚本语言类型对应的脚本解释器。优选地,在执行完需要执行的脚本语句之后,还包括:销毁在接收脚本语句之前创建的所有类型的脚本解释器;或者,销毁脚本语句的脚本语言类型对应的脚本解释器。优选地,脚本语句用于执行测试。根据本发明的另一个方面,提供了一种脚本处理装置,包括:接收模块,用于接收脚本语句,其中,每一种类型的脚本语言对应于一种脚本解释器,脚本解释器用于执行使用该脚本解释器对应的脚本语言编写的脚本语句;调用模块,用于调用与脚本语句对应的脚

5、本解释器执行脚本语句。优选地,接收模块,还用于接收脚本语句的脚本语言类型对应的脚本解释器的标识信息;或者,上述装置还包括:判断模块,用于根据脚本语句判断脚本语句的脚本语言类型,并且获取与脚本语言类型对应的脚本解释器的标识信息;调用模块,用于调用与脚本解释器的标识信息对应的脚本解释器执行脚本语句。优选地,还包括:创建模块,用于在接收脚本语句之前,创建所有类型的脚本解释器;或者,用于在接收到脚本语句之后,根据脚本语句的脚本语言类型创建与该脚本语言类型对应的脚本解释器。优选地,还包括:销毁模块,用于在执行完需要执行的脚本语句之后,销毁在接收脚本语句之前创建的所有类型的脚本解释器;或者,销毁脚本语句的

6、脚本语言类型对应的脚本解释器。在本发明中,通过对不同脚本解释器的调用,至少解决了相关技术中只能用一种脚本语言来进行编写的问题,实现了在一个脚本里执行多种脚本语言的脚本语句。此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的脚本处理方法的流程图;图2是根据本发明实施例的多脚本语言的测试系统示意图;图3是根据本发明实施例的多脚本语言的脚本执行流程图;图4是根据本发明实施例的脚本处理装置的结构框图;图5是根据本发明优选实施例的脚本处理装置的结构框图一;图6是根据本发明优选实施例的

7、脚本处理装置的结构框图二 ;图7是根据本发明优选实施例的脚本处理装置的结构框图三;图8是根据本发明优选实施例的脚本处理装置的结构框图四;图9是根据本发明优选实施例的脚本处理装置的结构框图五。具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。在以下实施例中提供了一种脚本处理方法,图1是根据本发明实施例的脚本处理方法的流程图,如图1所示,该脚本处理方法包括如下步骤:步骤S102,接收脚本语句(例如,该脚本语句是用于执行测试的),其中,每一种类型的脚本语言对应于一种脚本解释器,脚本解释器用于执行使用该脚本解释器对应

8、的脚本语言编写的脚本语句。步骤S104,调用与脚本语句对应的脚本解释器执行脚本语句。相关技术中,一种测试系统只支持一种脚本语言,如果测试系统采用不同的脚本语言,必须对该脚本语言进行人工移植。在本实施例中,即使一个脚本中使用了不同的脚本语言,只要在执行该脚本语言的过程中调用不同的脚本解释器即可,这样就实现了在一个脚本里执行多种脚本语言的脚本语句,进而可以综合各脚本的优势,并且不用对脚本语言进行人工移植,提高了用户体验。对于确定与脚本语句对应的脚本解释器,在本实施例中提供了两种优选的实施方式:方式一,脚本语句的所使用的脚本语言的类型可以由其他模块、函数或者装置来得到,在接收该脚本语句的步骤之前或者

9、之后直接接收该脚本语句的脚本语言类型对应的脚本解释器的标识信息即可。方式二,也可以在接收到脚本语句之后,根据脚本语句判断脚本语句的脚本语言类型,并且获取与脚本语言类型对应的脚本解释器的标识信息。上述两种优选的方式均可以得到脚本解释器的标识信息,因此,这两种优选的方式可以择一使用或者也可以结合使用(当然,也可以使用其他的方式来得到脚本解释器的标识信息)。在得到标识信息之后,可以调用与脚本解释器的标识信息对应的脚本解释器执行脚本语句。标识信息可以有很多种形式,优选地,以字符串作为标识信息,字符串用于标识该脚本解释器对应的脚本语言类型,这样的处理方式可以很直观地标识出脚本语言的类型;或者也可以直接使

10、用数字来进行标识。对于脚本解释器的创建,也可以采用不同的处理方式,例如,出于节省内存的考虑,每次测试系统执行脚本前,只创建需要使用的脚本解释器。又例如,可以在接收脚本语句之前,创建所有类型的脚本解释器,该例相对于每次在使用时再创建的做法,可以在一定程度上提高执行速度。执行脚本语句前根据实际情况选择或结合使用上述两例中的创建策略。同理,在执行完需要执行的脚本语句之后,即可销毁之前创建的脚本解释器,根据创建方式的不同,也有不同的销毁方式:销毁在接收脚本语句之前创建的所有类型的脚本解释器;或者,销毁脚本语句的脚本语言类型对应的脚本解释器。在以下实施例中,以测试系统为例对上述实施例及优选的实施方式进行

11、说明。与一般的测试系统将脚本解释器采用硬编码封装在系统不同,本优选实施例将脚本解释器封装在脚本适配器中,图2是根据本发明实施例的多脚本语言的测试系统示意图。如图2所示,该系统包括:应用脚本(即等待执行的脚本语句)、脚本适配器和各脚本类型对应的脚本解释器,其中,脚本适配器用于执行上述实施例及优选实施方式,脚本适配器在执行脚本时,可以包括如下步骤:步骤A,测试系统加载脚本适配器。优选地,脚本适配器可以采用动态加载技术实现,但并不限于动态链接库(Dynamic Link Library,简称为 DLL)技术。步骤B,脚本适配器创建脚本解释器,并将脚本解释器的标识信息返回给测试系统,标识信息可以是脚本

12、解释器id、脚本解释器名字等,为了使id不重复,可以将其定义为全局变量。优选地,在步骤B中,创建脚本解释器时,指定要创建的脚本解释器的类型,并将该信息记录在脚本适配器中。在定义要创建的脚本解释器的名字时,可以检查是否和已有的其他脚本解释器的名字一样,为了避免产生不必要的错误,在检测到创建的脚本解释器的名字与其他脚本解释器相同时,进行更改。创建成功后,可以将脚本解释器id和脚本解释器的名字进行绑定。比较优地,在创建之后,脚本适配器还可以向系统返回创建脚本解释器成功与否标志。步骤C,测试系统将要执行的脚本语句和脚本解释器标识信息(例如id)传递给脚本适配器。在步骤C中,要执行的脚本语句要符合相对应

13、脚本解释器的语法。步骤D,脚本适配器调用脚本解释器id执行脚本语句。优选地,脚本适配器可以检查传入的脚本解释器的标识信息(例如id)是否存在,如不存在则向系统返回失败详细信息。如果步骤B使用的是脚本解释器名字,首先要检查是否存在该脚本解释器名字,如果存在,则根据名称与id的绑定关系查找对应的脚本解释器id,否则返回错误信息。一种比较优的执行方式是:脚本适配器根据脚本解释器id获取解释器类型,再调用解释器对应的执行接口执行传入的脚本语句。如果需要获得执行成功与否,则脚本解释器可以返回执行脚本语句成功与否标志。步骤E,脚本适配器返回脚本执行结果给测试系统。例如,可以传入要获取的变量名称以及对应的脚

14、本解释器的标识信息(例如,脚本解释器的id或者脚本解释器名字)。当然,脚本适配器也可以根据脚本解释器id获取解释器类型,再调用解释器对应的变量查询接口命令。同样,在该步骤中,脚本解释器也可以向系统返回执行脚本语句成功与否标志。步骤F,脚本适配器销毁脚本解释器。优选地,在该步骤中可以检查传入的脚本解释器标识信息,例如id是否存在,如不存在返回失败详细信息。在该步骤中可以优选地一次销毁所有的脚本解释器。通过上述步骤,测试系统可支持所有的脚本语言作为其编程语言,降低测试系统对用户的能力要求,提高测试系统的竞争力。单个应用脚本可以实现跨脚本语言的调用,从而实现多脚本语言混合编程。下面以支持vbscri

15、pt脚本的测试系统为例进行说明(例如,QuickTestProfessional测试系统),在以下的优选实施例中,仪表厂家的控制接口只提供了 tcl的控制驱动,即以下优选本实施例实现了在vbscript脚本中执行tcl脚本。图3是根据本发明实施例的多脚本语言的脚本执行流程图,如图3所示,该流程包括如下步骤:图3中示出:步骤S302,测试系统加载脚本适配器。本实施例中,脚本适配器使用dll来实现的,为此首先要在vbscript中声明脚本适配器的接口。本示例抽象出4个接口函数,如下:Extern.Declare miclnteger, CreateScriptInterpreter , Scrip

16、tAdaptPath, CreateScriptInterpreter , micString, micString其中,Extern.Declare是创建脚本解释器的声明。miclnteger为整数返回值,例如当返回值为I时表示执行结果为成功,当返回值为0时表示执行结果为失败。CreateScriptInterpreter是任意定义的函数名。ScriptAdaptPath是脚本适配器所在的磁盘。在CreateScriptInterpreter函数中,第一个参数micString为脚本解释器的类型,第二个参数micString为脚本解释器的名字。Extern.Declare miclnteger, ExecuteCmd , ScriptAdaptPath,ExecuteCmd , micString, micString其中,Extern.Declare是执行脚本语句的声明,在名为ExecuteCmd的函数中,第一个参数是脚本解释器名字,第二个要执行的脚本语句。Extern.Declare miclnteger,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号