亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

測試方法及裝置、端口生成方法及端口生成器和測試系統(tǒng)與流程

文檔序號:11620486閱讀:406來源:國知局
測試方法及裝置、端口生成方法及端口生成器和測試系統(tǒng)與流程

本申請涉及測試技術(shù)領(lǐng)域,尤其涉及測試方法及裝置、端口生成方法及端口生成器和測試系統(tǒng)。



背景技術(shù):

隨著無線設(shè)備中產(chǎn)品所涉及的業(yè)務(wù)的不斷擴(kuò)展,一個服務(wù)于業(yè)務(wù)的移動自動化測試工具,是更好地提升產(chǎn)品研發(fā)效率和提高產(chǎn)品質(zhì)量的重要保證。產(chǎn)品在無線設(shè)備中?;趙ebview實現(xiàn),而伴隨著webview的交互場景日益復(fù)雜化,每次進(jìn)行測試時所使用的測試用例數(shù)量較多,每個測試用例的執(zhí)行時間較長,這對測試方法提出了較高的要求。

為了改善該問題,現(xiàn)有的一種方法為:在測試裝置與無線設(shè)備之間增加測試框架服務(wù)器,通過測試框架服務(wù)器建立測試用例端與無線設(shè)備之間的會話連接,完成測試裝置和無線設(shè)備之間的命令收發(fā)、數(shù)據(jù)傳遞等通信,實現(xiàn)測試裝置中所有測試用例在所述無線設(shè)備上的執(zhí)行。

具體的,測試裝置向測試框架服務(wù)器發(fā)送會話連接請求,測試框架服務(wù)器根據(jù)無線設(shè)備的當(dāng)前資源情況確定會話id(identity,標(biāo)識),并基于該會話id建立測試裝置與無線設(shè)備之間的一次性單會話連接。測試裝置中的所有測試用例均基于該單會話連接與無線設(shè)備進(jìn)行通信,以便在無線設(shè)備上執(zhí)行測試裝置中的所有測試用例,完成測試。

上述方法中,所有測試用例共用一個會話連接,多個測試用例中的每個測試用例進(jìn)行連接請求時都需要等待,當(dāng)其中一個用例執(zhí)行鏈路較長,則始終獨占整個測試框架服務(wù)器資源,使得基于上述方法的測試用例的執(zhí)行效率較低。



技術(shù)實現(xiàn)要素:

為了提升測試用例的執(zhí)行效率,本申請實施例提出了一種測試方法、測試裝置、端口生成器和測試系統(tǒng)。

第一方面,本申請實施例提供了一種測試系統(tǒng),包括處理器和存儲器,所述存儲器存儲由所述處理器執(zhí)行的程序指令,所述程序指令包括:

獲取一個或多個測試用例的端口號,其中,所述一個或多個測試用例的端口號互不相同;

基于所述一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為所述一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

基于所述一個或多個測試用例的會話連接與所述無線設(shè)備進(jìn)行通信,以在所述無線設(shè)備上執(zhí)行所述一個或多個測試用例。

第二方面,本申請實施例提供了一種測試方法,所述方法包括:

獲取一個或多個測試用例的端口號,其中,所述一個或多個測試用例的端口號互不相同;

基于所述一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為所述一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

基于所述一個或多個測試用例的會話連接與所述無線設(shè)備進(jìn)行通信,以在所述無線設(shè)備上執(zhí)行所述一個或多個測試用例。

可選地,所述獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,確定當(dāng)前連接數(shù)量;

判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號作為所述任一測試用例的端口號。

可選地,所述判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限之后,還包括:

若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行確定當(dāng)前連接數(shù)量,判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為所述任一測試用例的端口號。

可選地,所述獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,向端口生成器發(fā)送所述任一測試用例的端口號獲取請求;

接收所述端口生成器返回的響應(yīng)消息,所述響應(yīng)消息與所述任一測試用例的端口號獲取請求對應(yīng);

確定所述響應(yīng)消息中是否包括端口號;

若所述響應(yīng)消息中包括端口號,則將所述響應(yīng)消息中包括的端口號確定為所述任一測試用例的端口號。

可選地,所述確定所述響應(yīng)消息中是否包括端口號之后,還包括:

若所述響應(yīng)消息中不包括端口號,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行向端口生成器發(fā)送所述任一測試用例的端口號獲取請求,接收所述端口生成器返回的響應(yīng)消息,確定所述響應(yīng)消息中是否包括端口號的步驟,直至確定所述響應(yīng)消息中包括端口號,將所述響應(yīng)消息中包括的端口號確定為所述任一測試用例的端口號。

可選地,所述基于所述一個或多個測試用例的會話連接與所述無線設(shè)備進(jìn)行通信之后,還包括:

若存在執(zhí)行結(jié)束的測試用例,則通過測試框架服務(wù)器關(guān)閉所述執(zhí)行結(jié)束的測試用例的會話連接。

第三方面,本申請實施例提供了一種測試裝置,所述裝置包括:

獲取模塊,用于獲取一個或多個測試用例的端口號,其中,所述一個或多個測試用例的端口號互不相同;

建立模塊,用于基于所述獲取模塊獲取的一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為所述一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

測試模塊,用于基于所述建立模塊建立的一個或多個測試用例的會話連接與所述無線設(shè)備進(jìn)行通信,以在所述無線設(shè)備上執(zhí)行所述一個或多個測試用例。

