SPIDER基礎(chǔ)語法培訓(xùn)_第1頁
SPIDER基礎(chǔ)語法培訓(xùn)_第2頁
SPIDER基礎(chǔ)語法培訓(xùn)_第3頁
SPIDER基礎(chǔ)語法培訓(xùn)_第4頁
SPIDER基礎(chǔ)語法培訓(xùn)_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

SPIDER語法基礎(chǔ)培訓(xùn)課程目標(biāo)學(xué)習(xí)本課程后,您將能夠:了解SPIDER約束符號怎么使用。了解SPIDER的PCO的基本特征。了解SPIDER常用的AW怎么使用。了解SPIDER邏輯結(jié)構(gòu)和邏輯語法。了解SPIDER測試用例的結(jié)構(gòu)和語法。了解什么是復(fù)合邏輯,什么是RunLogic。了解用例的執(zhí)行順序怎么控制。目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法SPIDER基本概念PCO:程序控制對象??梢詫CO理解為模擬對象的代表。如SIP/MML/Diameter等。AW:ActionWord,關(guān)鍵字。AW體現(xiàn)為某個PCO對象的一個或一組動作,如摘機、撥號等。Logic邏輯:通過一個或者多個PCO的AW組合完成的業(yè)務(wù)或功能的抽象過程。TESTCASE測試用例:把已配置的PCO以及具體的測試數(shù)據(jù)作為參數(shù)傳遞給邏輯,然后按照一定的順序把各個邏輯組織起來的結(jié)構(gòu)。下面以打印操作為例把各個概念串起來。SPIDER用例編寫實例

第一步:這個打印動作誰來執(zhí)行?

定義一個PCO,取名為test。SPIDER用例編寫實例

第二步:確定AW

打印是一個動作,SPIDER為它提供專門的方法:Print(注:Print只攜帶一個參數(shù))第三步:編寫邏輯實現(xiàn)打印LogictestPrint{PCOcontent}{PCO{

Print

"%content%"}}Logic晉級寫完后以*.logic命名保存在:…GTR\BIN\lib\SPIDERV3\Userfiles\LogicSPIDER用例編寫實例

第四步:編寫用例執(zhí)行打印packagerequireSPIDERTESTCASE{Information{

CaseID"test_print_001"

CaseName"測試打印輸出結(jié)果"Level"Level1"}

Procedure-S{

testPrint{%test%"WelcometoSPIDER!"}}}第一步定義的PCO第三步定義的邏輯每個用例的具體測試數(shù)據(jù)察看執(zhí)行結(jié)果

執(zhí)行成功Output輸出窗口LogManager目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法SPIDER符號約束:分隔符分割符:SPIDER中的分割符有:空格,Tab,回車換行。空格:單詞之間,單詞與符號之間用空格分開。Tab:主要用于縮進(jìn)(建議用四個空格代替Tab進(jìn)行縮進(jìn))?;剀嚀Q行:各個AW操作之間,AW操作列表之間,等等,用回車換行符進(jìn)行分割。注意:SPIDER語法是嚴(yán)格區(qū)分大小寫的。SPIDER符號約束:分隔符舉例

