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

一種網(wǎng)絡(luò)接口測試裝置及方法與流程

文檔序號:11657279閱讀:202來源:國知局
一種網(wǎng)絡(luò)接口測試裝置及方法與流程

本發(fā)明涉及網(wǎng)絡(luò)測試技術(shù)領(lǐng)域,具體涉及一種網(wǎng)絡(luò)接口測試裝置及方法。



背景技術(shù):

隨著計算技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,大量的網(wǎng)絡(luò)應(yīng)用系統(tǒng)不斷涌現(xiàn),網(wǎng)絡(luò)軟硬件設(shè)施之間通過指定的網(wǎng)絡(luò)通信協(xié)議進(jìn)行相互通信,共同協(xié)作以完成特定的功能。要確保網(wǎng)絡(luò)應(yīng)用系統(tǒng)的順暢運行,則必須保證網(wǎng)絡(luò)中的各個網(wǎng)絡(luò)接口能夠正常發(fā)揮作用。

因此,在網(wǎng)絡(luò)應(yīng)用部署之前或者運行維護(hù)過程中需要對網(wǎng)絡(luò)接口進(jìn)行測試,以確定是否可以提供正常的網(wǎng)絡(luò)連接功能。目前,對網(wǎng)絡(luò)接口例如http接口的測試大都基于瀏覽器實現(xiàn),通過為瀏覽器開發(fā)指定測試功能的插件來測試網(wǎng)絡(luò)接口是否可用。

這種基于現(xiàn)有瀏覽器的方法雖然看似簡化了測試工具的實現(xiàn),但實際上由于對瀏覽器的依賴,很大程度上限制了這種測試方法的應(yīng)用范圍。要使用該方法進(jìn)行測試,就必須在目標(biāo)機器上預(yù)裝瀏覽器,以及相應(yīng)的測試插件,使得沒有安裝這些工具的機器無法進(jìn)行測試。而且,測試時不能根據(jù)實際需要對編碼進(jìn)行靈活設(shè)置,使得非英文數(shù)據(jù)傳輸時會出現(xiàn)無法識別的亂碼。因此,需要一種不依賴于瀏覽器的獨立測試工具和方法以克服上述缺陷。



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

有鑒于此,本發(fā)明實施例提供一種網(wǎng)絡(luò)接口測試裝置及方法,以提升測 試的效率。

本公開的其他特性和優(yōu)點將通過下面的詳細(xì)描述變得顯然,或部分地通過本公開的實踐而習(xí)得。

第一方面,本發(fā)明實施例提供了一種網(wǎng)絡(luò)接口測試裝置,包括:

測試數(shù)據(jù)接收單元,用于接收外部輸入的測試數(shù)據(jù),其中,所述測試數(shù)據(jù)包括:待測試的接口地址、測試類型;

測試請求生成單元,用于根據(jù)外部輸入的測試數(shù)據(jù)生成測試請求;

測試請求發(fā)送單元,用于將所述測試請求發(fā)送至所述待測試的接口地址;

測試結(jié)果接收單元,用于從所述接口地址接收返回的測試結(jié)果數(shù)據(jù);

測試結(jié)果輸出單元,用于輸出所述測試結(jié)果數(shù)據(jù)。

第二方面,本發(fā)明實施例還提供了網(wǎng)絡(luò)接口測試方法,包括以下步驟:

接收外部輸入的測試數(shù)據(jù),其中,所述測試數(shù)據(jù)包括:待測試的接口地址、測試類型;

根據(jù)外部輸入的測試數(shù)據(jù)生成測試請求;

將所述測試請求發(fā)送至所述待測試的接口地址;

從所述接口地址接收返回的測試結(jié)果數(shù)據(jù);

輸出所述測試結(jié)果數(shù)據(jù)。