可選地,所述獲取模塊,包括:

第一確定單元,用于對于一個或多個測試用例中的任一測試用例,確定當(dāng)前連接數(shù)量;

判斷單元,用于判斷所述第一確定單元確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

選擇單元,用于當(dāng)所述判斷單元判斷當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限時,選擇一個可用端口的端口號作為所述任一測試用例的端口號。

可選地,所述獲取模塊,還包括:

第一循環(huán)單元,用于當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限時,每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行確定當(dāng)前連接數(shù)量,判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為所述任一測試用例的端口號。

可選地,所述獲取模塊,包括:

發(fā)送單元,用于對于一個或多個測試用例中的任一測試用例,向端口生成器發(fā)送所述任一測試用例的端口號獲取請求;

接收單元,用于接收所述端口生成器返回的響應(yīng)消息,所述響應(yīng)消息與所述發(fā)送單元發(fā)送的任一測試用例的端口號獲取請求對應(yīng);

第二確定單元,用于確定所述接收單元接收的響應(yīng)消息中是否包括端口號;

第三確定單元,用于當(dāng)所述第二確定單元確定響應(yīng)消息中包括端口號時,將所述響應(yīng)消息中包括的端口號確定為所述任一測試用例的端口號。

可選地,所述獲取模塊,還包括:

第二循環(huán)單元,用于當(dāng)所述響應(yīng)消息中不包括端口號時,每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行向端口生成器發(fā)送所述任一測試用例的端口號獲取請求,接收所述端口生成器返回的響應(yīng)消息,確定所述響應(yīng)消息中是否包括端口號的步驟,直至確定所述響應(yīng)消息中包括端口號,將所述響應(yīng)消息中包括的端口號確定為所述任一測試用例的端口號。

可選地,所述裝置,還包括:

關(guān)閉模塊,用于當(dāng)存在執(zhí)行結(jié)束的測試用例時,通過測試框架服務(wù)器關(guān)閉所述執(zhí)行結(jié)束的測試用例的會話連接。

第四方面,本申請實施例提供了一種端口生成方法,所述方法包括:

接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;

判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號,并返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中包括選擇的端口號。

可選地,所述判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限之后,還包括:

若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中不包括端口號。

第五方面,本申請實施例提供了一種端口生成器,所述端口生成器包括:

確定模塊,用于接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;

判斷模塊,用于判斷所述確定模塊確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

返回模塊,用于當(dāng)所述判斷模塊判斷當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限時,選擇一個可用端口的端口號,并返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中包括選擇的端口號。

可選地,所述返回模塊,還用于當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限時,返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中不包括端口號。

有益效果如下:

獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使測試框架服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

附圖說明

下面將參照附圖描述本申請的具體實施例,其中:

圖1示出了本申請一實施例提供的一種測試方法的流程示意圖;

圖2示出了本申請另一實施例提供的一種端口生成方法的流程示意圖;

圖3示出了本申請另一實施例提供的另一種測試方法的流程示意圖;

圖4示出了本申請另一實施例提供的一種了測試裝置所在終端、測試框架服務(wù)器、無線設(shè)備之間的數(shù)據(jù)流交互示意圖;

圖5示出了本申請另一實施例提供的另一種測試方法的流程示意圖;

圖6示出了本申請另一實施例提供的一種測試裝置、端口生成器、測試框架服務(wù)器之間的端口分配情況;

圖7示出了本申請另一實施例提供的一種測試裝置的結(jié)構(gòu)示意圖;

圖8示出了本申請另一實施例提供的一種獲取模塊的結(jié)構(gòu)示意圖;

圖9示出了本申請另一實施例提供的另一種獲取模塊的結(jié)構(gòu)示意圖;

圖10示出了本申請另一實施例提供的另一種獲取模塊的結(jié)構(gòu)示意圖;

圖11示出了本申請另一實施例提供的另一種獲取模塊的結(jié)構(gòu)示意圖;

圖12示出了本申請另一實施例提供的另一種測試裝置的結(jié)構(gòu)示意圖;

圖13示出了本申請另一實施例提供的一種端口生成器的結(jié)構(gòu)示意圖;

圖14示出了本申請另一實施例提供的一種測試系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

為了使本申請的技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖對本申請的示例性實施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實施例僅是本申請的一部分實施例,而不是所有實施例的窮舉。并且在不沖突的情況下,本說明中的實施例及實施例中的特征可以互相結(jié)合。

目前基于一次性單會話連接的測試中,所有測試用例共用一個會話連接,多個測試用例中的每個測試用例進(jìn)行連接請求時都需要等待,當(dāng)其中一個用例執(zhí)行鏈路較長,則始終獨占整個測試框架服務(wù)器資源,使得測試用例的執(zhí)行效率較低。為了提升測試用例的執(zhí)行效率,本申請?zhí)岢隽艘环N測試方法,該測試方法可以獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使測試框架服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

結(jié)合上述實施環(huán)境,本實施例提供了一種測試方法。參見圖1,本實施例提供的方法流程具體如下:

101:獲取一個或多個測試用例的端口號,其中,一個或多個測試用例的端口號互不相同;

可選地,獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,確定當(dāng)前連接數(shù)量;

判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號作為任一測試用例的端口號。

