一種密碼鍵盤自動化測試方法
【專利摘要】本發(fā)明提供一種密碼鍵盤自動化測試方法,該方法提供一PC機,該PC機中設(shè)置有一仿真測試系統(tǒng),PC機與密碼鍵盤經(jīng)一串口進行連接;仿真測試系統(tǒng)包括:腳本文件解析模塊、生成測試數(shù)據(jù)模塊、內(nèi)置密碼鍵盤模塊以及測試結(jié)果數(shù)據(jù)處理模塊;在仿真測試系統(tǒng)中建立一測試用例腳本,通過腳本文件解析模塊、生成測試數(shù)據(jù)模塊、內(nèi)置密碼鍵盤模塊以及測試結(jié)果數(shù)據(jù)處理模塊的交互;將期望應(yīng)答結(jié)果數(shù)據(jù)與所述應(yīng)答結(jié)果數(shù)據(jù)進行對比,將對比驗證的結(jié)果信息得到測試結(jié)果報告,同時將測試過程信息記錄到一測試日志中;本發(fā)明實現(xiàn)了密碼鍵盤指令的自動化測試,自動生成密碼鍵盤測試的日志信息和結(jié)果信息,大大提高了密碼鍵盤的測試效率,減輕了測試人員的工作量。
【專利說明】一種密碼鍵盤自動化測試方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊設(shè)備【技術(shù)領(lǐng)域】,尤其涉及一種密碼鍵盤自動化測試方法。
【背景技術(shù)】 [0002]目前金融交易POS終端和電話POS終端相關(guān)的密碼鍵盤測試中,通常是使用普通的串口工具或者開發(fā)相應(yīng)的測試工具進行測試,還有一種方式是連接在POS終端或者電話POS終端上直接進行測試。由于密碼鍵盤產(chǎn)品的特殊性,在密碼鍵盤的使用過程中,涉及到下發(fā)各種不同的密鑰和加密操作,各個操作之間關(guān)聯(lián)性非常強,加密時會產(chǎn)生隨機數(shù)據(jù),因此無論是普通串口工具或者開發(fā)相應(yīng)的測試工具還是連接在POS終端上直接進行測試,測試的過程都是需要復(fù)雜的操作,測試結(jié)果的驗證,尤其是在指令的強度測試和指令耗時測試中,人工的測試方法顯得尤為耗時耗力。密碼鍵盤本身作為一款金融安全產(chǎn)品,存在著各種加密算法,很多功能通過人工操作是無法被測試的,即便是測試,也將涉及到非常復(fù)雜的運算。目前一些有針對性的工具雖然滿足了部分測試的功能,但是依然不能滿足重復(fù)的測試操作和大量的測試。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問題,在于提供一種密碼鍵盤自動化測試方法,實現(xiàn)了密碼鍵盤指令的自動化測試,自動生成密碼鍵盤測試的日志信息和結(jié)果信息,大大提高了密碼鍵盤的測試效率,減輕了測試人員的工作量。
[0004]本發(fā)明是這樣實現(xiàn)的:一種密碼鍵盤自動化測試方法,所述方法需提供一 PC機,該PC機中設(shè)置有一仿真測試系統(tǒng),PC機與密碼鍵盤經(jīng)一串口進行連接;所述仿真測試系統(tǒng)包括:腳本文件解析模塊、生成測試數(shù)據(jù)模塊、內(nèi)置密碼鍵盤模塊以及測試結(jié)果數(shù)據(jù)處理模塊;該方法具體為:
[0005]步驟1、在仿真測試系統(tǒng)中建立一測試用例腳本,所述測試用例腳本為XML文件,該測試用例腳本包含有密碼鍵盤的測試內(nèi)容;
[0006]步驟2、腳本文件解析模塊解析所述測試用例腳本,根據(jù)測試用例腳本中的下發(fā)規(guī)貝U,生成測試指令并下發(fā)給生成測試數(shù)據(jù)模塊,同時根據(jù)測試用例腳本中的密碼鍵盤測試的結(jié)果數(shù)據(jù)生成規(guī)則,并通過內(nèi)置密碼鍵盤模塊生成預(yù)先設(shè)定的期望應(yīng)答結(jié)果數(shù)據(jù);
[0007]步驟3、生成測試數(shù)據(jù)模塊接收測試指令后,生成用于測試密碼鍵盤的測試數(shù)據(jù),并將測試數(shù)據(jù)通過串口通訊發(fā)送給密碼鍵盤;
[0008]步驟4、密碼鍵盤接收測試數(shù)據(jù)進行測試后,根據(jù)測試用例腳本中的接收數(shù)據(jù)規(guī)貝U,將測試后的應(yīng)答結(jié)果數(shù)據(jù)經(jīng)串口發(fā)送給測試結(jié)果數(shù)據(jù)處理模塊;
[0009]步驟5、測試結(jié)果數(shù)據(jù)處理模塊將期望應(yīng)答結(jié)果數(shù)據(jù)與所述應(yīng)答結(jié)果數(shù)據(jù)進行對t匕,將對比驗證的結(jié)果信息寫入一測試結(jié)果報告中,同時將測試過程信息記錄到一測試日
士由;ι?> I ο
[0010]本發(fā)明具有如下優(yōu)點:一、實現(xiàn)了密碼鍵盤指令的自動化測試,自動生成密碼鍵盤測試的日志信息和結(jié)果信息,測試人員通過編寫測試腳本用例,使用系統(tǒng)自動執(zhí)行測試用例即可完成密碼鍵盤的測試,并且自動生成測試結(jié)果報告,大大提高了密碼鍵盤的測試效率,減輕了測試人員的工作量。尤其是針對密碼鍵盤指令相關(guān)的強度測試中,系統(tǒng)所實現(xiàn)的循環(huán)執(zhí)行測試用例功能,測試日志重復(fù)執(zhí)行功能等,大大減輕測試工作量。二、本發(fā)明不僅實現(xiàn)了密碼鍵盤的自動化測試,在針對于通過串口通訊的終端設(shè)備的自動化測試中,仿真測試系統(tǒng)作為一款解析腳本型的串口工具,可以針對不同的產(chǎn)品開發(fā)相應(yīng)的測試模塊,也能體現(xiàn)出很好的測試效果。三、仿真測試系統(tǒng)的設(shè)計,除了作為腳本解析型的串口工具之夕卜,它將發(fā)送和接收數(shù)據(jù)的對象作為一個設(shè)備,通過增加相應(yīng)的模塊處理函數(shù),也可以使用在如TCP通訊,USB通訊的測試環(huán)境中。
【專利附圖】
【附圖說明】
[0011]圖1為本發(fā)明測試方法的原理框圖。
[0012]圖2為腳本文件解析模塊解析所述測試用例腳本的流程圖。
[0013]圖3為本發(fā)明中加載并執(zhí)行“Operate”標簽中所有屬性值的流程示意圖。
[0014]圖4為一具體實施例一的測試方法原理框圖。
[0015]圖5為實施例一的測試方法流程圖。
【具體實施方式】
[0016]請參閱圖1至圖3所示,本發(fā)明的一種密碼鍵盤自動化測試方法,所述方法需提供一 PC機,該PC機中設(shè)置有一仿真測試系統(tǒng),PC機與密碼鍵盤經(jīng)一串口進行連接;所述仿真測試系統(tǒng)包括:腳本文件解析模塊、生成測試數(shù)據(jù)模塊、內(nèi)置密碼鍵盤模塊以及測試結(jié)果數(shù)據(jù)處理模塊;該方法具體為:
[0017]步驟1、在仿真測試系統(tǒng)中建立一測試用例腳本,所述測試用例腳本為XML文件,該測試用例腳本包含有密碼鍵盤的測試內(nèi)容;
[0018]步驟2、腳本文件解析模塊解析所述測試用例腳本,根據(jù)測試用例腳本中的下發(fā)規(guī)貝U,生成測試指令并下發(fā)給生成測試數(shù)據(jù)模塊,同時根據(jù)測試用例腳本中的密碼鍵盤測試的結(jié)果數(shù)據(jù)生成規(guī)則,并通過內(nèi)置密碼鍵盤模塊生成預(yù)先設(shè)定的期望應(yīng)答結(jié)果數(shù)據(jù);
[0019]步驟3、生成測試數(shù)據(jù)模塊接收測試指令后,生成用于測試密碼鍵盤的測試數(shù)據(jù),并將測試數(shù)據(jù)通過串口通訊發(fā)送給密碼鍵盤;
[0020]步驟4、密碼鍵盤接收測試數(shù)據(jù)進行測試后,根據(jù)測試用例腳本中的接收數(shù)據(jù)規(guī)貝U,將測試后的應(yīng)答結(jié)果數(shù)據(jù)經(jīng)串口發(fā)送給測試結(jié)果數(shù)據(jù)處理模塊;
[0021]步驟5、測試結(jié)果數(shù)據(jù)處理模塊將期望應(yīng)答結(jié)果數(shù)據(jù)與所述應(yīng)答結(jié)果數(shù)據(jù)進行對t匕,將對比驗證的結(jié)果信息寫入一到Excel文件格式的測試結(jié)果報告中,同時將測試過程信息記錄到一測試日志中;
[0022]步驟6、測試人員通過查看測試報告和分析測試日志,來獲知密碼鍵盤存在的缺陷和問題;達到測試密碼鍵盤的目的。
[0023]在本發(fā)明中,所述測試用例腳本的后綴名自定義為case”;以便與普通的XML文件區(qū)分開來;該測試用例腳本是符合標準的XML (可擴展標記語言)文件,該測試用例腳本中定義了 4 種標簽,分別為 “TestCases ”,“Case ”,“ Step ” 和 “Operate ” ;[0024]所述TestCases標簽:是測試用例腳本的根標簽,代表多個測試用例的集合,其子標簽為Case標簽;TestCase標簽設(shè)置有兩個屬性“version”和“type”,其中,“version”屬性是用于控制測試腳本所使用的仿真測試系統(tǒng)版本,“type”屬性是用于控制測試腳本所用于測試的對象類型;
[0025]所述Case標簽:表示一個測試用例標簽,測試用例標簽用于區(qū)分不同的測試用例,其設(shè)置有“Caseid”, “Casename”和“Casemark”三個屬性,其中“Caseid”作為當前測試用例的唯一標識符,“Casename”是測試用例的名稱,“Casemark”作為測試用例的備注和說
明信息;
[0026]所述Step標簽:表示測試用例中的執(zhí)行步驟,是多個操作的集合標簽,將功能相關(guān)的操作集合起來,以便腳本的理解和編寫;3丨叩標簽設(shè)置有“3丨印1(1”,“#印8”,“ Stepname ”和“ Stepmark”四個屬性,其中“ Stepid”屬性作為當前步驟的唯一標識,“steps”屬性表示當前步驟中包含有的操作個數(shù),“Stepname”屬性表示當前步驟的名稱,“Stepmark”屬性表示當前操作的備注和說明信息;
[0027]所述Operate標簽:代表實際執(zhí)行的操作,其設(shè)置有“Operateid”,“Operatemark”,“code”,“time”,“rule”,“result”,“device”和 “goto,,屬性O(shè)perate id”屬性作為當前操作的唯一標識;“Operatemark”屬性是對當前操作的備注和說明;“code”屬性表示當前操作中,需要發(fā)送的數(shù)據(jù)信息;“time”屬性用于控制當前操作和操作之間時間的延時設(shè)置和接收數(shù)據(jù)的方式;“rule”屬性用于處理當前發(fā)送數(shù)據(jù)的處理,在“code”中的數(shù)據(jù)經(jīng)過處理之后,生成實際下發(fā)的數(shù)據(jù),result”屬于用于處理接收到的數(shù)據(jù),以及接收到的數(shù)據(jù)如何驗證其正確性,device”屬性用于控制當前下發(fā)的數(shù)據(jù)發(fā)送的對象,通過不同的值控制其發(fā)送給不同的設(shè)備對象;“goto”屬性用于控制當前操作步驟執(zhí)行完畢,驗證成功或者失敗之后跳轉(zhuǎn)到的位置。
[0028]如圖2和圖3所示,腳本文件解析模塊解析所述測試用例腳本具體為:仿真測試系統(tǒng)加載所述XML文件,并建立一線程對XML文件進行解析,判斷XML文件中是否存在“Case”標簽和數(shù)據(jù),若存在,則創(chuàng)建一個“Case”數(shù)據(jù)的副本,用于記錄執(zhí)行的數(shù)據(jù);然后判斷當前標簽下是否存在“Step”標簽,若存在則處理“Step”標簽的屬性值后,繼續(xù)解析“Step”標簽下的“Operate”標簽;“Operate”標簽作為實際操作和控制的標簽,其屬性中的數(shù)據(jù)是實現(xiàn)密碼鍵盤自動化測試的重要部分;“Operate”標簽解析流程開始后,加載“Operate”標簽中所有屬性的值,先處理“code”屬性的值,該值中的數(shù)據(jù)作為原生數(shù)據(jù)直接成為發(fā)送的一個部分;其次加載“rule”屬性中的值,“rule”中的值須經(jīng)過處理之后,和“code”中的值組合成發(fā)送的數(shù)據(jù),在“device”屬性中的值的控制下,發(fā)送給對應(yīng)的設(shè)備;數(shù)據(jù)發(fā)送完成之后,處理“result”屬性中的值,并根據(jù)下發(fā)的數(shù)據(jù)和“result”屬性中的“密碼鍵盤測試的結(jié)果數(shù)據(jù)生成規(guī)則”,調(diào)用內(nèi)置密碼鍵盤模塊的函數(shù),生成對應(yīng)的期望應(yīng)答結(jié)果數(shù)據(jù),同時根據(jù)“result”屬性中的“接收數(shù)據(jù)規(guī)則”和“time”屬性的“接收方式和時間信息”,從“device”定義的設(shè)備中接收相應(yīng)的應(yīng)答結(jié)果數(shù)據(jù);接收到應(yīng)答結(jié)果數(shù)據(jù)之后,將其和期望應(yīng)答結(jié)果數(shù)據(jù)進行分析處理,同時將分析的結(jié)果和“goto”屬性中的“跳轉(zhuǎn)規(guī)則”進行處理,決定當前操作執(zhí)行完成之后,下一個操作的步驟,直到腳本執(zhí)行完畢。
[0029]圖3中,流程“rule字段數(shù)據(jù)處理”和“result字段數(shù)據(jù)處理”是作為密碼鍵盤自動化測試實現(xiàn)的重要部分;“rule字段數(shù)據(jù)處理”決定了如何生成和發(fā)送正確的測試指令給密碼鍵盤,而“result字段數(shù)據(jù)處理”則決定了如何生成正確的結(jié)果數(shù)據(jù)和接收到的密碼鍵盤執(zhí)行的結(jié)果進行比較分析。在測試腳本中“rule “和“result “屬性中的數(shù)據(jù)是以特定的格式存在的,以下進行詳細說明。
[0030]“rule “和“result “屬性中的數(shù)據(jù)以解析函數(shù)結(jié)構(gòu)的方式通過調(diào)用具體函數(shù)來實現(xiàn)。其屬性中的數(shù)據(jù),按照“函數(shù)名稱I (參數(shù)1,參數(shù)2,..?參數(shù)η);函數(shù)名稱
2(參數(shù)1,參數(shù)2,..?參數(shù)η) ;/*這是注釋*/”的形式存在,英文形式“Functionl (Paraml, param2,...paramn) ;Function2(paraml, param2...paramn) ;/氺mark氺/ “。數(shù)據(jù)中,以“/**/ “作為注釋說明。下邊以舉例子的方式說明,例如,一個測試腳本中某一個 “Operate” 標簽中 “rule” 屬性的值為 “rule=〃getDataKey (gerSendParam(1, 2, 3), aabbcc) ;getMakKey (gerSendParam (4, 5, 6), gerResuItParam (7, 8, 9));其實際的意義代表“rule”的值最終是調(diào)用“getDataKey”和“getMakKey”兩個函數(shù)之后所得到結(jié)果的組合?!癵etDataKey”函數(shù)有兩個參數(shù),第一個參數(shù)來源于“gerSendParam(l, 2, 3) ”函數(shù)執(zhí)行的結(jié)果,第二個參數(shù)是固定的字符“aabbcc”,假定“gerSendParam(l, 2,3) ”函數(shù)的含義是從“Case=l,St印=2,0perate=3”的操作中下發(fā)的數(shù)據(jù)獲取參數(shù),那么同樣的,可以定義“gerResultParam(7, 8, 9) ” 的含義是從 “Case=7, Step=8, 0perate=9” 的操作中接收到結(jié)果的數(shù)據(jù)中獲取參數(shù)。這些如“getDataKey”, “gerSendParam”, “getMakKey”等函數(shù),事先已經(jīng)被寫好封裝在“內(nèi)置密碼鍵 盤模塊”中,并經(jīng)過測試;當程序進行“rule字段數(shù)據(jù)處理”,根據(jù)一定的語法規(guī)則,調(diào)用相應(yīng)的函數(shù)來完成“rule”數(shù)據(jù)的生成,同理,“result”屬性的數(shù)據(jù)生成也是使用同樣的方式,例如,可以在“內(nèi)置密碼鍵盤模塊”中,添加一個固定字符串驗證的函數(shù)“CheckFixedString (string param) ”,并設(shè)置“result=//CheckFixedString (aabbcc)〃”,即表示當前“Operate”操作執(zhí)行所接收到的結(jié)果,驗證它是否為字符串“aabbcc”。如此一來,即可通過編寫測試用例腳本,簡單的調(diào)用函數(shù)和配置標簽中的屬性值,來達到自動執(zhí)行腳本進行測試的目的。
[0031]為了更好的解釋和說明密碼鍵盤自動化測試方法的實現(xiàn),下面結(jié)合一具體實施例一:密碼鍵盤中常用的功能“交易報文的MAC計算”的測試實現(xiàn),對本發(fā)明作進一步說明:
[0032]功能描述:交易報文的MAC計算,指的是EPOS終端下發(fā)一條帶有需要計算MAC數(shù)據(jù)的指令給密碼鍵盤,密碼鍵盤將該指令中需要計算的數(shù)據(jù),通過對應(yīng)的算法和密碼鍵盤當前保存的密鑰,隨機數(shù)等參數(shù),計算出MAC的值,并將MAC值返回給EPOS終端的一個過程。該過程中,我們需要驗證密碼鍵盤計算出的MAC值是否正確,能否完成MAC計算的一整個流程。
[0033]如圖4所示,前提預(yù)置條件:假定當前我們所拿到的一個密碼鍵盤是一個剛剛出廠的設(shè)備,即處于初始狀態(tài)(沒有各種密鑰參數(shù)),那么該密碼鍵盤需要完成MAC計算的功能,必須經(jīng)過下載一系列的密鑰和參數(shù):l)nD參數(shù);2)參數(shù)密鑰;3)根目錄認證密鑰;4)子目錄認證密鑰;5)敏感服務(wù)認證密鑰;6)發(fā)散工作密鑰認證密鑰;7)傳輸主密鑰;8)分散MAC工作密鑰;9)計算MAC的主密鑰;10)工作的隨機數(shù)等。(光是使用工具手工下載這幾組密鑰已經(jīng)有一定的復(fù)雜度和工作量,如果來一個測試用例,需要測試不同類別的密鑰數(shù)據(jù),下載多組大量的密鑰數(shù)據(jù),傳統(tǒng)的工具測試已經(jīng)很難滿足要求)
[0034]測試的一整個流程如圖5,在圖中,如果從密碼鍵盤的初始狀態(tài)起,測試一個密碼鍵盤的“交易報文的MAC計算”功能,需要進行近20個操作步驟,在密碼鍵盤自動化測試的設(shè)計中,可以將這20個步驟轉(zhuǎn)化為20個“St印”標簽,每個標簽進行相應(yīng)的配置。
[0035]以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
【權(quán)利要求】
1.一種密碼鍵盤自動化測試方法,其特征在于:所述方法需提供一PC機,該PC機中設(shè)置有一仿真測試系統(tǒng),PC機與密碼鍵盤經(jīng)一串口進行連接;所述仿真測試系統(tǒng)包括:腳本文件解析模塊、生成測試數(shù)據(jù)模塊、內(nèi)置密碼鍵盤模塊以及測試結(jié)果數(shù)據(jù)處理模塊;該方法具體為: 步驟1、在仿真測試系統(tǒng)中建立一測試用例腳本,所述測試用例腳本為XML文件,該測試用例腳本包含有密碼鍵盤的測試內(nèi)容; 步驟2、腳本文件解析模塊解析所述測試用例腳本,根據(jù)測試用例腳本中的下發(fā)規(guī)則,生成測試指令并下發(fā)給生成測試數(shù)據(jù)模塊,同時根據(jù)測試用例腳本中的密碼鍵盤測試的結(jié)果數(shù)據(jù)生成規(guī)則,并通過內(nèi)置密碼鍵盤模塊生成預(yù)先設(shè)定的期望應(yīng)答結(jié)果數(shù)據(jù); 步驟3、生成測試數(shù)據(jù)模塊接收測試指令后,生成用于測試密碼鍵盤的測試數(shù)據(jù),并將測試數(shù)據(jù)通過串口通訊發(fā)送給密碼鍵盤; 步驟4、密碼鍵盤接收測試數(shù)據(jù)進行測試后,根據(jù)測試用例腳本中的接收數(shù)據(jù)規(guī)則,將測試后的應(yīng)答結(jié)果數(shù)據(jù)經(jīng)串口發(fā)送給測試結(jié)果數(shù)據(jù)處理模塊; 步驟5、測試結(jié)果數(shù)據(jù)處理模塊將期望應(yīng)答結(jié)果數(shù)據(jù)與所述應(yīng)答結(jié)果數(shù)據(jù)進行對比,將對比驗證的結(jié)果信息寫入一測試結(jié)果報告中,同時將測試過程信息記錄到一測試日志中。
2.根據(jù)權(quán)利要求1所述的一種密碼鍵盤自動化測試方法,其特征在于:所述步驟5之后進一步包括: 步驟6、通過查看測試報告和分析測試日志,來獲知密碼鍵盤存在的缺陷和問題。
3.根據(jù)權(quán)利要求1所述的`一種密碼鍵盤自動化測試方法,其特征在于:所述測試用例腳本的后綴名自定義為case”;該測試用例腳本中定義了 4種標簽,分別為“TestCases”,“ Case ”,“ Step”和 “ Operate” ; 所述TestCases標簽:是測試用例腳本的根標簽,代表多個測試用例的集合,其子標簽為Case標簽;TestCase標簽設(shè)置有兩個屬性“version”和“type”,其中,“version”屬性是用于控制測試腳本所使用的仿真測試系統(tǒng)版本,“ type ”屬性是用于控制測試腳本所用于測試的對象類型; 所述Case標簽:表示一個測試用例標簽,測試用例標簽用于區(qū)分不同的測試用例,其設(shè)置有“Caseid”, “Casename”和“Casemark”三個屬性,其中“Caseid”作為當前測試用例的唯一標識符,“Casename”是測試用例的名稱,“Casemark”作為測試用例的備注和說明信息; 所述Step標簽:表示測試用例中的執(zhí)行步驟,是多個操作的集合標簽,將功能相關(guān)的操作集合起來,以便腳本的理解和編寫;St印標簽設(shè)置有“St印id”,"steps", “St印name”和“Stepmark”四個屬性,其中“Stepid”屬性作為當前步驟的唯一標識,“steps”屬性表示當前步驟中包含有的操作個數(shù),“Stepname”屬性表示當前步驟的名稱,“Stepmark”屬性表示當前操作的備注和說明信息; 所述Operate標簽:代表實際執(zhí)行的操作,其設(shè)置有“Operateid”, “Operatemark”,“code”, “time”, “rule”,“result”,“device” 和 “goto” 屬性;“Operateid” 屬性作為當前操作的唯一標識;“Operatemark”屬性是對當前操作的備注和說明;“code”屬性表示當前操作中,需要發(fā)送的數(shù)據(jù)信息屬性用于控制當前操作和操作之間時間的延時設(shè)置和接收數(shù)據(jù)的方式;“rule”屬性用于處理當前發(fā)送數(shù)據(jù)的處理,在“code”中的數(shù)據(jù)經(jīng)過處理之后,生成實際下發(fā)的數(shù)據(jù),result”屬于用于處理接收到的數(shù)據(jù),以及接收到的數(shù)據(jù)如何驗證其正確性;“device”屬性用于控制當前下發(fā)的數(shù)據(jù)發(fā)送的對象,通過不同的值控制其發(fā)送給不同的設(shè)備對象;“goto”屬性用于控制當前操作步驟執(zhí)行完畢,驗證成功或者失敗之后跳轉(zhuǎn)到的位置。
4.根據(jù)權(quán)利要求3所述的一種密碼鍵盤自動化測試方法,其特征在于:腳本文件解析模塊解析所述測試用例腳本具體為:仿真測試系統(tǒng)加載所述XML文件,并建立一線程對XML文件進行解析,判斷XML文件中是否存在“Case”標簽和數(shù)據(jù),若存在,則創(chuàng)建一個“Case”數(shù)據(jù)的副本,用于記錄執(zhí)行的數(shù)據(jù);然后判斷當前標簽下是否存在“Step”標簽,若存在則處理“St印”標簽的屬性值后,繼續(xù)解析“St印”標簽下的“Operate”標簽;“Operate”標簽作為實際操作和控制的標簽,其屬性中的數(shù)據(jù)是實現(xiàn)密碼鍵盤自動化測試的重要部分;“Operate”標簽解析流程開始后,加載“Operate”標簽中所有屬性的值,先處理“code”屬性的值,該值中的數(shù)據(jù)作為原生數(shù)據(jù)直接成為發(fā)送的一個部分;其次加載“rule”屬性中的值,“rule”中的值須經(jīng)過處理之后,和“code”中的值組合成發(fā)送的數(shù)據(jù),在“device”屬性中的值的控制下,發(fā)送給對應(yīng)的設(shè)備;數(shù)據(jù)發(fā)送完成之后,處理“result”屬性中的值,并根據(jù)下發(fā)的數(shù)據(jù)和“result”屬性中的“密碼鍵盤測試的結(jié)果數(shù)據(jù)生成規(guī)則”,調(diào)用內(nèi)置密碼鍵盤模塊的函數(shù),生成對應(yīng)的期望應(yīng)答結(jié)果數(shù)據(jù),同時根據(jù)“result”屬性中的“接收數(shù)據(jù)規(guī)貝1J”和“time”屬性的“接收方式和時間信息”,從“device”定義的設(shè)備中接收相應(yīng)的應(yīng)答結(jié)果數(shù)據(jù);接收到應(yīng)答結(jié)果數(shù)據(jù)之后,將其和期望應(yīng)答結(jié)果數(shù)據(jù)進行分析處理,同時將分析的結(jié)果和“goto”屬性中的“跳轉(zhuǎn)規(guī)則”進行處理,決定當前操作執(zhí)行完成之后,下一個操作的步驟,直到腳本執(zhí)行完畢。`
【文檔編號】G06F11/22GK103530209SQ201310426429
【公開日】2014年1月22日 申請日期:2013年9月17日 優(yōu)先權(quán)日:2013年9月17日
【發(fā)明者】吳振盛, 張登峰, 余杭軍 申請人:福建升騰資訊有限公司