本發(fā)明通過設(shè)計一種獨立于瀏覽器實現(xiàn)的網(wǎng)絡(luò)接口測試裝置及相應(yīng)的方法,能夠廣泛地適用于內(nèi)外網(wǎng)等各種網(wǎng)絡(luò)接口測試場合,摒棄了對瀏覽器的依賴,可獨立、完整地提供網(wǎng)絡(luò)接口測試功能,擴(kuò)展了其應(yīng)用的范圍,提升了測試的效率。

附圖說明

為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對本發(fā)明實施例 描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)本發(fā)明實施例的內(nèi)容和這些附圖獲得其他的附圖。

圖1是本發(fā)明具體實施例一所述的網(wǎng)絡(luò)接口測試裝置的結(jié)構(gòu)框圖;

圖2是本發(fā)明具體實施例二所述的網(wǎng)絡(luò)接口測試方法流程圖;

圖3是本發(fā)明具體實施例三所述的網(wǎng)絡(luò)接口測試方法流程圖;

圖4是本發(fā)明具體實施例三所述的java.awt包的層次結(jié)構(gòu)圖。

具體實施方式

為使本發(fā)明解決的技術(shù)問題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對本發(fā)明實施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。

下面結(jié)合附圖并通過具體實施方式來進(jìn)一步說明本發(fā)明的技術(shù)方案。

實施例一

圖1是本實施例所述的網(wǎng)絡(luò)接口測試裝置的結(jié)構(gòu)框圖,如圖1所示,本實施例所述的網(wǎng)絡(luò)接口測試裝置100包括:

測試數(shù)據(jù)接收單元101,接收外部輸入的測試數(shù)據(jù);其中,所述測試數(shù)據(jù)包括:待測試的接口地址、以及測試類型;

所述網(wǎng)絡(luò)接口測試裝置為用戶或外部系統(tǒng)提供測試數(shù)據(jù)輸入接口,可以通過測試數(shù)據(jù)接收單元101從用戶或外部系統(tǒng)接收所輸入的測試數(shù)據(jù)。通常,所述測試數(shù)據(jù)包括如下幾項,但并不限于此:待測試的接口地址以及測試類型。其中,所述待測試的接口地址即為當(dāng)前所要測試的網(wǎng)絡(luò)接口的具體 地址,可以指定為外網(wǎng)地址或者內(nèi)網(wǎng)地址;所述測試類型是指當(dāng)前要針對上述接口地址測試哪些類型的網(wǎng)絡(luò)功能,最常見的為上傳數(shù)據(jù)和下載數(shù)據(jù)。如果為上傳數(shù)據(jù),則通常還需從外部輸入待發(fā)送的具體數(shù)據(jù),即所述外部輸入的測試數(shù)據(jù)還需包括所述待發(fā)送數(shù)據(jù)。當(dāng)然,根據(jù)實際的測試需求還可以指定其他類型,本發(fā)明對此不作限制;所述數(shù)據(jù)格式是指在測試時要以何種編碼格式來上傳或下載數(shù)據(jù)。

測試請求生成單元102,根據(jù)外部輸入的測試數(shù)據(jù)生成測試請求;

測試請求通常涉及要測試的目標(biāo)地址以及測試請求的類型等信息。在接收到外部輸入的上述測試數(shù)據(jù)后,從中解析出相應(yīng)的數(shù)據(jù),并根據(jù)得到的數(shù)據(jù)對測試請求的具體參數(shù)進(jìn)行設(shè)置。例如,將測試請求的目標(biāo)地址設(shè)置為所述待測試的接口地址,以及將測試請求的請求類型設(shè)置為所述測試類型。需要指出,對于測試類型為上傳數(shù)據(jù)時,還需將測試請求的上傳數(shù)據(jù)設(shè)置為所述待發(fā)送數(shù)據(jù);進(jìn)一步地,為了避免傳輸非英文數(shù)據(jù)時出現(xiàn)亂碼,還需將所述上傳數(shù)據(jù)的編碼格式設(shè)置為所述從外部指定的特定數(shù)據(jù)格式。