可選地,判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限之后,還包括:

若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行確定當(dāng)前連接數(shù)量,判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為任一測試用例的端口號。

可選地,獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,向端口生成器發(fā)送任一測試用例的端口號獲取請求;

接收端口生成器返回的響應(yīng)消息,響應(yīng)消息與任一測試用例的端口號獲取請求對應(yīng);

確定響應(yīng)消息中是否包括端口號;

若響應(yīng)消息中包括端口號,則將響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

可選地,確定響應(yīng)消息中是否包括端口號之后,還包括:

若響應(yīng)消息中不包括端口號,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行向端口生成器發(fā)送任一測試用例的端口號獲取請求,接收端口生成器返回的響應(yīng)消息,確定響應(yīng)消息中是否包括端口號的步驟,直至確定響應(yīng)消息中包括端口號,將響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

102:基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

103:基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例。

可選地,基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信之后,還包括:

若存在執(zhí)行結(jié)束的測試用例,則通過測試框架服務(wù)器關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接。

有益效果:

獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨自的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使測試框架服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

結(jié)合上述實施環(huán)境,本實施例提供了一種端口生成方法。參見圖2,本實施例提供的方法流程具體如下:

201:接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;

202:判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

203:若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號,并返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中包括選擇的端口號。

可選地,所述判斷所述當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限之后,還包括:

若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則返回與所述端口號獲取請求對應(yīng)的響應(yīng)消息,所述響應(yīng)消息中不包括端口號。

有益效果:

接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號,并返回與端口號獲取請求對應(yīng)的響應(yīng)消息,響應(yīng)消息中包括選擇的端口號,使得不同段擴(kuò)和獲取請求對應(yīng)一個端口號,便于測試裝置根據(jù)不同的端口號為不同的測試用例建立單獨的會話連接,提升測試用例的執(zhí)行效率。

本申請?zhí)峁┑臏y試方法針對各個測試用例,即每個測試用例進(jìn)行測試時均會執(zhí)行本實施例提供的方法。然而當(dāng)一個測試用例采用本申請?zhí)峁┑姆椒ㄟM(jìn)行測試時,可能有其他一個或多個測試用例同時采用本方法進(jìn)行測試,因此,可以存在同時有多個測試用例采用本申請?zhí)峁┑臏y試方法進(jìn)行測試的情況發(fā)生,例如,若每個測試用例均通過對應(yīng)的進(jìn)程執(zhí)行本申請?zhí)峁┑臏y試方法進(jìn)行測試,則同時由多個進(jìn)程分別執(zhí)行本申請?zhí)峁┑臏y試方法,且進(jìn)程的執(zhí)行進(jìn)度與對應(yīng)測試用例的測試進(jìn)度相關(guān),各進(jìn)度的執(zhí)行進(jìn)度可以相同,也可以不同。

另外,本申請?zhí)峁┑臏y試方法可以有2種實現(xiàn)形式,一種為由測試裝置單獨實現(xiàn),一種為由測試裝置和端口生成器共同實現(xiàn),下面以2個實施例,分別對每種實現(xiàn)方式進(jìn)行詳細(xì)說明。

本實施例對由測試裝置單獨實現(xiàn)測試方法的方式進(jìn)行詳細(xì)說明。為了便于說明,本實施例僅以一個測試用例a為例進(jìn)行描述,對于其他測試用例的實現(xiàn)可參見測試用例a的實現(xiàn)方式。測試用例a通過本實施例提供的測試方法進(jìn)行測試時,部分其他測試用例可以與之同時采用本實施例提供的方法進(jìn)行測試,即測試用例a與部分其他測試用例同時執(zhí)行各步驟。測試用例a通過本實施例提供的測試方法進(jìn)行測試時,部分其他測試用例也可以先于或后于其采用本實施例提供的方法進(jìn)行測試,即測試用例a開始執(zhí)行本實施例提供的測試方法時,部分其他用例已完成本實施例提供的測試方法的部分步驟,或者,測試用例a完成本實施例提供的測試方法的部分步驟時,部分其他用例開始執(zhí)行實施例提供的測試方法。

參見圖3,本實施例提供的測試方法流程具體如下:

301:測試用例a啟動時,獲取測試用例a的端口號;

其中,各測試用例的端口號互不相同;

獲取測試用例a的端口號的具體實現(xiàn)方式,包括但不限于如下4個步驟:

步驟1:確定當(dāng)前連接數(shù)量;

在進(jìn)行測試的一個或多個測試用例中,每個測試用例均以自己的測試軌跡進(jìn)行測試,即,按自己的測試開始時間、測試步驟等測試屬性進(jìn)行測試,因此,測試裝置所在終端的連接數(shù)量隨時間的不同而不斷變化。每當(dāng)有測試用例需要獲取端口號時,均會確定此時的連接數(shù)量。

步驟2:判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限,若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則執(zhí)行步驟3,若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則執(zhí)行步驟4;

由于會話連接是通過測試框架服務(wù)器建立的,因此,測試框架服務(wù)器的連接上限對會話連接有直接影響。若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則說明還可以與測試框架服務(wù)器建立會話連接,若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則說明不可以與測試框架服務(wù)器建立會話連接。

步驟2會根據(jù)測試裝置所在終端當(dāng)前的連接數(shù)量與測試框架服務(wù)器的連接上限之間的關(guān)系確定測試用例a端口號的具體獲取方法。

