為例,代碼如下:
[0044]
[0045] 3、為協(xié)議的每個(gè)參數(shù)新建set與get方法。即上述示例中的method。
[0046] 4、為協(xié)議的每個(gè)功能測(cè)試點(diǎn)新建一個(gè)方法。用戶只需調(diào)用此方法即可完成該功能 的測(cè)試。
[0047] 5、為協(xié)議指定默認(rèn)的cli命令配置文件路徑。同時(shí)新建一個(gè)setConfigPath的方 法,允許用戶調(diào)用來(lái)修改引用的cli命令配置文件路徑。
[0048] 實(shí)施例一
[0049] 本實(shí)施例所述的基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法,該基于面向?qū)ο蟮淖詣?dòng)化測(cè)試 方法通過(guò)自動(dòng)化平臺(tái)應(yīng)用在多臺(tái)待測(cè)設(shè)備,所述待測(cè)設(shè)備包括路由器,交換機(jī)等網(wǎng)絡(luò)設(shè)備, 每一所述待測(cè)設(shè)備配置不同網(wǎng)絡(luò)協(xié)議,每一網(wǎng)絡(luò)協(xié)議具有多個(gè)功能測(cè)試點(diǎn)。支持所述基 于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法的網(wǎng)絡(luò)協(xié)議包括:ACL,DHCP Relay,DHCP Snooping,EAPS, IGMP,IGMP Snooping,Lacp,LLDP,Mirror,NLDP,PM-SM,QINQ,RIP,VLAN,VRRP。在本實(shí)施 例中,以VLAN為例。請(qǐng)參閱圖1,顯示為基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法流程示意圖。如圖 1所示,所述基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法包括以下幾個(gè)步驟:
[0050] S1,創(chuàng)建一用于測(cè)試待測(cè)設(shè)備配置的所述網(wǎng)絡(luò)協(xié)議的測(cè)試腳本,并令所述測(cè)試腳 本引入用于提供所述測(cè)試腳本接口的數(shù)據(jù)包。在本步驟中,所述步驟S1還包括為所述測(cè)試 腳本引入一面向?qū)ο蟮墓ぞ呙钫Z(yǔ)言包,即itcl包,所述itcl包是tel包的擴(kuò)展模塊,弓丨 入itcl包后可使用該包中的接口,以使用其中的測(cè)試腳本接口。在本實(shí)施例中,所述測(cè)試 腳本也稱支撐庫(kù)腳本,而支撐庫(kù)是供腳本調(diào)用的腳本接口。
[0051] S2,選取一待測(cè)設(shè)備以選定該待測(cè)設(shè)備上配置的網(wǎng)絡(luò)協(xié)議為測(cè)試對(duì)象。所述網(wǎng)絡(luò) 協(xié)議包括多個(gè)需配置屬性參數(shù)。不同網(wǎng)絡(luò)協(xié)議包括不同的需配置屬性參數(shù)。在本實(shí)施例中, 作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議為VLAN,VLAN包括的需配置屬性參數(shù)在本實(shí)施例中為ID地址。
[0052] S3,利用預(yù)存的屬性參數(shù)設(shè)置操作和獲取已設(shè)置屬性參數(shù)操作處理作為測(cè)試對(duì)象 的網(wǎng)絡(luò)協(xié)議。在本實(shí)施例中,預(yù)存的屬性參數(shù)設(shè)置操作=Vlan_objsetVlanldMethod,預(yù)存 的屬性參數(shù)設(shè)置操作用以對(duì)需配置屬性參數(shù)進(jìn)行設(shè)置操作,即設(shè)置本實(shí)施例中VLAN的ID地址,預(yù)存的獲取已設(shè)置屬性參數(shù)操作=Vlan_objgetVlanListMethod,預(yù)存的獲取已設(shè) 置屬性參數(shù)操作用以獲取設(shè)置的需配置屬性參數(shù)的參數(shù)信息,即獲取本實(shí)施例中VLAN列 表。在本實(shí)施例中,在執(zhí)行利用預(yù)存的屬性參數(shù)設(shè)置操作和獲取已設(shè)置屬性參數(shù)操作處理 作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議之前,還需要初始化作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議需配置屬性參數(shù)。
[0053]S4,調(diào)用預(yù)置測(cè)試方式測(cè)試作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議的多個(gè)功能測(cè)試點(diǎn)。所 述預(yù)置測(cè)試方式包括創(chuàng)建不同的作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文、向所述待測(cè)設(shè)備循環(huán) 發(fā)送作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文、捕獲符合條件的作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文、和 /或解析過(guò)濾捕獲的作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文,在本實(shí)施例中,預(yù)測(cè)測(cè)試方式包括 createVlanPacket可創(chuàng)建不同的Vlan報(bào)文,sendVlanPackets可向待測(cè)設(shè)備循環(huán)發(fā)送指定 的Vlan報(bào)文,captureVlanPackets可捕獲收到的符合條件的Vlan報(bào)文,parseVlanPackets 可解析過(guò)濾捕獲到的不同的Vlan報(bào)文。
[0054]S5,為作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議指定默認(rèn)命令行配置文件路徑。在本步驟中,通過(guò) 創(chuàng)建一種setDefaultCfgPath命令為命令行配置默認(rèn)命令行配置文件路徑。
[0055] S6,判斷作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議是否發(fā)生變化,若是,則執(zhí)行步驟S7;若否,則 結(jié)束進(jìn)程。
[0056] S7,重新指定默認(rèn)命令行配置文件路徑。在本步驟中,需要調(diào)用modifyConfigPath 命令為新的測(cè)試對(duì)象指定默認(rèn)命令行配置文件路徑。此處需要說(shuō)明的是,每一種網(wǎng)絡(luò)協(xié)議 都具有與之匹配的默認(rèn)命令行配置文件路徑。
[0057] 以下是所述基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法的基本實(shí)現(xiàn)代碼:
[0058]
[0059]
[0060] 本實(shí)施例所述的基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法引入了面向?qū)ο蟮乃枷?,將網(wǎng)絡(luò) 協(xié)議作為一個(gè)對(duì)象,將網(wǎng)絡(luò)協(xié)議的相關(guān)參數(shù)作為對(duì)象的屬性,將網(wǎng)絡(luò)協(xié)議的功能作為對(duì)象 的方法。提高了接口的封裝級(jí)別,提高了接口的易用性和腳本的可讀性。所述基于面向?qū)?象的自動(dòng)化測(cè)試方法的接口調(diào)用簡(jiǎn)單,降低了編寫(xiě)自動(dòng)化腳本的測(cè)試人員門檻,提升了編 寫(xiě)腳本的速度,且功能測(cè)試接口中與設(shè)備交互下發(fā)的cli命令取自用戶指定的配置文件, 測(cè)試人員只需指定修改配置文件的路徑即可適配不同的設(shè)備,擴(kuò)展性好。測(cè)試人員通過(guò)利 用本實(shí)施例所述的基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法只需調(diào)用一種測(cè)試方法就可以測(cè)試一 個(gè)功能,簡(jiǎn)化了自動(dòng)化測(cè)試腳本開(kāi)發(fā)人員的工作。
[0061] 實(shí)施例二
[0062] 本實(shí)施例提供一種基于面向?qū)ο蟮淖詣?dòng)化測(cè)試系統(tǒng)10,該基于面向?qū)ο蟮淖詣?dòng)化 測(cè)試系統(tǒng)通過(guò)自動(dòng)化平臺(tái)應(yīng)用在多臺(tái)待測(cè)設(shè)備,每一所述待測(cè)設(shè)備配置不同網(wǎng)絡(luò)協(xié)議,每 一網(wǎng)絡(luò)協(xié)議具有多個(gè)功能測(cè)試點(diǎn)。支持所述基于面向?qū)ο蟮淖詣?dòng)化測(cè)試方法的網(wǎng)絡(luò)協(xié)議 包括:ACL,DHCPRelay,DHCPSnooping,EAPS,IGMP,IGMPSnooping,Lacp,LLDP,Mirror,NLDP,PM-SM,QINQ,RIP,VLAN,VRRP。在本實(shí)施例中,以VLAN為例。請(qǐng)參閱圖2,顯示為基 于面向?qū)ο蟮淖詣?dòng)化測(cè)試系統(tǒng)原理結(jié)構(gòu)示意圖。如圖2所示,所述基于面向?qū)ο蟮淖詣?dòng)化 測(cè)試系統(tǒng)10包括:創(chuàng)建模塊101、選取模塊102、第一操作模塊103、第二操作模塊104、路徑 指定模塊105、判斷模塊106、及終止模塊107。
[0063] 所述創(chuàng)建模塊101用于創(chuàng)建一用于測(cè)試待測(cè)設(shè)備配置的所述網(wǎng)絡(luò)協(xié)議的測(cè)試腳 本,并令所述測(cè)試腳本引入用于提供所述測(cè)試腳本接口的數(shù)據(jù)包。在本實(shí)施例中,所述創(chuàng)建 模塊101還用于為所述測(cè)試腳本引入一面向?qū)ο蟮墓ぞ呙钫Z(yǔ)言包,即itcl包,所述itcl 包是tel包的擴(kuò)展模塊,引入itcl包后可使用該包中的接口,以使用其中的測(cè)試腳本接口。 在本實(shí)施例中,所述測(cè)試腳本也稱支撐庫(kù)腳本,而支撐庫(kù)是供腳本調(diào)用的腳本接口。
[0064] 所述選取模塊102與所述創(chuàng)建模塊101連接用于選取一待測(cè)設(shè)備以選定該待測(cè)設(shè) 備上配置的網(wǎng)絡(luò)協(xié)議為測(cè)試對(duì)象;所述網(wǎng)絡(luò)協(xié)議包括多個(gè)需配置屬性參數(shù)。不同網(wǎng)絡(luò)協(xié)議 包括不同的需配置屬性參數(shù)。在本實(shí)施例中,作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議為VLAN,VLAN包括 的需配置屬性參數(shù)在本實(shí)施例中為ID地址。
[0065] 所述第一操作模塊103與所述選取模塊102連接并用于利用預(yù)存的屬性參數(shù)設(shè)置 操作和獲取已設(shè)置屬性參數(shù)操作處理作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議。在本實(shí)施例中,預(yù)存在所 述第一操作模塊103中的屬性參數(shù)設(shè)置操作=Vlan_objsetVlanldMethod,所述屬性參數(shù) 設(shè)置操作用以對(duì)需配置屬性參數(shù)進(jìn)行設(shè)置操作,即設(shè)置待測(cè)設(shè)備中配置的VLAN的ID地址, 預(yù)存的獲取已設(shè)置屬性參數(shù)操作=Vlan_objgetVlanListMethod,預(yù)存的獲取已設(shè)置屬性 參數(shù)操作用以獲取設(shè)置的需配置屬性參數(shù)的參數(shù)信息,即獲取本實(shí)施例中VLAN列表。在本 實(shí)施例中,所述第一操作模塊103在執(zhí)行利用預(yù)存的屬性參數(shù)設(shè)置操作和獲取已設(shè)置屬性 參數(shù)操作處理作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議之前,還需要初始化作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議需配 置屬性參數(shù)。
[0066] 與所述選取模塊102和第一操作模塊103連接的第二操作模塊104用于調(diào)用預(yù)置 測(cè)試方式測(cè)試作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議的多個(gè)功能測(cè)試點(diǎn)。所述預(yù)置測(cè)試方式包括創(chuàng)建不 同的作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文、向所述待測(cè)設(shè)備循環(huán)發(fā)送作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào) 文、捕獲符合條件的作為測(cè)試對(duì)象的網(wǎng)絡(luò)協(xié)議報(bào)文、和/或解析過(guò)濾捕獲的作為測(cè)試對(duì)象 的網(wǎng)絡(luò)協(xié)議報(bào)文,在本實(shí)施例中,預(yù)測(cè)測(cè)試方式包括createVlanPacket可創(chuàng)建不同的Vlan 報(bào)文,sendVlanPackets可向待測(cè)設(shè)備循環(huán)發(fā)送指定的Vlan報(bào)文,captureVlanPackets可 捕獲收到的符合條件的Vlan報(bào)文,parseVlanPackets可解析過(guò)濾捕獲到的不同的Vlan報(bào) 文。