測試請求發(fā)送單元103,將所述測試請求發(fā)送至所述待測試的接口地址;

在設(shè)置好測試請求的各項參數(shù)之后即可將該測試請求發(fā)送到外部所指定的待測試接口地址,針對上述地址的網(wǎng)絡(luò)接口來測試相應(yīng)測試類型的網(wǎng)絡(luò)功能是否正常。

測試結(jié)果接收單元104,從所述接口地址接收返回的測試結(jié)果數(shù)據(jù);

當(dāng)所述指定的待測試網(wǎng)絡(luò)接口完成相應(yīng)的功能測試后會向測試請求發(fā)起端返回測試結(jié)果數(shù)據(jù)。在已經(jīng)從外部指定了數(shù)據(jù)格式的前提下,所述測試結(jié)果接收單元104會按照所述數(shù)據(jù)格式從所述接口地址接收返回的結(jié)果數(shù)據(jù)。

進(jìn)一步地,在得到返回的測試結(jié)果數(shù)據(jù)后即可通過判斷該數(shù)據(jù)是否與預(yù)設(shè)的標(biāo)準(zhǔn)相吻合,從而來驗證其是否正確。根據(jù)該驗證結(jié)果,即可得知所測 試的網(wǎng)絡(luò)接口的相應(yīng)功能是否存在異常。

測試結(jié)果輸出單元105,用于輸出所述測試結(jié)果數(shù)據(jù)。

測試結(jié)果輸出單元105用于向外部輸出測試結(jié)果數(shù)據(jù)。例如可以通過顯示屏顯示、打印成測試報告、或者通過聲/光/電等方式向外部呈現(xiàn)測試的具體結(jié)論。

此處所測試的網(wǎng)絡(luò)接口可以是任何類型,最常見的接口為http接口。相應(yīng)地,可以通過java語言中的基于底層httpurlconnection類實現(xiàn)與所述待測試接口交互httpurlconnection類來實現(xiàn)所述測試請求生成單元102、測試請求發(fā)送單元103、以及測試結(jié)果接收單元104,從而完成對http接口的測試。下面對此進(jìn)行示例性說明。

所述測試請求生成單元102根據(jù)外部輸入的測試數(shù)據(jù)生成測試請求、以及測試請求發(fā)送單元103將所述測試請求發(fā)送至所述待測試的接口地址的相關(guān)操作,具體示例如下所示:

將測試請求的目標(biāo)地址設(shè)置為所述待測試的接口地址:

urlserverurl=newurl("http://localhost:8090/lctest/testserver");

基于httpurlconnection類創(chuàng)建http網(wǎng)絡(luò)連接對象實例;

urlconnectionuct=serverurl.openconnection();

httpurlconnectionhutc=(httpurlconnection)uct;

將測試請求的請求類型設(shè)置為所述測試類型,此處以上傳類型為例:

hutc.setrequestmethod("post");

將測試請求的上傳數(shù)據(jù)設(shè)置為所述待發(fā)送數(shù)據(jù),并且,為了避免傳輸非英文數(shù)據(jù)時出現(xiàn)亂碼,將所述上傳數(shù)據(jù)的編碼格式設(shè)置為所述從外部指定的特定數(shù)據(jù)格式,然后發(fā)送數(shù)據(jù):

outputstreamout=hutc.getoutputstream();

out.write(param.getbytes("utf-8"));

其中,param為待發(fā)送數(shù)據(jù);所述數(shù)據(jù)格式為utf-8,但并不限于此, 還可以包括:unicode,gb2313,gb18030,gbk,big5等格式。

所述測試結(jié)果接收單元104按照所述數(shù)據(jù)格式從所述接口地址接收返回數(shù)據(jù)的相關(guān)操作,具體示例如下所示:

stringbufferbuffer=newstringbuffer();

bufferedreaderreader=null;