步驟3:選擇一個可用端口的端口號作為測試用例a的端口號;

執(zhí)行本步驟的前提是當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,此時,測試裝置所在終端還可以與測試框架服務(wù)器建立會話連接。

步驟3的具體實現(xiàn)方式可以為:先隨機(jī)生成一個端口號,再看該端口號對應(yīng)的端口是否被其他進(jìn)程占用,

(1)若該端口號對應(yīng)的端口未被測試裝置所在終端的其他進(jìn)程占用,則說明該端口號對應(yīng)的端口可用,將該端口號作為測試用例a的端口號。

(2)若該端口號對應(yīng)的端口被測試裝置所在終端的其他進(jìn)程占用,則說明該端口號對應(yīng)的端口不可用,重新生成一個端口號,看重新生成的端口號對應(yīng)的端口是否被測試裝置所在終端的其他進(jìn)程占用,

●若重新生成的端口號對應(yīng)的端口未被測試裝置所在終端的其他進(jìn)程占用,則將重新生成的端口號作為測試用例a的端口號。

●若重新生成的端口號對應(yīng)的端口被測試裝置所在終端的其他進(jìn)程占用,則重復(fù)執(zhí)行重新生成一個端口號,看重新生成的端口號對應(yīng)的端口是否被測試裝置所在終端的其他進(jìn)程占用的步驟,直至找到一個可用端口的端口號作為測試用例a的端口號。

步驟4:將測試用例a的端口號獲取次數(shù)加1,并在預(yù)設(shè)時間段后,再次獲取測試用例a的端口號。

例如,再次確定當(dāng)前連接數(shù)量,判斷再次確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

(1)若再次確定的當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號作為測試用例a的端口號;

(2)若再次確定的當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則重復(fù)執(zhí)行將測試用例a的端口號獲取次數(shù)加1,并在預(yù)設(shè)時間段后,再次確定當(dāng)前連接數(shù)量,判斷再次確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為測試用例a的端口號。

執(zhí)行上述4個步驟之后,會獲取測試用例a的端口號。然而,在獲取測試用例a的端口號的步驟執(zhí)行時,其他測試用例也可能在對應(yīng)進(jìn)程中執(zhí)行步驟301獲取其他進(jìn)程的端口號。因此,會出現(xiàn)多個測試用例同時獲取對應(yīng)端口號的情況。

如例子1,測試用例a通過進(jìn)程a執(zhí)行本實施例提供的方法獲取測試用例a的端口號,同時測試用例b通過進(jìn)程b執(zhí)行本實施例提供的方法獲取測試用例b的端口號。

再如例子2,測試用例c先通過進(jìn)程c執(zhí)行本實施例提供的方法獲取測試用例c的端口號,但是其執(zhí)行到步驟2時判斷當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限進(jìn)而執(zhí)行步驟4,在執(zhí)行步驟4時,測試用例c的端口號獲取次數(shù)加1,且在預(yù)設(shè)時間段后,再次獲取測試用例c的端口號。在再次獲取測試用例c的端口號的同時,測試用例a通過進(jìn)程a執(zhí)行本實施例提供的方法獲取測試用例a的端口號。

對于多個測試用例同時獲取端口號的情況,獲取各測試用例端口號的實施方式,包括但不限于:按多個測試用例的端口號獲取次數(shù),從高到低依次獲取多個測試用例的端口號。

其中,每個測試用例的端口號的獲取方式可以通過上述步驟1至步驟4實現(xiàn)。

以上述例子2為例,若各測試用例的端口號獲取次數(shù)的初始值均為0,由于測試用例c的端口號獲取次數(shù)曾加1,則變?yōu)?,而測試用例a第一次實施本實施例提供的方法進(jìn)行測試,因此,測試用例a的端口號獲取次數(shù)為0。此時,先執(zhí)行獲取測試用例c端口號的步驟,在獲取到測試用例c端口號,或者,測試用例c的端口號獲取次數(shù)再次加1,且進(jìn)入預(yù)設(shè)時間段的等待期后,再執(zhí)行獲取測試用例a的端口號的步驟。

302:基于測試用例a的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為測試用例a建立對應(yīng)的會話連接;

本步驟可以通過握手協(xié)議實現(xiàn)。例如:測試裝置所在終端基于步驟301中獲取的測試用例a端口號向測試框架服務(wù)器發(fā)送會話連接請求,測試框架服務(wù)器確定無線設(shè)備是否可用,無線設(shè)備的資源、服務(wù)是否充足,且在通過無線設(shè)備必要的校驗之后,確定會話id,并基于該會話id在測試裝置所在終端與無線設(shè)備之間建立會話連接a。此處建立的會話連接a僅為測試用例a的會話連接,對于其他測試用例,不能通過會話連接a與無線設(shè)備通信。

現(xiàn)有技術(shù)中所有測試用例均通過公用的會話連接進(jìn)行通信,本實施例提供的方法中每個測試用例均通過獨立的會話連接進(jìn)行通信。本實施例提供的該種會話連接的建立方式相比于現(xiàn)有技術(shù)的方式具有更好的靈活性,可以提高測試框架服務(wù)器資源的可用性,提升測試用例執(zhí)行的穩(wěn)定性和可靠性。

