1.一種模擬服務(wù)的方法,其特征在于,包括步驟:
模擬外部服務(wù)行為啟動模擬器初始化操作,在初始化后的模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng);
模擬器啟動的與被測服務(wù)同一IP的監(jiān)聽鏈路攔截由被測服務(wù)發(fā)出的請求;
解析所攔截的請求并將解析后的請求傳送至模擬器的樁匹配器;
模擬器的樁匹配器接收解析后的請求,根據(jù)模擬匹配條件執(zhí)行匹配命令。
2.如權(quán)利要求1所述的模擬服務(wù)的方法,其特征在于,所述模擬外部服務(wù)行為啟動模擬器初始化操作,在初始化后的模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng)的步驟包括:
根據(jù)被測服務(wù)的請求選擇模擬測試架構(gòu),且在所選擇的模擬測試架構(gòu)中,模擬外部服務(wù)行為啟動一個或多個不同協(xié)議服務(wù)的模擬器;
根據(jù)被測服務(wù)的當前協(xié)議服務(wù)請求選擇模擬器當前協(xié)議鏈路的配置,將被測服務(wù)請求的IP修改為模擬器的IP,以將被測服務(wù)的請求指向模擬器啟動的監(jiān)聽鏈路的端口;
根據(jù)模擬外部服務(wù)行為的意圖,在模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng)為樁,參數(shù)化樁生成樁參數(shù)。
3.如權(quán)利要求2所述的模擬服務(wù)的方法,其特征在于,所述根據(jù)被測服務(wù)的當前協(xié)議服務(wù)請求選擇模擬器當前協(xié)議鏈路的配置的步驟包括:
若被測服務(wù)的當前協(xié)議服務(wù)為通用協(xié)議服務(wù),則修改DNS配置,把被測服務(wù)請求的IP指向模擬器的IP,配置Nginx,利用Nginx的端口映射,把被測服務(wù)的請求指向模擬器啟動的監(jiān)聽鏈路的端口;
若被測服務(wù)的當前協(xié)議服務(wù)為自定義協(xié)議服務(wù),通過OSP的靜態(tài)路由的IP和端口,把被測服務(wù)請求的IP直接指向模擬器的IP和對應(yīng)OSP鏈路的監(jiān)聽鏈路的端口。
4.如權(quán)利要求1所述的模擬服務(wù)的方法,其特征在于,所述解析攔截的請求并將解析后的請求傳送至模擬器的樁匹配器的步驟包括:
解析所攔截的請求生成請求參數(shù);
將請求參數(shù)轉(zhuǎn)換為統(tǒng)一的封裝不同協(xié)議的請求對象;
傳送請求對象至模擬器的樁匹配器。
5.如權(quán)利要求1所述的模擬服務(wù)的方法,其特征在于,所述模擬器的樁匹配器接收解析后的請求,根據(jù)模擬匹配條件執(zhí)行匹配命令的步驟包括:
樁匹配器接收解析后的請求;
調(diào)用樁參數(shù);
解析樁參數(shù),以釋放模擬匹配條件和預(yù)設(shè)響應(yīng);
調(diào)用模擬匹配條件,執(zhí)行匹配命令。
6.如權(quán)利要求1所述的模擬服務(wù)的方法,其特征在于,所述模擬器的樁匹配器接收解析后的請求,根據(jù)模擬匹配條件執(zhí)行匹配命令的步驟之后包括:
若匹配成功,模擬器的樁匹配器發(fā)送預(yù)設(shè)響應(yīng)至被測服務(wù);
若匹配失敗,模擬器的樁匹配器轉(zhuǎn)發(fā)解析后的請求至外部服務(wù),并接收外部服務(wù)發(fā)出的對請求的真實響應(yīng),傳送至被測服務(wù)。
7.如權(quán)利要求1至6任一項所述的模擬服務(wù)的方法,其特征在于,在所述模擬器的監(jiān)聽鏈路攔截由同一IP的被測服務(wù)發(fā)出的請求的步驟和所述解析攔截的請求并將解析后的請求傳送至模擬器的樁匹配器的步驟之間還包括:
模擬器的監(jiān)聽鏈路監(jiān)測所攔截的請求;
若監(jiān)測所攔截的請求不需要返回預(yù)設(shè)響應(yīng)時,暫停所述監(jiān)聽鏈路,直接轉(zhuǎn)發(fā)被測服務(wù)發(fā)出的請求至外部服務(wù),并接收外部服務(wù)對請求的真實響應(yīng)返回至被測服務(wù);
若監(jiān)測所攔截的請求不需要使用模擬器時,停止所述監(jiān)聽鏈路,模擬服務(wù)關(guān)閉監(jiān)聽端口,返回報錯信息。
8.如權(quán)利要求1至6任一項所述的模擬服務(wù)的方法,其特征在于,所述模擬外部服務(wù)行為啟動模擬器初始化操作,在初始化后的模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng)的步驟之前包括:
呈現(xiàn)解耦依賴的執(zhí)行情況時,執(zhí)行解耦依賴。
9.一種模擬服務(wù)的裝置,其特征在于,包括:
初始化模塊,用于模擬外部服務(wù)行為啟動模擬器初始化操作,在初始化后的模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng);
監(jiān)聽模塊,用于與被測服務(wù)同一IP的模擬器啟動的監(jiān)聽鏈路攔截由被測服務(wù)發(fā)出的請求;
報文解析模塊,用于解析所攔截的請求并將解析后的請求傳送至模擬器的樁匹配器;
執(zhí)行模塊,用于模擬器的樁匹配器接收解析后的請求,根據(jù)模擬匹配條件執(zhí)行匹配命令。
10.如權(quán)利要求9所述的模擬服務(wù)的裝置,其特征在于,還包括:
響應(yīng)模塊,用于若匹配成功,模擬器的樁匹配器發(fā)送預(yù)設(shè)響應(yīng)至被測服務(wù);還用于若匹配失敗,接收外部服務(wù)發(fā)出的對請求的真實響應(yīng),傳送至被測服務(wù);
轉(zhuǎn)發(fā)模塊,用于若匹配失敗,模擬器的樁匹配器轉(zhuǎn)發(fā)解析后的請求至外部服務(wù);
解耦依賴模塊,用于呈現(xiàn)解耦依賴的執(zhí)行情況時,執(zhí)行解耦依賴;
監(jiān)測模塊,用于模擬器的監(jiān)聽鏈路監(jiān)測所攔截的請求;
監(jiān)測執(zhí)行模塊,用于若監(jiān)測所攔截的請求不需要返回預(yù)設(shè)響應(yīng)時,暫停模擬器的鏈路,直接轉(zhuǎn)發(fā)被測服務(wù)發(fā)出的請求至外部服務(wù),并接收外部服務(wù)對請求的真實響應(yīng)返回至被測服務(wù);還用于若監(jiān)測所攔截的請求不需要使用模擬器時,停止模擬器的鏈路,模擬服務(wù)關(guān)閉監(jiān)聽端口,返回報錯信息。
11.如權(quán)利要求9所述的模擬服務(wù)的裝置,其特征在于,所述初始化模塊包括:
模擬測試架構(gòu)單元,用于根據(jù)被測服務(wù)的請求選擇模擬測試架構(gòu),且在在所選擇的模擬測試架構(gòu)中,模擬外部服務(wù)行為啟動一個或多個不同協(xié)議服務(wù)的模擬器;
模擬多種協(xié)議服務(wù)單元,用于接收請求后,獲取請求URL地址上的協(xié)議類型,轉(zhuǎn)交給適配協(xié)議類型的模擬服務(wù)的裝置進行處理,以根據(jù)被測服務(wù)的當前協(xié)議服務(wù)請求選擇模擬器當前協(xié)議鏈路的配置;
服務(wù)端口配置單元,用于所選擇模擬器當前協(xié)議鏈路的配置,修改被測服務(wù)請求的IP為模擬器的IP,將被測服務(wù)的請求指向模擬器啟動的監(jiān)聽鏈路的端口;
樁單元,用于根據(jù)模擬外部服務(wù)行為的意圖,在模擬器的樁匹配器中編輯模擬匹配條件及預(yù)設(shè)響應(yīng)為樁,參數(shù)化樁生成樁參數(shù)。
12.如權(quán)利要求11所述的模擬服務(wù)的裝置,其特征在于,所述服務(wù)端口配置單元包括:
通用協(xié)議配置子單元,用于若被測服務(wù)的當前協(xié)議服務(wù)為通用協(xié)議服務(wù),則修改DNS配置,把被測服務(wù)請求的IP指向模擬器的IP,配置Nginx,利用Nginx的端口映射,把被測服務(wù)的請求指向模擬器啟動的監(jiān)聽鏈路的端口;
自定義協(xié)議配置子單元,用于若被測服務(wù)的當前協(xié)議服務(wù)為自定義協(xié)議服務(wù),通過OSP的靜態(tài)路由的IP和端口,把被測服務(wù)請求的IP直接指向模擬器的IP和對應(yīng)OSP鏈路的監(jiān)聽鏈路的端口。
13.如權(quán)利要求9所述的模擬服務(wù)的裝置,其特征在于,所述報文解析模塊包括:
解析單元,用于解析所攔截的請求生成請求參數(shù);
封裝單元,用于將請求參數(shù)轉(zhuǎn)換為統(tǒng)一的封裝不同協(xié)議的請求對象;
傳送單元,用于傳送請求對象至模擬器的樁匹配器。
14.如權(quán)利要求9所述的模擬服務(wù)的裝置,其特征在于,所述執(zhí)行模塊包括:
接收單元,用于樁匹配器接收解析后的請求;
調(diào)用單元,用于調(diào)用樁參數(shù);
釋放單元,用于解析樁參數(shù),以釋放模擬匹配條件和預(yù)設(shè)響應(yīng);
執(zhí)行單元,用于調(diào)用模擬匹配條件,執(zhí)行匹配命令。
15.一種模擬服務(wù)的集中管理平臺,其特征在于,包括:
一個或多個不同協(xié)議的如權(quán)利要求9-14任一項所述的模擬服務(wù)的裝置;及
UI交互模塊,用于建立UI交互測試模型及交互規(guī)范,編輯靜態(tài)HTML,以負責所有模擬服務(wù)的交互對接;及
日志管理模塊,用于提供日志管理功能,可對模擬測試的結(jié)果進行日志記錄、查看、下載及清理;及
模擬數(shù)據(jù)庫,用于存儲模擬服務(wù)的所有數(shù)據(jù)。