inputstreamins=hutc.getinputstream();

reader=newbufferedreader(newinputstreamreader(ins,"utf-8"));

獲取返回數(shù)據(jù)時將該返回數(shù)據(jù)的編碼格式設(shè)置為外部指定的所述數(shù)據(jù)格式,例如此處的utf-8。

本發(fā)明所述的網(wǎng)絡(luò)接口測試裝置可以不依賴于瀏覽器獨立實現(xiàn)。具體實現(xiàn)方式上,可以采用swt和jface實現(xiàn)可視化框架,通過httpurlconnection類來實現(xiàn)測試功能,并通過exe4j進(jìn)行打包生成可執(zhí)行文件,此處所生成的可執(zhí)行文件自帶jre運行環(huán)境,無需測試端安裝瀏覽器以及java環(huán)境,通過本發(fā)明所述的網(wǎng)絡(luò)接口測試裝置即可實現(xiàn)完整的網(wǎng)絡(luò)接口測試功能。

所述網(wǎng)絡(luò)接口測試裝置能夠廣泛地適用于內(nèi)外網(wǎng)等各種網(wǎng)絡(luò)接口測試場合,摒棄了對瀏覽器的依賴,可獨立、完整地提供網(wǎng)絡(luò)接口測試功能,擴(kuò)展了其應(yīng)用的范圍,提升了測試的效率。

實施例二

圖2是本實施例所述的網(wǎng)絡(luò)接口測試方法流程圖,如圖2所示,本實施例所述的網(wǎng)絡(luò)接口測試方法包括以下步驟:

步驟s201、接收外部輸入的測試數(shù)據(jù);

本步驟用于為用戶或外部系統(tǒng)提供測試數(shù)據(jù)輸入接口,從用戶或外部系統(tǒng)接收所輸入的測試數(shù)據(jù)。通常,所述測試數(shù)據(jù)包括如下幾項,但并不限于此:待測試的接口地址,測試類型。

其中,所述待測試的接口地址即為當(dāng)前所要測試的網(wǎng)絡(luò)接口的具體地址,可以指定為外網(wǎng)地址或者內(nèi)網(wǎng)地址;所述測試類型是指當(dāng)前要針對上述接口地址測試哪些類型的網(wǎng)絡(luò)功能,最常見的為上傳數(shù)據(jù)和下載數(shù)據(jù)。

如果為上傳數(shù)據(jù),則通常還需從外部輸入待發(fā)送的具體數(shù)據(jù),即所述外部輸入的測試數(shù)據(jù)還需包括所述待發(fā)送數(shù)據(jù)。當(dāng)然,根據(jù)實際的測試需求還可以指定其他類型,本發(fā)明對此不作限制。

步驟s202、根據(jù)外部輸入的測試數(shù)據(jù)生成測試請求;

測試請求通常涉及要測試的目標(biāo)地址以及測試請求的類型等信息。在接收到外部輸入的上述測試數(shù)據(jù)后,從中解析出相應(yīng)的數(shù)據(jù),并根據(jù)得到的數(shù)據(jù)對測試請求的具體參數(shù)進(jìn)行設(shè)置。例如,將測試請求的目標(biāo)地址設(shè)置為所述待測試的接口地址,以及將測試請求的請求類型設(shè)置為所述測試類型。需要指出,對于測試類型為上傳數(shù)據(jù)時,還需將測試請求的上傳數(shù)據(jù)設(shè)置為所述待發(fā)送數(shù)據(jù)。

進(jìn)一步地,為了避免傳輸非英文數(shù)據(jù)時出現(xiàn)亂碼,還需將所述上傳數(shù)據(jù)的編碼格式設(shè)置為所述從外部指定的特定數(shù)據(jù)格式。

步驟s203、將所述測試請求發(fā)送至所述待測試的接口地址;