303:基于測試用例a的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行測試用例a;

例如,測試終端按測試用例a的測試描述,基于測試用例a的會話連接與無線設(shè)備進(jìn)行通信,在無線設(shè)備上執(zhí)行測試用例a,以測試無線設(shè)備相應(yīng)的功能。

304:若存在執(zhí)行結(jié)束的測試用例,則通過測試框架服務(wù)器關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接。

同步步驟301至304,可以為不同的測試用例確定不同的端口號,基于不同的端口號通過測試框架服務(wù)器與無線設(shè)備建立不同的會話連接,通過不同的會話連接執(zhí)行不同測試用例,完成各自測試。并當(dāng)任一測試用例執(zhí)行結(jié)束后,僅關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接,而其他正在執(zhí)行的測試用例的會話連接不關(guān)閉,實現(xiàn)不同測試用例的會話連接相互隔離,避免了所有測試用例始終共用一個會話連接造成的測試框架服務(wù)器資源無法釋放,進(jìn)而帶來的測試框架服務(wù)器資源耗盡、宕機(jī)等現(xiàn)象的發(fā)生。

圖4示出了測試裝置所在終端、測試框架服務(wù)器、無線設(shè)備之間的數(shù)據(jù)流交互情況,其中,黑心粗箭頭表示會話連接涉及的數(shù)據(jù)流,白心粗箭頭表示測試用例執(zhí)行涉及的數(shù)據(jù)流。

有益效果:

獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使測試框架服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

本實施例對由測試裝置和端口生成器共同實現(xiàn)測試方法的方式進(jìn)行詳細(xì)說明,其中,端口生成器可以與測試裝置位于同一終端中,也可以位于不同終端中。

為了便于說明,本實施例仍以一個測試用例a為例進(jìn)行描述,對于其他測試用例的實現(xiàn)方式可參見測試用例a的實現(xiàn)方式。當(dāng)然,測試用例a通過本實施例提供的測試方法進(jìn)行測試時,部分其他測試用例可以與之同時采用本實施例提供的方法進(jìn)行測試,也可以先于或后于其采用本實施例提供的方法進(jìn)行測試。

參見圖5,本實施例提供的方法流程具體如下:

501:測試裝置當(dāng)測試用例a啟動時,向端口生成器發(fā)送測試用例a的端口號獲取請求;

其中,測試用例a的端口號獲取請求中包括但不限于:測試裝置標(biāo)識、測試用例a的標(biāo)識等。

另外,測試用例a的端口號獲取請求中包括測試用例a的端口號獲取次數(shù),是否包括測試用例a的端口號獲取次數(shù),可以根據(jù)測試用例a請求端口號的次數(shù)酌情確定。例如,若第一次向端口生成器發(fā)送測試用例a的端口號獲取請求,則該端口號獲取請求可以包括測試用例a的端口號獲取次數(shù),也可以不包括。若非第一次向端口生成器發(fā)送測試用例a的端口號獲取請求,則該端口號獲取請求必須包括測試用例a的端口號獲取次數(shù)。

為了描述本實施例提供的測試方法的全部執(zhí)行步驟,本實施例中,以步驟501中第一次向端口生成器發(fā)送測試用例a的端口號獲取請求,且該端口號獲取請求中不包括測試用例a的端口號獲取次數(shù),步驟509中非第一次向端口生成器發(fā)送測試用例a的端口號獲取請求,且該端口號獲取請求包括測試用例a的端口號獲取次數(shù)為例進(jìn)行具體說明。

502:端口生成器接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;

由于各個測試用例均在以自己的測試軌跡進(jìn)行測試,因此,測試裝置所在終端的連接數(shù)量隨時間的不同而不斷變化。每當(dāng)接收到測試裝置發(fā)送的端口號獲取請求后,均會確定此時測試裝置所在終端的連接數(shù)量。

具體的,若測試裝置與端口生成器位于同一終端中,則端口生成器直接獲取該終端的當(dāng)前連接數(shù)量。若測試裝置與端口生成器位于不同終端中,則端口生成器所在終端與測試裝置所在終端進(jìn)行通信,獲取測試裝置所在終端的當(dāng)前連接數(shù)量。

503:端口生成器判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限,若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則執(zhí)行步驟504,若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則執(zhí)行步驟505;

由于會話連接是通過測試框架服務(wù)器建立的,因此,測試框架服務(wù)器的連接上限對會話連接有直接影響。若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則說明還可以與測試框架服務(wù)器建立會話連接,若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則說明不可以與測試框架服務(wù)器建立會話連接。

步驟503中端口生成器會根據(jù)測試裝置所在終端當(dāng)前的連接數(shù)量與測試框架服務(wù)器的連接上限之間的關(guān)系確定步驟502接收到的端口號獲取請求所對應(yīng)的響應(yīng)消息的具體方法。

504:端口生成器選擇一個可用端口的端口號,并返回與端口號獲取請求對應(yīng)的響應(yīng)消息,且該響應(yīng)消息中包括選擇的端口號;

執(zhí)行本步驟的前提是當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,此時,測試裝置所在終端還可以與測試框架服務(wù)器建立會話連接。

步驟504的具體實現(xiàn)方式可以為:先隨機(jī)生成一個端口號,再看該端口號對應(yīng)的端口是否被測試裝置所在終端的其他進(jìn)程占用,

