SPIDER基础语法培训ppt课件_第1页
SPIDER基础语法培训ppt课件_第2页
SPIDER基础语法培训ppt课件_第3页
SPIDER基础语法培训ppt课件_第4页
SPIDER基础语法培训ppt课件_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、SPIDER语法根底培训课程目的学习本课程后,您将可以:了解SPIDER约束符号怎样运用。了解SPIDER的PCO的根本特征。了解SPIDER常用的AW怎样运用。了解SPIDER逻辑构造和逻辑语法。了解SPIDER测试用例的构造和语法。了解什么是复合逻辑,什么是RunLogic。了解用例的执行顺序怎样控制。目录SPIDER概念回想SPIDER符号约束PCO特征常见AWLogic语法TESTCASE语法SPIDER根本概念PCO:程序控制对象。可以将PCO了解为模拟对象的代表。如SIP/MML/Diameter等。AW:ActionWord,关键字。AW表达为某个PCO对象的一个或一组动作,如摘

2、机、拨号等。Logic逻辑:经过一个或者多个PCO的AW组合完成的业务或功能的笼统过程。TESTCASE测试用例:把已配置的PCO以及详细的测试数据作为参数传送给逻辑,然后按照一定的顺序把各个逻辑组织起来的构造。下面以打印操作为例把各个概念串起来。SPIDER用例编写实例 第一步:这个打印动作谁来执行? 定义一个PCO,取名为test。SPIDER用例编写实例 第二步:确定AW 打印是一个动作,SPIDER为它提供专门的方法:Print注:Print只携带一个参数第三步:编写逻辑实现打印Logic testPrint PCO content PCO Print %content % Logic

3、晋级写完后以*.logic命名保管在: GTRBINlibSPIDERV3UserfilesLogicSPIDER用例编写实例 第四步:编写用例执行打印package require SPIDERTESTCASE Information CaseID test_ print_001 CaseName 测试打印输出结果 Level Level 1 Procedure -S testPrint %test% Welcome to SPIDER! 第一步定义的PCO第三步定义的逻辑每个用例的详细测试数据察看执行结果 执行胜利Output输出窗口LogManager目录SPIDER概念回想SPIDER

4、符号约束PCO特征常见AWLogic语法TESTCASE语法SPIDER符号约束:分隔符分割符:SPIDER中的分割符有:空格,Tab,回车换行。空格:单词之间,单词与符号之间用空格分开。Tab:主要用于缩进建议用四个空格替代Tab进展缩进 。回车换行:各个AW操作之间,AW操作列表之间,等等,用回车换行符进展分割。留意:SPIDER语法是严厉区分大小写的。SPIDER符号约束:分隔符举例 留意:不能单独换行,这与华为编程规范是有区别的-。RecvCRCX CHK S = 86123456行之间回车空格分开各个单词,以及单词与符号Tab缩进SPIDER符号约束:大括号用于将多个空格、Tab或是

5、回车分隔的单词绑定为一个整体来处置。当用作AW或逻辑参数时,里面的内容不作任何处置。Print This is Bob Speaking!括号必需匹配,否那么SPIDER会报错当AW参数中含有空格或Tab或回车换行符时,必需加,否那么这个例如中SPIDER当作Print有4个参数,就会报错。SPIDER符号约束:引号有两个作用一是同一样,将含有空格、Tab或是回车分隔的单词绑定为一个整体。二是引号中的特殊符号如 、%、?,等符号的作用不会消逝。 Print GetTel +86-123-456Print GetTel +86-123-456输出GetTel +86-123-456输出86123

6、456GetTel是SPIDER提供的一个AW,用来把号码中的+、-去掉。SPIDER的注释:#和;#:从#开场直到所在行结尾的一切字符都被SPIDER看作注释。 ;#:假设 # 不是出如今行首而是紧跟在某些命令行末尾,那么用;#作注释。 # 我是注释Print Hello,World! ;# 我是注释注释里的内容的和必需匹配!良好的编写自动化脚本习惯从注释开场!SPIDER符号约束:SPIDER中的中括号是用来执行命令的,里的内容必需是SPIDER识别的完好AW 大多在SPIDER AW手册Public下面定义的AW,该AW需求要有前往值,普通用作AW的某个参数或参数的某一部份。 RecvC