在設(shè)置好測試請求的各項參數(shù)之后即可將該測試請求發(fā)送到外部所指定的待測試接口地址,針對上述地址的網(wǎng)絡(luò)接口來測試相應(yīng)測試類型的網(wǎng)絡(luò)功能是否正常。

步驟s204、從所述接口地址接收返回的測試結(jié)果數(shù)據(jù);

當(dāng)所述指定的待測試網(wǎng)絡(luò)接口完成相應(yīng)的功能測試后會向測試請求發(fā)起端返回測試結(jié)果數(shù)據(jù)。在已經(jīng)從外部指定了數(shù)據(jù)格式的前提下,會按照所述數(shù)據(jù)格式從所述接口地址接收返回的數(shù)據(jù),即,將該返回數(shù)據(jù)的編碼格式設(shè)置為所述數(shù)據(jù)格式。

步驟s205、輸出所述測試結(jié)果數(shù)據(jù)。

例如可以通過顯示屏顯示、打印成測試報告、或者通過聲/光/電等方式向外部呈現(xiàn)測試的具體結(jié)論。

需要說明的是,在得到返回的測試結(jié)果數(shù)據(jù)后,且在輸出結(jié)果數(shù)據(jù)之前,進(jìn)一步地,還可驗證返回的所述測試結(jié)果數(shù)據(jù)是否符合預(yù)設(shè)標(biāo)準(zhǔn)。例如,通過判斷該數(shù)據(jù)是否與預(yù)設(shè)的標(biāo)準(zhǔn)相吻合,從而來驗證其是否正確。根據(jù)該驗證結(jié)果,即可得知所測試的網(wǎng)絡(luò)接口的相應(yīng)功能是否存在異常。

此處所測試的網(wǎng)絡(luò)接口可以是任何類型,最常見的接口為http接口。相應(yīng)地,可以基于java語言中的httpurlconnection類來實現(xiàn)所述測試請求生成步驟s202、測試請求發(fā)送步驟s203、以及測試結(jié)果數(shù)據(jù)接收步驟s204,從而完成對http接口的測試。具體的示例可參見實施例一所示。

本發(fā)明所述的網(wǎng)絡(luò)接口測試方法可以不依賴于瀏覽器獨立實施。具體實現(xiàn)方式上,可以采用swt和jface實現(xiàn)可視化框架,通過httpurlconnection類來實現(xiàn)測試功能,并通過exe4j進(jìn)行打包生成可執(zhí)行文件,此處所生成的可執(zhí)行文件自帶jre運行環(huán)境,無需在測試端安裝瀏覽器以及java環(huán)境,通過本發(fā)明所述的網(wǎng)絡(luò)接口測試方法即可實現(xiàn)完整的網(wǎng)絡(luò)接口測試功能。

所述網(wǎng)絡(luò)接口測試方法能夠廣泛地適用于內(nèi)外網(wǎng)等各種網(wǎng)絡(luò)接口測試場合,摒棄了對瀏覽器的依賴,可獨立、完整地提供網(wǎng)絡(luò)接口測試功能,擴(kuò)展了其應(yīng)用的范圍,提升了測試的效率。

實施例三

圖3是本發(fā)明具體實施例三所述的網(wǎng)絡(luò)接口測試方法流程圖,如圖3所示,本實施例所述的網(wǎng)絡(luò)接口測試方法包括:

步驟s301、創(chuàng)建窗體。

步驟s302、接收所輸入的url。

步驟s303、找到url所指的接口。

步驟s304、選擇檢測接口類型。

若所述接口類型為下載數(shù)據(jù),則執(zhí)行步驟s305,若所述接口類型為上傳數(shù)據(jù),則執(zhí)行步驟s306。

步驟s305、get是從服務(wù)器上獲取數(shù)據(jù),執(zhí)行步驟s308。

步驟s306、是向服務(wù)器傳送數(shù)據(jù),執(zhí)行步驟s307。

步驟s307、輸入檢測參數(shù)(json串等),執(zhí)行步驟s308。