(1)若該端口號對應(yīng)的端口未被測試裝置所在終端的其他進(jìn)程占用,則說明該端口號對應(yīng)的端口可用,將該端口號作為選擇的端口號。

(2)若該端口號對應(yīng)的端口被測試裝置所在終端的其他進(jìn)程占用,則說明該端口號對應(yīng)的端口不可用,重新生成一個端口號,看重新生成的端口號對應(yīng)的端口是否被測試裝置所在終端的其他進(jìn)程占用,

●若重新生成的端口號對應(yīng)的端口未被測試裝置所在終端的其他進(jìn)程占用,則將重新生成的端口號作為選擇的端口號。

●若重新生成的端口號對應(yīng)的端口被測試裝置所在終端的其他進(jìn)程占用,則重復(fù)執(zhí)行重新生成一個端口號,看重新生成的端口號對應(yīng)的端口是否被測試裝置所在終端的其他進(jìn)程占用的步驟,直至找到一個可用端口的端口號作為選擇的端口號。

505:端口生成器返回與端口號獲取請求對應(yīng)的響應(yīng)消息,且該響應(yīng)消息中不包括端口號;

在實際應(yīng)用中,為了更明確的標(biāo)識端口生成器未獲取到可用的端口號,可以用特殊內(nèi)容表示未獲取到可用的端口號,例如,用空端口表示未獲取到可用的端口號。此種情況下,返回的響應(yīng)消息中雖不包括端口號,但可以包括空端口:

下面為了方便描述,本實施例均以端口生成器未獲取到可用的端口號時,返回的響應(yīng)消息中不包括端口號,但包含空端口的情況為例進(jìn)行說明。

執(zhí)行步驟503至步驟505后,端口生成器均會返回一個與步驟502接收到的端口號獲取請求對應(yīng)的響應(yīng)消息,但該響應(yīng)消息中可能包括端口號,或者,包括空端口。

另外,步驟502至步驟505僅針對端口生成器接收到測試裝置發(fā)送的一個端口號獲取請求情況,對于端口生成器同一時刻接收到測試裝置發(fā)送的多個端口號獲取請求情況,可以參見步驟510。

506:測試終端接收端口生成器返回的第一響應(yīng)消息;

步驟506中接收到的響應(yīng)消息是響應(yīng)消息與步驟501中發(fā)送的測試用例a的端口號獲取請求對應(yīng),且該響應(yīng)消息中包括端口號,或者,該響應(yīng)消息中不包括端口號,但包括空端口。

為了與后續(xù)再次發(fā)送的測試用例a的端口號獲取請求對應(yīng)的響應(yīng)消息區(qū)分,將此處的響應(yīng)消息稱為第一響應(yīng)消息。

507:測試終端確定第一響應(yīng)消息中是否包括端口號,若第一響應(yīng)消息中包括端口號,則執(zhí)行步驟508,若第一響應(yīng)消息中不包括端口號,但包括空端口,則執(zhí)行步驟509;

508:測試終端將第一響應(yīng)消息中包括的端口號確定為測試用例a的端口號;

執(zhí)行此步驟后,直接執(zhí)行步驟512至步驟514。

509:測試終端將測試用例a的端口號獲取次數(shù)加1,并在預(yù)設(shè)時間段后,再次向端口生成器發(fā)送測試用例a的端口號獲取請求;

例如,測試終端在步驟506中接收的端口生成器返回的第一響應(yīng)消息中包括空端口,則在執(zhí)行步驟509時,測試用例a的端口號獲取次數(shù)加1,若端口號獲取次數(shù)的初始值為0,則此時端口號獲取次數(shù)變?yōu)?,且在預(yù)設(shè)時間段后,再次向端口生成器發(fā)送測試用例a的端口號獲取請求。

510:端口生成器接收測試裝置再次發(fā)送測試用例a的端口號獲取請求后,返回與之對應(yīng)的響應(yīng)消息;

若執(zhí)行步驟510時,端口生成器僅接收到測試裝置再次發(fā)送測試用例a的端口號獲取請求,即僅接收到一個端口號獲取請求,則可以重復(fù)執(zhí)行步驟503至步驟505。

若執(zhí)行步驟510時,端口生成器不僅接收到測試裝置再次發(fā)送測試用例a的端口號獲取請求,還接收到測試裝置發(fā)送的其他測試用例的端口號獲取請求,即接收到多個端口號獲取請求。對于此種情況,再次發(fā)送的測試用例a的端口號獲取請求中會包括端口號獲取次數(shù)。例如:測試用例a的端口號獲取次數(shù)1。而其他測試用例的端口號獲取請求中可能包括對應(yīng)的端口號獲取次數(shù),也可能不包括。若不包括端口號獲取次數(shù),則可以認(rèn)為端口號獲取次數(shù)為初始值,例如0。

對于同時接收到多個端口號獲取請求的情況,端口生成器可以先按各端口號獲取請求包括的端口號獲取次數(shù),從高到低依次選擇一個端口號獲取請求;針對選擇的端口號獲取請求執(zhí)行步驟503至步驟505,返回選擇的端口號獲取請求對應(yīng)的響應(yīng)消息。