7、RCX CHK S = GetTel +86-123-456Print GetCaseID执行GetTel命令执行GetCaseID命令SPIDER符号约束:%SPIDER采用%来区分一切的PCO以及PCO的属性。Logic Test_Register S2P User %UE2P% S2P AssociateUser %User% ;# END S2P Print %MACRO.PeerIP% SPIDER遇到%就会去匹配它里面的内容能否为PCO或者PCO的某个属性,否那么会报错逻辑体援用逻辑形参时也需求用%,数据池也会用到%SPIDER符号约束:?SPIDER允许用户本人定义变量,本人定义

8、的变量必需经过?加以维护和区别。RegisteUserVariable time 20071115Print ?time?SPIDER遇到?就会去查找?里面的内容能否为用户本人定义的变量,假设找不到那么当作普通字符串处置,或者报告失败先注册用户变量并赋值然后援用用户变量目录SPIDER概念回想SPIDER符号约束PCO特征常见AWLogic语法TESTCASE语法PCO的必备属性SPIER中PCO的两个必备属性 PCO的类型,也就是协议类型,如SIP、MML、SS7PCO的名字,如Caller、CalleePCO的可选属性PCO的属性值PCO的属性值,如话机分为手机,固定;手机又有号码,主叫显

9、示号码等特征,这些都经过PCO的属性值来表示。PCO的援用逻辑、测试用例援用PCO时,必需加上%package require SPIDERTESTCASE Procedure -S testPrint %test% Welcome to SPIDER! %不可少宏宏用来定义一个变量,普通这个变量用在PCO需求援用某个变量时的场景。 可以把宏了解为全局变量,对于那些依赖于环境的常用数据可以定义为宏:宏定义在Macro下宏:PCO援用宏举例 宏可以运用于逻辑,测试用例或者PCO本身,但是宏不能彼此嵌套。我们建议在测试用例或者逻辑中不要援用宏。援用宏自定义用户数据用户可以根据需求来定义本人经常用到

10、的数据,并进展分类管理。例如各种号码的定义。自定义数据只能用在测试逻辑和测试用例中。自定义用户数据定义在Group的某个群组下自定义数据只能用在逻辑和测试用例中自定义用户数据在测试用例中运用举例 测试用例和测试逻辑援用自定义用户数据时同样需求加%。SendInvite %TelNum.InternationalNum% ;# Dial +86-755-12345678目录SPIDER概念回想SPIDER符号约束PCO特征常见AWLogic语法TESTCASE语法常用AW引见SendXXXRecvXXX发送xxx音讯接纳xxx音讯常用AW:SendXXX功能:SendXXX发送XXX音讯,通常该

11、AW由协议开发者提供,XXX表示音讯称号,即Send+音讯称号注:通常音讯称号的第一个字母大写。以H248的ReqNotify音讯为例,即SendReqNotify 。常用AW:SendXXX格式:SendXXX OperationList SwitchPara没有规矩不成方圆常用AW:SendXXX参数阐明:OperationList对发送的音讯作进一步的操作的列表,支持如MOD,ADD,RMV等操作符,是可选的。通用的音讯都可以经过OperationList操作到达测试目的。利用这些操作符,各种音讯都可以构造不可少,前面要留一个空格且要与匹配回车换行符分割各个操作列表常用AW:SendXX