注意:{不能單獨換行,這與華為編程規(guī)范是有區(qū)別的^-^。RecvCRCX{

CHKS==86123456}行之間回車空格分開各個單詞,以及單詞與符號Tab縮進(jìn)SPIDER符號約束:{}大括號{}用于將多個空格、Tab或是回車分隔的單詞綁定為一個整體來處理。當(dāng){}用作AW或邏輯參數(shù)時,{}里面的內(nèi)容不作任何處理。Print{ThisisBobSpeaking!}括號必須匹配,否則SPIDER會報錯當(dāng)AW參數(shù)中含有空格或Tab或回車換行符時,必須加{},否則這個示例中SPIDER當(dāng)作Print有4個參數(shù),就會報錯。SPIDER符號約束:""引號""有兩個作用一是同{}一樣,將含有空格、Tab或是回車分隔的單詞綁定為一個整體。二是引號中的特殊符號如[]、\、%%、??,[]等符號的作用不會消失。Print{[GetTel+86-123-456]}Print"[GetTel+86-123-456]"輸出[GetTel+86-123-456]輸出86123456GetTel是SPIDER提供的一個AW,用來把電話號碼中的+、-去掉。SPIDER的注釋:#和;##:從‘#’開始直到所在行結(jié)尾的所有字符都被SPIDER看作注釋。;#:如果‘#’不是出現(xiàn)在行首而是緊跟在某些命令行末尾,則用;#作注釋。

#我是注釋Print"Hello,World!";#我是注釋{}注釋里的內(nèi)容的{和}必須匹配!良好的編寫自動化腳本習(xí)慣從注釋開始!SPIDER符號約束:[]SPIDER中的中括號[]是用來執(zhí)行命令的,[]里的內(nèi)容必須是SPIDER識別的完整AW(大多在SPIDERAW手冊Public下面定義的AW),該AW需要要有返回值,[]一般用作AW的某個參數(shù)或參數(shù)的某一部份。RecvCRCX{

CHKS==[GetTel+86-123-456]}Print[GetCaseID]執(zhí)行GetTel命令執(zhí)行GetCaseID命令SPIDER符號約束:%%SPIDER采用%%來區(qū)分所有的PCO以及PCO的屬性。LogicTest_Register{S2P{User%UE2P%

}}{S2P{

AssociateUser%User%……

};#ENDS2P}Print{%MACRO.PeerIP%

}SPIDER遇到%%就會去匹配它里面的內(nèi)容是否為PCO或者PCO的某個屬性,否則會報錯邏輯體引用邏輯形參時也需要用%%,數(shù)據(jù)池也會用到%%SPIDER符號約束:??SPIDER允許用戶自己定義變量,自己定義的變量必須通過??加以保護(hù)和區(qū)別。RegisteUserVariable{time20071115}Print"?time?"SPIDER遇到??就會去查找??里面的內(nèi)容是否為用戶自己定義的變量,如果找不到則當(dāng)作普通字符串處理,或者報告失敗先注冊用戶變量并賦值然后引用用戶變量目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法PCO的必備屬性SPIER中PCO的兩個必備屬性

PCO的類型,也就是協(xié)議類型,如SIP、MML、SS7PCO的名字,如Caller、CalleePCO的可選屬性PCO的屬性值PCO的屬性值,如話機分為手機,固定電話;手機又有電話號碼,主叫顯示號碼等特征,這些都通過PCO的屬性值來表示。PCO的引用邏輯、測試用例引用PCO時,必須加上%%packagerequireSPIDERTESTCASE{…………Procedure-S{

testPrint{%test%"WelcometoSPIDER!"}}}%%不可少宏宏用來定義一個變量,一般這個變量用在PCO需要引用某個變量時的場景??梢园押昀斫鉃槿肿兞?,對于那些依賴于環(huán)境的常用數(shù)據(jù)可以定義為宏:宏定義在Macro下宏:PCO引用宏舉例

宏可以應(yīng)用于邏輯,測試用例或者PCO本身,但是宏不能彼此嵌套。我們建議在測試用例或者邏輯中不要引用宏。引用宏自定義用戶數(shù)據(jù)用戶可以根據(jù)需要來定義自己經(jīng)常用到的數(shù)據(jù),并進(jìn)行分類管理。例如各種電話號碼的定義。自定義數(shù)據(jù)只能用在測試邏輯和測試用例中。自定義用戶數(shù)據(jù)定義在Group的某個群組下自定義數(shù)據(jù)只能用在邏輯和測試用例中自定義用戶數(shù)據(jù)在測試用例中應(yīng)用舉例

測試用例和測試邏輯引用自定義用戶數(shù)據(jù)時同樣需要加%%。SendInvite%TelNum.InternationalNum%;#Dial+86-755-12345678目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法常用AW介紹SendXXXRecvXXX發(fā)送xxx消息接收xxx消息常用AW:SendXXX功能:SendXXX發(fā)送XXX消息,通常該AW由協(xié)議開發(fā)者提供,XXX表示消息名稱,即Send+消息名稱(注:通常消息名稱的第一個字母大寫)。以H248的ReqNotify消息為例,即SendReqNotify

。常用AW:SendXXX格式:SendXXX

OperationList