例如,若端口生成器同時接收到2個端口號獲取請求,分別為再次發(fā)送的測試用例a的端口號獲取請求,首次發(fā)送的測試用例d的端口號獲取請求。其中,測試用例a的端口號獲取請求由于是第二次發(fā)送,則測試用例a的端口號獲取請求中包括端口號獲取次數(shù),且為1。測試用例d的端口號獲取請求由于是首次發(fā)送,若測試用例d的端口號獲取請求可以包括端口號獲取次數(shù),且為0,則先執(zhí)行503至步驟505響應(yīng)測試用例a的端口號獲取請求,在返回包括端口號或者空端口的相應(yīng)消息后,再執(zhí)行503至步驟505響應(yīng)測試用例d的端口號獲取請求。

再例如,若端口生成器同時接收到2個端口號獲取請求,分別為再次發(fā)送的測試用例a的端口號獲取請求,首次發(fā)送的測試用例e的端口號獲取請求,且端口號獲取次數(shù)的初始值均為0。其中,測試用例a的端口號獲取請求由于是第二次發(fā)送,則測試用例a的端口號獲取請求中包括端口號獲取次數(shù),且為1。測試用例e的端口號獲取請求由于是首次發(fā)送,若測試用例e的端口號獲取請求不包括端口號獲取次數(shù),則將測試用例e的端口號獲取請求的端口號獲取次數(shù)確定為0。此時,先執(zhí)行503至步驟505響應(yīng)測試用例a的端口號獲取請求,在返回包括端口號或者空端口的相應(yīng)消息后,再執(zhí)行503至步驟505響應(yīng)測試用例e的端口號獲取請求。

511:測試裝置接收端口生成器返回的第二響應(yīng)消息,根據(jù)第二響應(yīng)消息確定測試用例a的端口號;

其中,第二響應(yīng)消息與再次發(fā)送的測試用例a的端口號獲取請求對應(yīng)。

與第一響應(yīng)消息相同,第二響應(yīng)消息中可以包括端口號,也可以包括空端口。

若第二響應(yīng)消息中包括端口號,則測試裝置執(zhí)行步驟508將第二響應(yīng)消息中包括的端口號確定為測試用例a的端口號。

若第二響應(yīng)消息中包括空端口,則測試裝置重復(fù)執(zhí)行步驟509至步驟511,將任一測試用例的端口號獲取次數(shù)加1,并在預(yù)設(shè)時間段后,再次向端口生成器發(fā)送任一測試用例的端口號獲取請求,接收端口生成器返回的第二響應(yīng)消息,第二響應(yīng)消息與再次發(fā)送的任一測試用例的端口號獲取請求對應(yīng),確定第二響應(yīng)消息中是否包括端口號的步驟,直至確定第二響應(yīng)消息中包括端口號。

512:測試裝置基于測試用例a的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為測試用例a建立對應(yīng)的會話連接;

本步驟的實現(xiàn)方式與步驟302相同,詳見步驟302,此處不再贅述。

513:測試裝置基于測試用例a的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行測試用例a;

本步驟的實現(xiàn)方式與步驟303相同,詳見步驟303,此處不再贅述。

514:若存在執(zhí)行結(jié)束的測試用例,則通過測試框架服務(wù)器關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接。

本步驟的實現(xiàn)方式與步驟304相同,詳見步驟304,此處不再贅述。

圖6示出了測試裝置、端口生成器、測試框架服務(wù)器之間的端口分配情況。

有益效果:

從端口生成器獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

基于同一發(fā)明構(gòu)思,本實施例提供了一種測試裝置,由于該裝置解決問題的原理與圖1所示的一種測試方法相似,因此該裝置的實施可以參見圖1所示的方法的實施例,重復(fù)之處不再贅述。

參見圖7,該裝置包括:

獲取模塊701,用于獲取一個或多個測試用例的端口號,其中,一個或多個測試用例的端口號互不相同;

建立模塊702,用于基于獲取模塊701獲取的一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

測試模塊703,用于基于建立模塊702建立的一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例。

參見圖8,獲取模塊701,包括:

第一確定單元7011,用于對于一個或多個測試用例中的任一測試用例,確定當(dāng)前連接數(shù)量;

判斷單元7012,用于判斷第一確定單元7011確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

選擇單元7013,用于當(dāng)判斷單元7012判斷當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限時,選擇一個可用端口的端口號作為任一測試用例的端口號。

參見圖9,獲取模塊701,還包括:

第一循環(huán)單元7014,用于當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限時,每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行確定當(dāng)前連接數(shù)量,判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為任一測試用例的端口號。

參見圖10,獲取模塊701,包括:

發(fā)送單元7015,用于對于一個或多個測試用例中的任一測試用例,向端口生成器發(fā)送任一測試用例的端口號獲取請求;

接收單元7016,用于接收端口生成器返回的響應(yīng)消息,響應(yīng)消息與發(fā)送單元發(fā)送的任一測試用例的端口號獲取請求對應(yīng);

第二確定單元7017,用于確定接收單元7016接收的響應(yīng)消息中是否包括端口號;

第三確定單元7018,用于當(dāng)?shù)诙_定單元7017確定響應(yīng)消息中包括端口號時,將第一響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

參見圖11,獲取模塊701,還包括:

第二循環(huán)單元7019,用于當(dāng)響應(yīng)消息中不包括端口號時,每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行向端口生成器發(fā)送任一測試用例的端口號獲取請求,接收端口生成器返回的響應(yīng)消息,確定響應(yīng)消息中是否包括端口號的步驟,直至確定響應(yīng)消息中包括端口號,將響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