12、X参数阐明:SwitchPara开关参数,可选。SendReqNotify -savemsg tempReqMsg 一切开关参数都是可选的,且没有先后顺序常见的开关参数: -savemsg保管发送的音讯方式:-savemsg valueSendXXX举例 发送H248的ReqNotify音讯:SendReqNotify ADD Transaction.Context.Notify.Events al/ri ADD T.C.N.E al/* GET T.C.N.E(end) TCN-savemsg tempReqMsg 发送SIP的Invite音讯:SendInvite 123456789hua

13、wei 常用AW:RecvXXX功能:必需有音讯到达后,SPIDER才干接纳到音讯,也就是说,接纳音讯是被动的,它是有时序的AW,必需先有SendXXX发送音讯或者被测环境发送音讯给SPIDER,才干运用RecvXXX。RecvXXX接纳XXX音讯,通常该AW由协议开发者提供,XXX表示音讯称号,即Recv+音讯称号,和SendXXX一一对应。以H248的ReqNotify音讯为例,即RecvReqNotify 。常用AW:RecvXXX格式:RecvXXX OperationList SwitchPara没有规矩不成方圆常用AW:RecvXXX参数阐明:OperationList对接纳的音讯

14、进展检查,支持如CHK,ABS,EXT,TFT等音讯检测符,是可选的,一切的音讯的检测都是经过OperationList的检测条件来到达测试目的。有了这些符号,就可以对接纳的音讯进展各种检查不可少,前面要留一个空格且要与匹配回车换行符分割各个操作列表常用AW:RecvXXX参数阐明:SwitchPara开关参数,可选。RecvReqNotify -recvmode peek -savemsg tempReqMsg 一切开关参数都是可选的,且没有先后顺序常见的开关参数: -savemsg(保管接纳的音讯) ,-recvmode 音讯接纳方式,-seek接纳音讯的过滤条件方式:-savemsg v

15、alueRecvXXX举例 接纳H248的ReqNotify音讯:RecvReqNotify CHK Transaction.Context.Notify.Events = al/ri CHK T.C.N.E = al/* GET T.C.N.E(end) TCN-savemsg recvtempNotify接纳SIP的Invite音讯:RecvInvite EXT To.tag CHK Via INCLUDE 4:5070目录SPIDER概念回想SPIDER符号约束PCO特征常见AWLogic语法TESTCASE语法Logic的根本构造 Logic LogicName P

16、CO1 PCO2 OthParams PCO1 AW1 %OthParams% OtherAWList PCO2 AWList .关键字逻辑名PCO形参,至少要有一个逻辑的其他形参,视情况可选,0个或多个PCO和AW组合,并构成一定的测试流程整个Logic里的内容叫:逻辑体、也是逻辑构造的一部分-逻辑Logic语法阐明 Logic:必需以Logic为关键字,SPIDER严厉区分大小写LogicName:逻辑名必需独一PCO1 PCO2 :必需至少包含一个PCO形参,没有上限OthParams :根据详细测试流程可以有0或多个只需用例调用了Logic, Logic才干执行逻辑Logic语法阐明逻

17、辑体:逻辑的整个内容,由1个或多个过程块组成各个控制块之间是并行执行的顺序过程块内的AWList可以为空,过程块里的AW串行执行逻辑以.logic为后缀进展命名保管,逻辑文件命名以字母下划线开头,且只能含有字母、下划线、数字,默许保管途径:GTRBINlibSPIDERV3UserfilesLogic,可以是多层次的文件夹,一个逻辑文件中可以包含多个Logic构造逻辑Logic的参数:逻辑体援用形参形参可以有多个,各个参数之间空格分开Logic testPrint printPco content 123456 printPco Print %content% 这里的PCO形参不需求加%,SP

18、IDER本人去识别逻辑体援用形参时需求加%逻辑Logic的参数:默许值 参数可以给出默许值Logic testPrint printPco content 123456 printPco Print %content% 用例中如下调用:testPrint %test%用例中如下调用:testPrint %test% Welcome!用把形参名和默许值绑定打印Welcome!用例在调用该逻辑时就可以省掉默许参数,那么打印123456逻辑Logic的参数:默许值带有空格 默许值允许含有空格、Tab等符号,必需加或“用以维护Logic testPrint printPco Content Hello

19、 SPIDER! printPco Print %Content% 用或 把含空格的默许值加以维护逻辑体援用含空格的参数时要加或 加以维护,否那么SPIDER以为Print后面跟了2个参数,就会报错逻辑Logic的参数:形参的默许值是PCO Logic Test_PCSCF_Register UE2P S2P User %UE2P% S2P AssociateUser %User% RecvRegister SendRegister401 RecvRegister SendRegister200 ;# END S2P 援用形参形参默许值是PCO,只能作为AW参数,不能作为PCO来运用逻辑Log

20、ic的参数:形参的默许值是PCO的属性值 Logic testPrint printPco content %CalleeMobile.TeleNumber% printPco Print %content% 用例中如下调用:testPrint %test%或用例中如下调用:testPrint %test% 12345678打印名叫CalleeMobile的PCO的TeleNumber属性值逻辑Logic的参数:默许值形参的位置带默许值的参数位于参数列表的末尾 Logic testPrint printPco content1 content2 Welcome! printPco Print

21、%content1% Print %content2% 用例中如下调用:testPrint %test% 123456123456传给了content1,content2那么运用默许值Welcome!逻辑Logic的参数:默许值形参的位置带默许值的参数不位于参数列表的末尾,能够会报错!Logic testPrint printPco content2 Welcome! content1 printPco Print %content1% Print %content2% 用例中如下调用:testPrint %test% 123456123456传给了content2,而content1的内容为

22、空,执行用例时SPIDER会报错逻辑的参数异常灵敏 定义如下一个逻辑Logic CONFIG_MMLExec PcoName NEType CmdName CmdArgs RetCodeArgs 0 PcoName SetNe %NEType % EXEC_MML %CmdName% %CmdArgs% %RetCodeArgs% 含有默许值0逻辑的参数异常灵敏 CONFIG_MMLExec % OMU_MML % %ENV1.SCSCFID% MOD SCSCF S-CSCF ID 0 Default fork policy No forking 用例中如下调用该逻辑:维护一切橙色字体的部分

23、不论里面能否有引号,空格,回车等符号,当作一个参数,赋值给CmdArgs,固定了参数的个数。另外,实践只传了4个参数,RetCodeArgs没有被赋值,运用默许值逻辑的参数异常灵敏 CONFIG_MMLExec % OMU_MML % %ENV1.SCSCFID% MOD SCSCF S-CSCF ID 0 Default fork policy No forking 0 1000用例中如下调用该逻辑:维护一切橙色字体的部分,使得CmdArgs可以在脚本中得到自在的控制红色字体赋值给RetCodeArgs,把0和1000当作一个参数逻辑中默许参数太多逻辑中的有默许值的形参个数多个Logic D

24、emo PCO p1 1 p2 2 p3 3 p4 4 PCO Print %p1% %p2% %p3% %p4% # do sth . 如今用户只希望修正p3的值,在用例中怎样调用该逻辑?default,-params 方法1: 记住一切的默许值参数方法2: default派上用场Demo %RealPCO% 1 2 100 Demo %RealPCO% default default 100 default, -params方法3:用-params修正默许值,-params开关运用更为方便,同时显示也更直观Demo %RealPco% params P3 100default,-param

25、s扩展如今用户希望修正p2,p3的值分别为200,300 Demo %RealPCO% 1 200 300 Demo %RealPCO% -params p2 200 p3 300方法1:记住一切的默许参数值方法3: -paramsDemo %RealPCO% default 200 300 方法2:记住默许参数的个数,用default 逻辑Logic晋级总结逻辑的格式逻辑的形参逻辑的逻辑体高级Logic目录SPIDER概念回想SPIDER符号约束PCO特征常见AWLogic语法TESTCASE语法TESTCASE根本构造 package require SPIDER TESTCASE Inf

26、ormation CaseID “测试用例编号 CaseName “测试用例的名字 Level “用例级别 IncludeID “关联的用例ID Procedure -S LogicName1 %pco% 其他参数 LogicName2 %pco% 其他参数 必需先声明是SPIDER测试用例测试用例TESTCASE构造阐明执行体可以有多个,如常用的Procedure、Precondition,Postcondition,书写顺序可以无关,必需包含其中的某一个。必需包含有Information信息体,有且只需一个测试用例的关键字入口为TESTCASE在同一个TESTCASE中,不能反复定义执行体

27、Procedure、Precondition,Postcondition。TESTCASE包括信息体和执行体信息体Information信息体Information用来描画一个测试用例TESTCASE的关键信息Information CaseID 用例ID CaseName 用例称号 Level 用例的级别 other 其他描画信息 这2个必需有CaseID、 CaseName便于产生日志、上传日志,其内容可以为空,用引号 把内容加以维护其他信息根据测试需求可选。信息体IncludeID 信息体IncludeID用来描画与本测试用例的关联的其他用例的编号IncludeID BF-Re REG-

28、S01-003_001 BF-Re REG-S01-003_002 BF-Re REG-S01-003_004多个关联CaseID以回车换行符分割各个CaseID假设有空格要加或 加以维护整个IncludeID信息体是可选的CaseID和IncludeID的区别 简单的说,CaseID为每个测试脚本编号,一定是独一的,通常以TP开头,即测试规程的编号。但是每一个测试脚本能够包含有多个测试点,每个测试点在测试用例方案设计时都有对应文字描画并被赋予了有特定含义的编号,通常以TC开头,即测试用例编号,放在IncludeID部分。例如:CaseID和IncludeID的区别SPIDER经过脚本中的Ca

29、seID和IncludeID把脚本执行的结果自动必需启动上传功能上传到GT3000。只需脚本执行PASS,GT3000上的用例才记为PASS;否那么当脚本执行失败后,上例中对应的CaseID编号TP_SS7_ 01_006的测试规程以及IncludeID里包含的一切编号TC_FUN_SS7_001_001,TC_FUN_SS7_001_002的用例都记为Fail。信息体DataPool信息体DataPool也是用例的可选部分,中文名叫数据池,顾名思义,定义数据的集合。也可用它来定义用户本人的变量。DataPool VarName Value1 Value2 这些变量可以是普通的字符串,可以是P

30、CO,或者PCO的某个属性,可以是逻辑执行体Procedure执行体Procedure是测试用例真正执行的内容,它由详细的测试数据和逻辑组成 Procedure -S PhoneSpeaking %Bob% %David% PhoneSpeaking %xiaowang% %xiaozhang% 已定义的逻辑,可以有多个,回车换行符分割的语句。实践配置的PCO参数过程中的内容顺序执行-S/-Serial还是并行-P/-Parallel执行执行体PreconditionPrecondition用来对测试环境做预备。如用户必需先注册,后续才干打。Precondition和Precedure的构造一

31、样:Precondition -S Register %Bob% Register %David% Register %xiaowang% Register %xiaozhang%Precondition和Precedure的区别在于当他们二者同时存在时,先执行Precondition的内容,然后执行Precedure。执行体PostconditionPostcondition用来对测试环境做恢复。如用户注册之后必需注销恢复环境,以免下次执行用例时反复执行注册而失败。构造同Precedure,如下:Postcondition -S Deregister %Bob% Deregister %Da

32、vid% Deregister %xiaozhang% Deregister %xiaowang%调用逻辑Precondition、Precedure和Postcondition的执行顺序 脚本编写时, Precondition、Precedure和Postcondition的顺序没有要求,但是严厉按照Precondition、Precedure、Postcondition顺序执行。建议书写顺序是: Precondition、Precedure然后Postcondition,添加脚本可读性。语法总结AW In PCO(AW包含在PCO里面)PCO+AW=过程块Logic=过程块+过程块+过程块

33、一个或多个TestCase=信息体+执行体执行体=Logic+测试数据+ Logic+测试数据 + Logic+测试数据 一个或多个问题用例的执行先后顺序怎样控制?简单的测试用例写法?逻辑可以调用逻辑吗?用例TESTCASE中的构造体Serial/ParallelDataPoolRunLogicMORE Serial/Parallel场景描画当测试场景越来越复杂,简单的用例串、并执行关系不能满足测试需求时怎样办?例如:我们需求测试一个遇忙前转业务,主叫用户A呼叫被叫用户B,B无应对前转到C,C无应对前转到D,D接听。 测试言语描画测试流程图主叫A呼叫被叫BCaller_NormalCall被叫

34、B前转给CCallee_TransferCall被叫C前转给DCallee_TransferCall被叫D接听Callee_NormalCallSPIDER处理方法Procedure P Caller_NormalCall % Serial Callee_TransferCall %B% Callee_TransferCall %C% Callee_NormalCall %D% 与、同时做这些操作、按照顺序来做这些操作Serial/Parallel构造Serial/Parallel是SPIDER的执行顺序控制构造,用以保证它里面的内容按照商定的顺序来执行。Serial和Parallel只需执行

35、的顺序不同,没有其他区别Serial/Parallel运用阐明 Serial/Parallel可以在用例执行体中任何可以出现逻辑的地方出现Serial/Parallel中可以出现任何用例构造体Serial里面的内容按顺序执行,而Parallel中的内容同时执行,由SPIDER来控制时序。Serial/Parallel根据测试需求,可以彼此嵌套,并可以无限的嵌套。运用场景 经常遇到很简单的测试用例,就一个打印的输出,或者用例很特殊,没有重用的价值,也必需得封装逻辑Logic然后用例调用逻辑才干执行吗? 处理方法 封装逻辑Logic不是必需的,对于一些特殊的运用场景,可以用RunLogic来直接执行AW,但是我们提倡都封装成逻辑,便于重用,也便于一致管理。RunLogic跟逻辑构造方式上很类似,下面来详细引见。RunLogic构造 RunLogic RealPCO_1 AWList RealPCO_2 AWList RealPCO_n AWList 必需是PCO实例,即曾经配置了的PCO名字N建议小于3,否那么封装成逻辑RunLogic的位置 package require SPIDERTESTCASE Information CaseID “001 CaseName 简单测试 Level L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论