SwitchPara沒有規(guī)矩不成方圓常用AW:SendXXX參數(shù)說明:OperationList對發(fā)送的消息作進(jìn)一步的操作的列表,支持如MOD,ADD,RMV等操作符,是可選的。通用的消息都可以通過OperationList操作達(dá)到測試目的。利用這些操作符,各種消息都可以構(gòu)造{不可少,{前面要留一個空格且要與}匹配回車換行符分割各個操作列表常用AW:SendXXX參數(shù)說明:SwitchPara開關(guān)參數(shù),可選。SendReqNotify{}-savemsg

tempReqMsg

所有開關(guān)參數(shù)都是可選的,且沒有先后順序常見的開關(guān)參數(shù):-savemsg(保存發(fā)送的消息)形式:-savemsgvalueSendXXX舉例

發(fā)送H248的ReqNotify消息:SendReqNotify{ADDTransaction.Context.Notify.Eventsal/riADDT.C.N.Eal/*GETT.C.N.E(end)TCN}-savemsg

tempReqMsg

發(fā)送SIP的Invite消息:SendInvite123456789@常用AW:RecvXXX功能:必須有消息到達(dá)后,SPIDER才能接收到消息,也就是說,接收消息是被動的,它是有時序的AW,必須先有SendXXX發(fā)送消息或者被測環(huán)境發(fā)送消息給SPIDER,才能使用RecvXXX。RecvXXX接收XXX消息,通常該AW由協(xié)議開發(fā)者提供,XXX表示消息名稱,即Recv+消息名稱,和SendXXX一一對應(yīng)。以H248的ReqNotify消息為例,即RecvReqNotify

。常用AW:RecvXXX格式:RecvXXX

OperationList

SwitchPara沒有規(guī)矩不成方圓常用AW:RecvXXX參數(shù)說明:OperationList對接收的消息進(jìn)行檢查,支持如CHK,ABS,EXT,TFT等消息檢測符,是可選的,所有的消息的檢測都是通過OperationList的檢測條件來達(dá)到測試目的。有了這些符號,就可以對接收的消息進(jìn)行各種檢查{不可少,{前面要留一個空格且要與}匹配回車換行符分割各個操作列表常用AW:RecvXXX參數(shù)說明:SwitchPara開關(guān)參數(shù),可選。RecvReqNotify{}-recvmodepeek-savemsg

tempReqMsg

所有開關(guān)參數(shù)都是可選的,且沒有先后順序常見的開關(guān)參數(shù):-savemsg(保存接收的消息),-recvmode

(消息接收模式),-seek(接收消息的過濾條件)形式:-savemsgvalueRecvXXX舉例

接收H248的ReqNotify消息:RecvReqNotify{CHKTransaction.Context.Notify.Events==al/riCHKT.C.N.E==al/*GETT.C.N.E(end)TCN}-savemsg

recvtempNotify接收SIP的Invite消息:RecvInvite{EXTTo.tagCHKViaINCLUDE"4:5070"}目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法Logic的基本結(jié)構(gòu)

LogicLogicName{PCO1PCO2…OthParams…}{PCO1{

AW1%OthParams%

OtherAWList}PCO2{AWList}...}關(guān)鍵字邏輯名PCO形參,至少要有一個邏輯的其他形參,視情況可選,0個或多個PCO和AW組合,并形成一定的測試流程整個Logic里的內(nèi)容叫:邏輯體{、}也是邏輯結(jié)構(gòu)的一部分^-^邏輯Logic語法說明

Logic:必須以Logic為關(guān)鍵字,SPIDER嚴(yán)格區(qū)分大小寫LogicName:邏輯名必須唯一PCO1PCO2…:必須至少包含一個PCO形參,沒有上限OthParams…:根據(jù)具體測試流程可以有0或多個只有用例調(diào)用了Logic,Logic才能執(zhí)行邏輯Logic語法說明邏輯體:邏輯的整個內(nèi)容,由1個或多個過程塊組成各個控制塊之間是并行執(zhí)行的順序過程塊內(nèi)的AWList可以為空,過程塊里的AW串行執(zhí)行邏輯以.logic為后綴進(jìn)行命名保存,邏輯文件命名以字母下劃線開頭,且只能含有字母、下劃線、數(shù)字,默認(rèn)保存路徑:…GTR\BIN\lib\SPIDERV3\Userfiles\Logic,可以是多層次的文件夾,一個邏輯文件中可以包含多個Logic結(jié)構(gòu)邏輯Logic的參數(shù):邏輯體引用形參形參可以有多個,各個參數(shù)之間空格分開LogictestPrint{printPco

{content123456}}{

printPco{

Print"%content%"

}}這里的PCO形參不需要加%%,SPIDER自己去識別邏輯體引用形參時需要加%%邏輯Logic的參數(shù):默認(rèn)值

參數(shù)可以給出默認(rèn)值LogictestPrint{printPco

{content123456}}{

printPco{

Print"%content%"

}}用例中如下調(diào)用:testPrint{%test%}用例中如下調(diào)用:testPrint{%test%Welcome!}用{}把形參名和默認(rèn)值綁定打印Welcome!用例在調(diào)用該邏輯時就可以省掉默認(rèn)參數(shù),則打印123456邏輯Logic的參數(shù):默認(rèn)值帶有空格

默認(rèn)值允許含有空格、Tab等符號,必須加{}或“”用以保護(hù)LogictestPrint{printPco

{Content{HelloSPIDER!}}}{

printPco{

Print"%Content%"

}}用{}或""把含空格的默認(rèn)值加以保護(hù)邏輯體引用含空格的參數(shù)時要加{}或""加以保護(hù),否則SPIDER以為Print后面跟了2個參數(shù),就會報錯邏輯Logic的參數(shù):形參的默認(rèn)值是PCO

LogicTest_PCSCF_Register{UE2PS2P{User%UE2P%}}{

S2P{

AssociateUser%User%

RecvRegister

SendRegister401

RecvRegister

SendRegister200

};#ENDS2P}引用形參形參默認(rèn)值是PCO,只能作為AW參數(shù),不能作為PCO來使用邏輯Logic的參數(shù):形參的默認(rèn)值是PCO的屬性值

LogictestPrint{printPco

{content%CalleeMobile.TeleNumber%}}{

printPco{

Print"%content%"

}}用例中如下調(diào)用:testPrint{%test%}或用例中如下調(diào)用:testPrint{%test%12345678}打印名叫CalleeMobile的PCO的TeleNumber屬性值邏輯Logic的參數(shù):默認(rèn)值形參的位置帶默認(rèn)值的參數(shù)位于參數(shù)列表的末尾LogictestPrint{printPco

content1{content2Welcome!}}{

printPco{

Print"%content1%"Print"%content2%"

}}用例中如下調(diào)用:testPrint{%test%123456}123456傳給了content1,content2則使用默認(rèn)值Welcome!邏輯Logic的參數(shù):默認(rèn)值形參的位置帶默認(rèn)值的參數(shù)不位于參數(shù)列表的末尾,可能會報錯!LogictestPrint{printPco

{content2Welcome!}content1}{

printPco{

Print"%content1%"Print"%content2%"

}}用例中如下調(diào)用:testPrint{%test%123456}123456傳給了content2,而content1的內(nèi)容為空,執(zhí)行用例時SPIDER會報錯邏輯的參數(shù)異常靈活

定義如下一個邏輯LogicCONFIG_MMLExec{PcoName

NEType

CmdName

CmdArgs

{RetCodeArgs

0}}{

PcoName{

SetNe%NEType%

EXEC_MML"%CmdName%"{%CmdArgs%}""

%RetCodeArgs%

}}含有默認(rèn)值0邏輯的參數(shù)異常靈活

CONFIG_MMLExec

{%OMU_MML%"%ENV1.SCSCFID%""MODSCSCF"{"S-CSCFID"

"0""Defaultforkpolicy""Noforking"

}}用例中如下調(diào)用該邏輯:{}保護(hù)所有橙色字體的部分(不管里面是否有引號,空格,回車等符號),當(dāng)作一個參數(shù),賦值給CmdArgs,固定了參數(shù)的個數(shù)。另外,實際只傳了4個參數(shù),RetCodeArgs沒有被賦值,使用默認(rèn)值邏輯的參數(shù)異常靈活

CONFIG_MMLExec

{%OMU_MML%"%ENV1.SCSCFID%""MODSCSCF"{"S-CSCFID"

"0""Defaultforkpolicy""Noforking"

…………}

{01000}}用例中如下調(diào)用該邏輯:{}保護(hù)所有橙色字體的部分,使得CmdArgs可以在腳本中得到自由的控制紅色字體賦值給RetCodeArgs,{}把0和1000當(dāng)作一個參數(shù)邏輯中默認(rèn)參數(shù)太多邏輯中的有默認(rèn)值的形參個數(shù)多個LogicDemo{PCO{p11}{p22}{p33}{p44}}{

PCO{Print

"%p1%

%p2%%p3%%p4%"

#dosth...

}}現(xiàn)在用戶只希望修改p3的值,在用例中怎么調(diào)用該邏輯?@default,-params

方法1:記住所有的默認(rèn)值參數(shù)方法2:@default派上用場Demo{%RealPCO%12100}Demo{%RealPCO%@default@default100}@default,-params方法3:用-params修改默認(rèn)值,-params開關(guān)使用更為方便,同時顯示也更直觀Demo{

%RealPco%}–params{

P3100}@default,-params擴充現(xiàn)在用戶希望修改p2,p3的值分別為200,300

Demo{%RealPCO%1200300}Demo{%RealPCO%}-params{p2200

p3300}方法1:記住所有的默認(rèn)參數(shù)值方法3:-paramsDemo{%RealPCO%@default200300}方法2:記住默認(rèn)參數(shù)的個數(shù),用@default

邏輯Logic晉級總結(jié)邏輯的格式邏輯的形參邏輯的邏輯體……高級Logic目錄SPIDER概念回顧SPIDER符號約束PCO特征常見AWLogic語法TESTCASE語法TESTCASE基本結(jié)構(gòu)

packagerequireSPIDER

TESTCASE{Information{

CaseID“測試用例編號”

CaseName“測試用例的名字”

Level“用例級別”

}

IncludeID{“關(guān)聯(lián)的用例ID”}

Procedure-S{LogicName1{%pco%其他參數(shù)}LogicName2{%pco%其他參數(shù)}}}必須先申明是SPIDER測試用例測試用例TESTCASE結(jié)構(gòu)說明執(zhí)行體可以有多個,如常用的Procedure、Precondition,Postcondition,書寫順序可以無關(guān),必須包含其中的某一個。必須包含有Information信息體,有且只有一個測試用例的關(guān)鍵字入口為TESTCASE在同一個TESTCASE中,不能重復(fù)定義執(zhí)行體Procedure、Precondition,Postcondition。TESTCASE包括信息體和執(zhí)行體信息體Information信息體Information用來描述一個測試用例TESTCASE的關(guān)鍵信息Information{

CaseID"用例ID"

CaseName"用例名稱"

Level"用例的級別"other"其他描述信息"}這2個必須有CaseID、CaseName便于產(chǎn)生日志、上傳日志,其內(nèi)容可以為空,用引號""把內(nèi)容加以保護(hù)其他信息根據(jù)測試需要可選。信息體IncludeID

信息體IncludeID用來描述與本測試用例的關(guān)聯(lián)的其他用例的編號IncludeID{"BF-ReREG-S01-003_001""BF-ReREG-S01-003_002""BF-ReREG-S01-003_004"}多個關(guān)聯(lián)CaseID以回車換行符分割各個CaseID如果有空格要加{}或""加以保護(hù)整個IncludeID信息體是可選的CaseID和IncludeID的區(qū)別

簡單的說,CaseID為每個測試腳本編號,一定是唯一的,通常以TP開頭,即測試規(guī)程的編號。但是每一個測試腳本可能包含有多個測試點,每個測試點在測試用例方案設(shè)計時都有對應(yīng)文字描述并被賦予了有特定含義的編號,通常以TC開頭,即測試用例編號,放在IncludeID部分。例如:CaseID和IncludeID的區(qū)別SPIDER通過腳本中的CaseID和IncludeID把腳本執(zhí)行的結(jié)果自動(必須啟動上傳功能)上傳到GT3000。只有腳本執(zhí)行PASS,GT3000上的用例才記為PASS;否則當(dāng)腳本執(zhí)行失敗后,上例中對應(yīng)的CaseID編號(TP_SS7_01_006)的測試規(guī)程以及IncludeID里包含的所有編號(TC_FUN_SS7_001_001,TC_FUN_SS7_001_002)的用例都記為Fail。信息體DataPool信息體DataPool也是用例的可選部分,中文名叫數(shù)據(jù)池,顧名思義,定義數(shù)據(jù)的集合。也可用它來定義用戶自己的變量。DataPool{

VarName{Value1Value2}}這些變量可以是普通的字符串,可以是PCO,或者PCO的某個屬性,可以是邏輯執(zhí)行體Procedure執(zhí)行體Procedure是測試用例真正執(zhí)行的內(nèi)容,它由具體的測試數(shù)據(jù)和邏輯組成

Procedure-S{

PhoneSpeaking{%Bob%%David%}

PhoneSpeaking{%xiaowang%%xiaozhang%}}已定義的邏輯,可以有多個,回車換行符分割的語句。實際配置的PCO參數(shù)過程中的內(nèi)容順序執(zhí)行(-S/-Serial)還是并行(-P/-Parallel)執(zhí)行執(zhí)行體PreconditionPrecondition用來對測試環(huán)境做準(zhǔn)備。如用戶必須先注冊,后續(xù)才能打電話。Precondition和Precedure的結(jié)構(gòu)一樣:Precondition-S{Register{%Bob%}Register{%David%}Register{%xiaowang%}Register{%xiaozhang%}}Precondition和Precedure的區(qū)別在于當(dāng)他們二者同時存在時,先執(zhí)行Precondition的內(nèi)容,然后執(zhí)行Precedure。執(zhí)行體PostconditionPostcondition用來對測試環(huán)境做恢復(fù)。如用戶注冊之后必須注銷恢復(fù)環(huán)境,以免下次執(zhí)行用例時重復(fù)執(zhí)行注冊而失敗。結(jié)構(gòu)同Precedure,如下:Postcondition-S{Deregister{%Bob%}Deregister{%David%}Deregister{%xiaozhang%}Deregister{%xiaowang%}}調(diào)用邏輯Precondition、Precedure和Postcondition的執(zhí)行順序

腳本編寫時,Precondition、Precedure和Postcondition的順序沒有要求,但是嚴(yán)格按照Precondition、Precedure、Postcondition順序執(zhí)行。建議書寫順序是:Precondition、Precedure然后Postcondition,增加腳本可讀性。語法總結(jié)AWInPCO(AW包含在PCO里面)PCO+AW=過程塊Logic=過程塊+過程塊+……過程塊(一個或多個)TestCase=信息體+執(zhí)行體執(zhí)行體=(Logic+測試數(shù)據(jù))+(Logic+測試數(shù)據(jù))

+……+(Logic+測試數(shù)據(jù))

(一個或多個)……問題用例的執(zhí)行先后順序怎么控制?簡單的測試用例寫法?邏輯可以調(diào)用邏輯嗎?……用例TESTCASE中的結(jié)構(gòu)體Serial/ParallelDataPoolRunLogic……MORE…Serial/Parallel場景描述當(dāng)測試場景越來越復(fù)雜,簡單的用例串、并執(zhí)行關(guān)系不能滿足測試需要時怎么辦?例如:我們需要測試一個遇忙前轉(zhuǎn)業(yè)務(wù),主叫用戶A呼叫被叫用戶B,B無應(yīng)答前轉(zhuǎn)到C,C無應(yīng)答前轉(zhuǎn)到D,D接聽電話。測試語言描述測試流程圖主叫A呼叫被叫BCaller_NormalCall被叫B前轉(zhuǎn)給CCallee_TransferCall被叫C前轉(zhuǎn)給DCallee_TransferCall被叫D接聽電話Callee_NormalCallSPIDER解決辦法

Procedure–P{

Caller_NormalCall{%A%}

Serial{

Callee_TransferCall{%B%}

Callee_TransferCall{%C%}

Callee_NormalCall{%D%}

}}A與B、C、D同時做這些操作B、C、D按照順序來做這些操作Serial/Parallel結(jié)構(gòu)Serial/Parallel是SPIDER的執(zhí)行順序控制結(jié)構(gòu),用以保證它里面的內(nèi)容按照約定的順序來執(zhí)行。Serial和Parallel只有執(zhí)行的順序不同,沒有其他區(qū)別Serial/Parallel使用說明

Serial/Parallel可以在用例執(zhí)行體中任何可以出現(xiàn)邏輯的地方出現(xiàn)Serial/Parallel中可以出現(xiàn)任何用例結(jié)構(gòu)體Serial里面的內(nèi)容按順序執(zhí)行,而Parallel中的內(nèi)容同時執(zhí)行,由SPIDER來控制時序。Serial/Parallel根據(jù)測試需要,可以彼此嵌套,并可以無限的嵌套。應(yīng)用場景

經(jīng)常遇到很簡單的測試用例,就一個打印的輸出,或者用例很特殊,沒有重用的價值,也必須得封裝邏輯Logic然后用例調(diào)用邏輯才能執(zhí)行嗎?解決方法

封裝邏輯Logic不是必須的,對于一些特殊的應(yīng)用場景,可以用RunLogic來直接執(zhí)行AW,但是我們提倡都封裝成邏輯,便于重用,也便于統(tǒng)一管理。RunLogic跟邏輯結(jié)構(gòu)形式上很類似,下面來具體介紹。RunLogic結(jié)構(gòu)

RunLogic{RealPCO_1{

AWList}

RealPCO_2{

AWList}

……

RealPCO_n{

AWList}}必須是PCO實例,即已經(jīng)配置了的PCO名字N建議小于3,否則封裝成邏輯RunLogic的位置

packagerequireSPIDERTESTCASE{Information{CaseID“001"CaseName"簡單測試"Level"Level3"}

Procedure-S{

RunLogic{ test{

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論