參見圖12,該裝置,還包括:

關(guān)閉模塊704,用于當(dāng)存在執(zhí)行結(jié)束的測試用例時,通過測試框架服務(wù)器關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接。

有益效果如下:

獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

基于同一發(fā)明構(gòu)思,本實施例提供了一種端口生成器,由于該端口生成器解決問題的原理與圖2所示的一種測試方法相似,因此該端口生成器的實施可以參見圖2所示的方法的實施例,重復(fù)之處不再贅述。

參見圖13,該端口生成器包括:

確定模塊1301,用于接收測試裝置發(fā)送的端口號獲取請求后,確定當(dāng)前連接數(shù)量;

判斷模塊1302,用于判斷確定模塊1301確定的當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

返回模塊1303,用于當(dāng)判斷模塊1302判斷當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限時,選擇一個可用端口的端口號,并返回與端口號獲取請求對應(yīng)的響應(yīng)消息,響應(yīng)消息中包括選擇的端口號。

可選地,返回模塊1303,還用于當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限時,返回與端口號獲取請求對應(yīng)的響應(yīng)消息,響應(yīng)消息中不包括端口號。

有益效果如下:

各測試用例啟動時,從端口生成器獲取各測試用例的端口號;基于各測試用例的端口號,分別通過測試框架服務(wù)器與無線設(shè)備之間建立各測試用例的會話連接;基于各測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行各測試用例,各測試用例建立各自的會話連接,并基于各自的會話連接執(zhí)行各測試用例,從而將各測試用例與無線設(shè)備的會話相互隔離,不僅提高了服務(wù)器資源的高可用性,還避免一次會話的超長時間保持連接致使服務(wù)器資源耗盡引起的宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

基于同一發(fā)明構(gòu)思,參見圖14,本實施例提供了一種測試系統(tǒng),該系統(tǒng)用于執(zhí)行上述實施例所提供的測試方法,該系統(tǒng)包括:

處理器1401和存儲器1402,存儲器1402存儲由處理器1401執(zhí)行的程序指令。

其中,程序指令包括:

獲取一個或多個測試用例的端口號,其中,一個或多個測試用例的端口號互不相同;

基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;

基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例。

可選地,獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,確定當(dāng)前連接數(shù)量;

判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限;

若當(dāng)前連接數(shù)量未超過測試框架服務(wù)器的連接上限,則選擇一個可用端口的端口號作為任一測試用例的端口號。

可選地,判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限之后,還包括:

若當(dāng)前連接數(shù)量超過測試框架服務(wù)器的連接上限,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行確定當(dāng)前連接數(shù)量,判斷當(dāng)前連接數(shù)量是否超過測試框架服務(wù)器的連接上限的步驟,直至選擇一個可用端口的端口號作為任一測試用例的端口號。

可選地,獲取一個或多個測試用例的端口號,包括:

對于一個或多個測試用例中的任一測試用例,向端口生成器發(fā)送任一測試用例的端口號獲取請求;

接收端口生成器返回的響應(yīng)消息,響應(yīng)消息與任一測試用例的端口號獲取請求對應(yīng);

確定響應(yīng)消息中是否包括端口號;

若響應(yīng)消息中包括端口號,則將響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

可選地,確定響應(yīng)消息中是否包括端口號之后,還包括:

若響應(yīng)消息中不包括端口號,則每隔預(yù)設(shè)時間段,重復(fù)執(zhí)行向端口生成器發(fā)送任一測試用例的端口號獲取請求,接收端口生成器返回的響應(yīng)消息,確定響應(yīng)消息中是否包括端口號的步驟,直至確定響應(yīng)消息中包括端口號,將響應(yīng)消息中包括的端口號確定為任一測試用例的端口號。

可選地,基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信之后,還包括:

若存在執(zhí)行結(jié)束的測試用例,則通過測試框架服務(wù)器關(guān)閉執(zhí)行結(jié)束的測試用例的會話連接。

有益效果如下:

處理器執(zhí)行存儲于處理器的如下程序指令,獲取一個或多個測試用例的端口號;基于一個或多個測試用例的端口號,通過測試框架服務(wù)器與無線設(shè)備之間為一個或多個測試用例分別建立對應(yīng)的一個或多個會話連接;基于一個或多個測試用例的會話連接與無線設(shè)備進(jìn)行通信,以在無線設(shè)備上執(zhí)行一個或多個測試用例,通過為每個測試用例建立獨立的會話連接,基于對應(yīng)的會話連接執(zhí)行一個或多個測試用例,從而將測試用例與無線設(shè)備的會話相互隔離,不僅提高了測試框架服務(wù)器資源的高可用性,還避免共用會話的長時間連接使測試框架服務(wù)器資源耗盡進(jìn)而引起宕機(jī),提高了測試用例執(zhí)行的穩(wěn)定性和可靠性,提升了測試用例的執(zhí)行效率。

為了描述的方便,以上裝置的各部分以功能分為各種模塊或單元分別描述。當(dāng)然,在實施本發(fā)明時可以把各模塊或單元的功能在同一個或多個軟件或硬件中實現(xiàn)。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本發(fā)明范圍的所有變更和修改。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1