步驟s308、生成接口連接,與服務(wù)器會話。

本步驟需通過基于底層httpurlconnection類實現(xiàn)與所述待測試接口交互。

步驟s309、測試端口從服務(wù)器獲取回流(字節(jié)流)。

本步驟需使用函數(shù)connection.getinputstream()。

步驟s310、生成返回字符流。

本步驟基于newinputstreamreader((),"utf-8")命令來實現(xiàn)對所述測試結(jié)果數(shù)據(jù)的讀取識別。在讀取識別所述測試結(jié)果數(shù)據(jù)時使用utf-8字符集。

步驟s311、存入緩存區(qū)

本步驟通過函數(shù)newbufferdereader執(zhí)行。

步驟s312、轉(zhuǎn)換為字符串。

步驟s313、發(fā)送屏幕,顯示。

其中,inputstream,用于得到的是字節(jié)輸入流,inputstream.read("filename")之后,得到字節(jié)流reader:讀取的是字符流inputstreamreader:從字節(jié)到字符的橋梁。inputstreamreader(inputstream.read("filename"));

reader.read(inputstreamreader(inputstreamin));便可從字節(jié)變?yōu)樽址?,打印顯示了。

bufferedreaderread=newbufferedreader(new inputstreamreader(connection

.getinputstream(),”utf-8”));

一般工具調(diào)用都使用httpclient方式,本實施例這種方式有bug,會造成一些特殊問題,很難解決包括諸如中文亂碼等問題。而本實施例采用用httpurlconnection方式,本領(lǐng)域普通技術(shù)人員很難想到可以在實例化inputstreamreader的時候,添加了“utf-8”字符集參數(shù),從而能夠解決亂碼問題。

第一,本工具使用了httpurlconnection類直接連接服務(wù)器端接口,可以提供post和get兩種傳輸方式。httpurlconnection的父類是urlconnection抽象類。httpurlconnection可以生成http請求,請求后在inputstream和outputstream上調(diào)用close()方法即可釋放相關(guān)的網(wǎng)絡(luò)資源。

第二,本工具還使用了ibm開源的gui框架:swt和jface,保證了java輸出的窗口更加美觀,并且更易編寫。

swt和jface是基于sun公司awt,awt(abstractwindowtoolkit)抽象窗口工具包,是java的圖形用戶界面的基本工具。java.awt包的層次結(jié)構(gòu)如圖4所示。

第三,本工具使用exe4j開源打包工具,把本工具打包成exe可執(zhí)行文件,并集成java運行環(huán)境jre1.6。因為本工具是使用java語言編寫的,所以必須有java運行環(huán)境才可以使用,而本工具集成了jre,方便用戶可以在無java運行環(huán)境的機器上進(jìn)行使用。

http接口開發(fā)及調(diào)用人員,使用本工具可以更加快捷的測試接口,并且節(jié)省了編寫測試代碼的時間,為項目開發(fā)及系統(tǒng)連調(diào)節(jié)省了大量時間。

本實施例的技術(shù)方案使用了ibm開源的gui框架:swt和jface,開發(fā)可視化窗口,從而不依賴于任何瀏覽器。使用exe4j進(jìn)行打包,生成exe文件,并且自帶jre運行環(huán)境,用戶可以直接使用本工具,不用安裝本工具,也不用安裝java運行環(huán)境,并且內(nèi)外網(wǎng)接口均可進(jìn)行測試。通過底層 httpurlconnection類及其方法的有效調(diào)用,克服了jar/exe文件中文亂碼的問題。

以上實施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過軟件編程或?qū)S糜布O(shè)備實現(xiàn),其中軟件程序存儲在可讀取的存儲介質(zhì)中,存儲介質(zhì)例如:計算機中的硬盤、光盤或軟盤;專用硬件設(shè)備可以是asic、fpga、soc、或具有相應(yīng)電路的ipcore。

注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

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