中文字幕无码日韩视频无码三区

網絡應用接口的測試方法、裝置及電子設備與流程

文檔序號:11253807閱讀:955來源:國(guo)知(zhi)局
網絡應用接口的測試方法、裝置及電子設備與流程
本發明涉及測試
技術領域
,具體涉及一種網絡應用接口的測試方法、裝置及電子設備。
背景技術
:隨著互聯網技術的發展,互聯網服務端的接口測試是一項非常重要的測試環節。現有技術中通過構造客戶端請求,利用http協議獲取返回結果,然后客戶端通過charles等協議工具定向到目標測試服務器,實現協議功能,然后對比客戶端的響應結果和構造請求返回的結果是否一致,從而判斷測試是否成功。然而,兩個不同請求返回的結果在很大程度上會存在不一致,影響自動化測試的準確程度。技術實現要素:本發明實施例提供一種網絡應用接口的測試方法、裝置及電子設備,用于解決基于http協議客戶端發出的請求和預期請求的返回結果異步,導致測試結果準確率低的問題。本發明實施例第一方面提供一種網絡應用接口的測試方法,包括:接收網絡應用接口發送的第一http請求;根據所述第一http請求生成第二http請求;向目標測試服務器發送所述第二http請求;接收由所述目標測試服務器發送的根據http協議獲取所述第二http請求對應的第二響應結果,并保存所述第二響應結果;接收由所述網絡應用接口根據所述http協議獲取所述第一http請求對應的第一響應結果;當所述第一響應結果與所述第二響應結果匹配時,確定所述網絡應用接口測試成功。結合本發明實施例第一方面,在本發明實施例第一方面的第一種可能的實現方式中,所述根據所述第一http請求生成第二http請求包括:將所述第一http請求分為域名和非域名兩部分,根據所述第一http請求中的非域名部分和所述目標測試服務器的域名生成第二http請求。結合本發明實施例第一方面,在本發明實施例第一方面的第二種可能的實現方式中,在所述接收由所述網絡應用接口根據所述http協議獲取所述第一http請求對應的第一響應結果之后,所述方法還包括:在所述第二響應結果中查找第二驗證信息,所述第二驗證信息包括所述第二http請求對應的網絡地址;在所述第一響應結果中查找與所述第二驗證信息對應的第一驗證信息,當所述第一驗證信息與所述第二驗證信息匹配時,確定所述第一響應結果與所述第二響應結果匹配。結合本發明實施例第一方面的第二種可能的實現方式,在本發明實施例第一方面的第三種可能的實現方式中,所述方法還包括:當所述第一驗證信息與所述第二驗證信息不匹配時,生成提示信息;接收所述網絡應用接口發送的針對所述提示信息生成的所述第一http請求。結合本發明實施例第一方面的第一種可能的實現方式,在本發明實施例第一方面的第四種可能的實現方式中,在所述根據所述第一http請求中的非域名部分和所述目標測試服務器的域名生成第二http請求之前,所述方法還包括:當存在多個測試服務器時,在所述多個測試服務器中選擇最優網絡帶寬的測試服務器作為所述目標測試服務器;根據所述測試服務器與所述域名之間的映射關系查找所述目標測試服務器的域名。本發明實施例第二方面提供一種網絡應用接口的測試裝置,包括:第一接收單元,用于接收網絡應用接口發送的第一http請求;生成單元,用于根據所述第一http請求生成第二http請求;第一發送單元,用于向目標測試服務器發送所述第二http請求;第二接收單元,用于接收由所述目標測試服務器發送的根據http協議獲取所述第二http請求對應的第二響應結果,并保存所述第二響應結果;第三接收單元,用于接收由所述網絡應用接口根據所述http協議獲取所述第一http請求對應的第一響應結果;確定單元,用于當所述第一響應結果與所述第二響應結果匹配時,確定所述網絡應用接口測試成功。結合本發明實施例第二方面,在本發明實施例第二方面的第一種可能的實現方式中,所述裝置還包括:所述生成單元,具體用于將所述第一http請求分為域名和非域名兩部分,根據所述第一http請求中的非域名部分和所述目標測試服務器的域名生成第二http請求。結合本發明實施例第二方面,在本發明實施例第二方面的第二種可能的實現方式中,所述裝置還包括:所述確定單元,具體用于在所述第二響應結果中查找第二驗證信息,所述第二驗證信息包括所述第二http請求對應的網絡地址;在所述第一響應結果中查找與所述第二驗證信息對應的第一驗證信息,當所述第一驗證信息與所述第二驗證信息匹配時,確定所述第一響應結果與所述第二響應結果匹配。結合本發明實施例第二方面的第二種可能的實現方式,在本發明實施例第二方面的第三種可能的實現方式中,所述裝置還包括:提示單元,用于當所述第一驗證信息與所述第二驗證信息不匹配時,生成提示信息;所述第一接收單元,還用于接收所述網絡應用接口發送的針對所述提示信息生成的所述第一http請求。結合本發明實施例第二方面的第一種可能的實現方式,在本發明實施例第二方面的第四種可能的實現方式中,所述裝置還包括:選擇單元,用于當存在多個測試服務器時,在所述多個測試服務器中選擇最優網絡帶寬的測試服務器作為所述目標測試服務器;查找單元,用于根據所述測試服務器與所述域名之間的映射關系查找所述目標測試服務器的域名。本發明實施例第三方面提供了一種電子設備,包括:殼體、處理器、存儲器、電路板和電源電路,其中,電路板安置在殼體圍成的空間內部,處理器和存儲器設置在電路板上;電源電路,用于為電子設備的各個電路或器件供電;存儲器用于存儲可執行程序代碼;處理器通過讀取存儲器中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,以用于執行以下步驟:接收網絡應用接口發送的第一http請求;根據所述第一http請求生成第二http請求;向目標測試服務器發送所述第二http請求;接收由所述目標測試服務器發送的根據http協議獲取所述第二http請求對應的第二響應結果,并保存所述第二響應結果;接收由所述網絡應用接口根據所述http協議獲取所述第一http請求對應的第一響應結果;當所述第一響應結果與所述第二響應結果匹配時,確定所述網絡應用接口測試成功。本發明實施例第四方面提供了一種存儲介質,其中,該存儲介質用于存儲應用程序,所述應用程序用于在運行時執行本發明實施例第一方面提供的一種網絡應用接口的測試方法。本發明實施例第五方面提供了一種應用程序,其中,該應用程序用于在運行時執行本發明實施例第一方面提供的一種網絡應用接口的測試方法。本發明實施例中,當接收到網絡應用接口發送的第一http請求后,將第一http請求中的域名修改為目標測試服務器的域名得到第二http請求;然后向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果,獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,當第一響應結果與第二響應結果匹配時,測試成功。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,從而提高了測試結果的準確性。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是本發明實施例提供的一種網絡應用接口的測試方法的流程圖;圖2是本發明實施例提供的一種網絡應用接口的測試方法的場景示意圖;圖3是socket協議的連接過程的流程圖;圖4是本發明實施例提供的另一種網絡應用接口的測試方法的流程圖;圖5是本發明實施例提供的一種網絡應用接口的測試裝置的結構圖;圖6是本發明實施例提供的另一種網絡應用接口的測試裝置的結構圖;圖7是本發明實施例提供的一種電子設備的結構圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。本發明的說明書和權利要求書及附圖中的術語“第一”、“第二”和“第三”等是用于區別不同對象,而不是用于描述特定順序。此外,術語“包括”和“具有”以及它們任何變形,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統、產品或設備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產品或設備固有的其它步驟或單元。在本文中提及“實施例”意味著,結合實施例描述的特定特征、結構或特性可以包含在本發明的至少一個實施例中。在說明書中的各個位置出現該短語并不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領域技術人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結合。本發明實施例所描述的電子設備可以包括智能手機(如android手機)、平板電腦、掌上電腦、筆記本電腦、移動互聯網設備(mid,mobileinternetdevices)或穿戴式設備等基于socket協議的電子設備,上述電子設備僅是舉例,而非窮舉,包含但不限于上述電子設備。本發明實施例提供一種網絡應用接口的測試方法、裝置及電子設備,用于基于socket協議無法正確保存測試服務器的響應結果的技術問題。以下分別進行詳細說明。請參閱圖1,圖1是本發明實施例提供的一種網絡應用接口的測試方法的流程圖。如圖1所示,該方法可以包括以下步驟。步驟101、接收網絡應用接口發送的第一http請求。本發明實施例中,網絡應用接口可以是互聯網
技術領域
中任一應用程序中用于進行數據交換的接口,例如:用戶終端與網絡側(例如:服務器)進行數據交換的接口,或者服務器與用戶側(例如:用戶終端)進行數據交換的接口。上述應用程序包括但不限于瀏覽器應用程序、聊天應用程序、游戲應用程序、音視頻播放應用程序等等。http協議(hypertexttransferprotocol,超文本傳輸協議)是用于從www(worldwideweb,萬維網)服務器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網絡傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先于圖形)等。本發明實施例中,http請求是指從客戶端到服務器端的請求消息,包括消息首行中,對資源的請求方法、資源的標識符及使用的協議。將socket接口接收到網絡應用接口發送的http請求作為第一http請求。需要說明的是,第一http請求包含的請求方法、資源的標識符及使用的協議由應用程序預設編程算法決定,本實施例中對于實現socket協議的編程語言不作限定,可選的為python。舉例來說,如圖2所示的應用界面,網絡應用接口包括輸入數字的輸入框和“loadad”按鈕,當用戶在輸入數字的輸入框中輸入“128103”后,點擊“loadad”按鈕時,則第一http請求為向目標測試服務器請求上傳一個編號為“128103”的廣告。步驟102、根據第一http請求生成第二http請求。可選的,將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。通過修改第一http請求的域名為目標測試服務器的域名,使得第二http請求的域名為目標測試服務器的域名,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求,提高測試結果的準確性。舉例來說,假設第一http請求為“//www.xxx.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,則域名:“//www.xxx.com.cn”,非域名為:“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,目標測試服務器的域名為“//www.xxx102.com.cn”,則第二http請求為“//www.xxx102.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”。步驟103、向目標測試服務器發送第二http請求。網絡上的兩個程序通過一個雙向的通信連接實現數據的交換,這個連接的一端稱為一個socket,通常也稱作“套接字”,用于描述ip地址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同計算機之間的通信。socket協議可以說是對http協議的加強,它不僅是對http協議進行協議,而是對所有向外的連接進行協議。socket接口是傳輸控制協議/因特網互聯協議(transmissioncontrolprotocol/internetprotocol,tcp/ip)網絡的api(applicationprogramminginterface,應用程序編程接口),socket接口定義了許多函數或例程,程序員可以用它們來開發tcp/ip網絡上的應用程序。網絡的socket數據傳輸是一種特殊的輸入/輸出端口(i/o,input/output)。socket協議的連接過程可以分為三個步驟:服務器監聽,客戶端請求,連接確認,具體如圖3所示,綁定地址和端口;監聽訪問該地址和端口的請求;建立連接;接收連接并返回響應結果。具體的實現代碼如下所示:s=socket.socket(socket.af_inet,socket.sock_stream);//初始化協議s.bind(addr);//綁定地址和端口s.listen(10);//監聽訪問這個地址和端口的請求s.connect(to_addr);//建立連接s.accept();//接收連接并返回s.close();//關閉協議地址是指互聯網協議地址(internetprotocoladdress,ipaddress)。ip地址是ip協議提供的一種統一的地址格式,它為互聯網上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。端口就是指的是socket接口,各種服務采用不同的端口分別提供不同的服務,比如:通常tcp/ip協議規定網絡連接采用80號端口,文件傳輸協議(filetransferprotocol,ftp)采用21號端口等,而郵件服務器是采用25號端口。域名(domainname),是由一串用點分隔的名字組成的internet上某一臺計算機或計算機組的名稱,用于在數據傳輸時標識計算機的電子方位(有時也指地理位置,地理上的域名,指代有行政自主權的一個地方區域)。域名的目的是便于記憶和溝通的一組服務器的地址(網站,電子郵件,ftp等)。域名的ip地址綁定了以后,當別人訪問這個域名的時候就可以通過dns解析成ip,再進行訪問。ip地址與域名有對應的關系。某個ip,對應的域名只有一個。由于socket協議是底層協議,則socket協議返回的響應結果為亂碼,將該響應結果處理成可以識別的編碼很復雜。在接收到第一http請求后,不是直接將第一http請求轉發給測試服務端,而是將第一http請求中的域名修改為目標測試服務器的域名,得到第二http請求。也就是說通過目標測試服務器實現第二http請求,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求,提高測試結果的準確性。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”,則目標測試服務器接收的第二http請求的域名為“//www.xxx102.com.cn”。步驟104、接收由目標測試服務器發送的根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果。http協議是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。基于http協議的客戶/服務器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。在本實施例中,目標測試服務器接收第二http請求后,根據http協議獲取第二http請求對應的第二響應結果。且將第二響應結果進行保存,從而解決了采用socket協議無法將服務器的響應結果進行保存的弊端。步驟105、接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果。在本實施例中,網絡應用接口根據http協議獲取第一http請求對應的第一響應結果與目標測試服務器根據http協議獲取第二http請求對應的第二響應結果的步驟一致,在此不再贅述。步驟106、當第一響應結果與第二響應結果匹配時,確定網絡應用接口測試成功。可選的,在第二響應結果中查找第二驗證信息,第二驗證信息包括第二http請求對應的網絡地址;在第一響應結果中查找與第二驗證信息對應的第一驗證信息,當第一驗證信息與第二驗證信息匹配時,確定第一響應結果與第二響應結果匹配。其中,驗證信息可以是與http請求對應的編號id、命名name、文本名text、標題title、網絡地址、樣式數據中的顏色color、字體font、對齊方式等等。其中編號id、命名name、文本名text和標題title對響應結果進行標識,位置數據表示響應結果在應用頁面上的位置信息,通常用頂點坐標(x、y)、寬度width和高度height來表示。樣式數據表示響應結果的樣式屬性,例如顏色、文字的字體、對齊方式和四周間隔的距離等等。其中,第二驗證信息和第一驗證信息僅用于區別。本實施例對于存儲響應結果的文本形式不做限定,可選的為txt格式,存儲驗證信息以json格式表示,按照最簡單的形式表示“名稱/值對”的組合。上述網絡地址可以是統一資源定位符(uniformresourcelocator,url),它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”。如圖2所示的應用場景中,當用戶在輸入數字的輸入框中輸入“128103”后,點擊“loadad”按鈕時,向socket發送第一http請求為向目標測試服務器請求上傳一個編號為“128103”的廣告;socket接收到第一http請求后將請求域名“//www.xxx.com.cn”修改為目標測試服務器域名“//www.xxx102.com.cn”得到第二http請求;目標測試服務器根據http協議處理第二http請求得到第二響應結果,并在guanggao.txt文件中保存第二響應結果,假設guanggao.txt中的第二驗證信息包括:("pic_url":"//orionimg.adkmob.com/liehu/20151230/1451445246mm841_l.png","title":"mobilestrike");此外將第二響應結果轉發給網絡應用接口,獲取該網絡應用接口根據http協議處理第一http請求得到的第一響應結果,當第一響應結果的第一驗證信息中的"pic_url"與"title"對應的值與第二響應結果中的值匹配時,確定網絡應用接口測試成功,則手機顯示的廣告跟guanggao.txt保存的一致。在圖1所描述的網絡應用接口的測試方法中,當接收到網絡應用接口發送的第一http請求后,將第一http請求中的域名修改為目標測試服務器的域名得到第二http請求。然后向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,保存第二響應結果,獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,當第一響應結果與第二響應結果匹配時,測試成功。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,從而提高了測試結果的準確性。請參閱圖4,圖4是本發明實施例提供的另一種網絡應用接口的測試方法的流程圖。如圖4所示,該方法可以包括以下步驟。步驟201、接收網絡應用接口發送的第一http請求。其中,上述步驟201的具體描述可參見上述步驟101的相關描述,在此不再贅述。步驟202、當存在多個測試服務器時,在多個測試服務器中選擇最優網絡帶寬的測試服務器作為目標測試服務器。本實施例中,根據socket對網絡應用接口和測試服務器之間的測試請求和響應結果進行轉發,不需要耗費資源來建立與網絡應用接口之間的通信連接,從而降低了測試工具的負載,提高了測試的穩定性。本實施例中,當socket與多個測試服務器建立連接時,獲取每一個與socket連接的測試服務器的網絡帶寬,選擇最優網絡帶寬的測試服務器作為目標測試服務器,可減小測試服務器的壓力,從而提高測試效率。舉例來說,假設與socket連接的測試服務器的編號為1000、1001和1002,則獲取每一個測試服務器的網絡帶寬,其中,編號為1000的測試服務器的網絡帶寬為20%,編號為1001的測試服務器的網絡帶寬為50%,編號為1002的測試服務器的網絡帶寬為80%,則將編號為1000的測試服務器作為目標測試服務器。步驟203、根據測試服務器與域名之間的映射關系查找目標測試服務器的域名。本實施例中,通過對建立的測試服務器與域名之間的映射關系進行管理,可以在不同的測試項目中,實現對不同測試服務器與不同網絡應用接口之間的統一管理和調度,打破了實施工具之間存在的壁壘。根據測試服務器與域名之間的映射關系來查找目標測試服務器的域名,可提高查找效率。舉例來說,如下表1所示,當目標測試服務器的編號為1000時,則根據測試服務器與域名之間的映射關系查表可得目標測試服務器的域名為“//www.xxx1000.com.cn”。表1測試服務器域名1000//www.xxx1000.com.cn1001//www.xxx1001.com.cn1002//www.xxx1002.com.cn…………步驟204、將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。通過修改第一http請求的域名為目標測試服務器的域名,使得第二http請求的域名為目標測試服務器的域名,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求,提高測試結果的準確性。舉例來說,假設第一http請求為“//www.xxx.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,則域名:“//www.xxx.com.cn”,非域名為:“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,目標測試服務器的域名為“//www.xxx102.com.cn”,則第二http請求為“//www.xxx102.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”。步驟205、向目標測試服務器發送第二http請求。步驟206、接收由目標測試服務器發送的根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果。步驟207、接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果。其中,上述步驟205-207的具體描述可參見上述步驟103-105的相關描述,在此不再贅述。步驟208、判斷第一響應結果與第二響應結果是否匹配。其中,若是,執行步驟209;若否,執行完步驟210后,再執行步驟202。在本實施例中,驗證信息可以是與http請求對應的編號id、命名name、文本名text、標題title、網絡地址、樣式數據中的顏色color、字體font、對齊方式等等。其中編號id、命名name、文本名text和標題title對響應結果進行標識,位置數據表示響應結果在應用頁面上的位置信息,通常用頂點坐標(x、y)、寬度width和高度height來表示。樣式數據表示響應結果的樣式屬性,例如顏色、文字的字體、對齊方式和四周間隔的距離等等。其中,第二驗證信息和第一驗證信息僅用于區別。本實施例對于存儲響應結果的文本形式不做限定,可選的為txt格式,存儲驗證信息以json格式表示,按照最簡單的形式表示“名稱/值對”的組合。上述網絡地址可以是統一資源定位符(uniformresourcelocator,url),它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”。如圖2所示的應用場景中,當用戶在輸入數字的輸入框中輸入“128103”后,點擊“loadad”按鈕時,向socket發送第一http請求為向目標測試服務器請求上傳一個編號為“128103”的廣告;socket接收到第一http請求后將請求域名“//www.xxx.com.cn”修改為目標測試服務器域名“//www.xxx102.com.cn”得到第二http請求;目標測試服務器根據http協議處理第二http請求得到第二響應結果,并在guanggao.txt文件中保存第二響應結果,假設guanggao.txt中的第二驗證信息包括:("pic_url":"//orionimg.adkmob.com/liehu/20151230/1451445246mm841_l.png","title":"mobilestrike");此外將第二響應結果轉發給網絡應用接口,獲取該網絡應用接口根據http協議處理第一http請求得到的第一響應結果,當第一響應結果的第一驗證信息中的"pic_url"與"title"對應的值與第二響應結果中的值匹配時,確定網絡應用接口測試成功,則手機顯示的廣告跟guanggao.txt保存的一致。步驟209、確定網絡應用接口測試成功。在本實施例中,當第一響應結果與第二響應結果匹配時,確定網絡應用接口測試成功。步驟210、生成提示信息,接收網絡應用接口發送的針對提示信息生成的第一http請求。在本實施例中,當第一驗證信息與第二驗證信息不匹配時,對匹配不成功的驗證信息進行分析生成提示信息,用戶根據提示信息修改測試參數生成第一http請求,向網絡應用接口發送第一http請求,執行步驟202,從而利于提高測試的準確性。在圖4所描述的網絡應用接口的測試方法中,當接收到網絡應用接口發送的第一http請求后,選擇最優網絡帶寬的測試服務器作為目標測試服務器。通過測試服務器與域名之間的映射關系查找目標測試服務器的域名。將第一http請求中的域名修改為目標測試服務器的域名生成第二http請求。向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,保存第二響應結果。獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,判斷第一響應結果中是否有與第二驗證信息匹配的第一驗證信息,若是,確定第一響應結果與第二響應結果匹配,從而確定測試成功;若否,生成提示信息,接收網絡應用接口發送的針對提示信息生成的第一http請求。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,當驗證信息不匹配時,根據提示信息修改測試參數生成第一http請求,重新對網絡應用接口進行測試,從而提高了測試結果的準確性。請參閱圖5,圖5是本發明實施例提供的一種網絡應用接口的測試裝置的結構圖。如圖5所示,該裝置300可以包括:第一接收單元301,用于接收網絡應用接口發送的第一http請求。本發明實施例中,網絡應用接口可以是互聯網
技術領域
中任一應用程序中用于進行數據交換的接口。本發明實施例中,http請求是指從客戶端到服務器端的請求消息,包括消息首行中,對資源的請求方法、資源的標識符及使用的協議。將socket接口接收到網絡應用接口發送的http請求作為第一http請求。生成單元302,用于根據第一http請求生成第二http請求。作為一種可能的實施方式,生成單元303具體用于將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。也就是說,修改第一http請求的域名為目標測試服務器的域名,使得第二http請求的域名為目標測試服務器的域名,則使得返回結果一致。舉例來說,假設第一http請求為“//www.xxx.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,則域名:“//www.xxx.com.cn”,非域名為:“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,目標測試服務器的域名為“//www.xxx102.com.cn”,則第二http請求為“//www.xxx102.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”。第一發送單元303,用于向目標測試服務器發送第二http請求。由于socket協議是底層協議,則socket協議返回的響應結果為亂碼,將該響應結果處理成可以識別的編碼很復雜。在接收到第一http請求后,不是直接將第一http請求轉發給測試服務端,而是將第一http請求中的域名修改為目標測試服務器的域名,得到第二http請求。也就是說通過目標測試服務器實現第二http請求,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”,則目標測試服務器接收的第二http請求的域名為“//www.xxx102.com.cn”。第二接收單元304,用于接收由目標測試服務器發送的根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果。http協議是一個應用層協議,由請求和響應構成,是一個標準的客戶端服務器模型。基于http協議的客戶/服務器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。在本實施例中,目標測試服務器接收第二http請求后,根據http協議獲取第二http請求對應的第二響應結果。且將第二響應結果進行保存,從而解決了采用socket協議無法將服務器的響應結果進行保存的弊端。第三接收單元305,用于接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果。在本實施例中,網絡應用接口根據http協議獲取第一http請求對應的第一響應結果與目標測試服務器根據http協議獲取第二http請求對應的第二響應結果的步驟一致,在此不再贅述。確定單元306,用于當第一響應結果與第二響應結果匹配時,確定網絡應用接口測試成功。作為一種可能的實施方式,確定單元306具體用于:在第二響應結果中查找第二驗證信息,第二驗證信息包括第二http請求對應的網絡地址;在第一響應結果中查找與第二驗證信息對應的第一驗證信息,當第一驗證信息與第二驗證信息匹配時,確定第一響應結果與第二響應結果匹配。其中,驗證信息可以是與http請求對應的編號id、命名name、文本名text、標題title、網絡地址、樣式數據中的顏色color、字體font、對齊方式等等。其中編號id、命名name、文本名text和標題title對響應結果進行標識,位置數據表示響應結果在應用頁面上的位置信息,通常用頂點坐標(x、y)、寬度width和高度height來表示。樣式數據表示響應結果的樣式屬性,例如顏色、文字的字體、對齊方式和四周間隔的距離等等。其中,第二驗證信息和第一驗證信息僅用于區別。本實施例對于存儲響應結果的文本形式不做限定,可選的為txt格式,存儲驗證信息以json格式表示,按照最簡單的形式表示“名稱/值對”的組合。上述網絡地址可以是統一資源定位符(uniformresourcelocator,url),它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”。如圖2所示的應用場景中,當用戶在輸入數字的輸入框中輸入“128103”后,點擊“loadad”按鈕時,向socket發送第一http請求為向目標測試服務器請求上傳一個編號為“128103”的廣告;socket接收到第一http請求后將請求域名“//www.xxx.com.cn”修改為目標測試服務器域名“//www.xxx102.com.cn”得到第二http請求;目標測試服務器根據http協議處理第二http請求得到第二響應結果,并在guanggao.txt文件中保存第二響應結果,假設guanggao.txt中的第二驗證信息包括:("pic_url":"//orionimg.adkmob.com/liehu/20151230/1451445246mm841_l.png","title":"mobilestrike");此外將第二響應結果轉發給網絡應用接口,獲取該網絡應用接口根據http協議處理第一http請求得到的第一響應結果,當第一響應結果的第一驗證信息中的"pic_url"與"title"對應的值與第二響應結果中的值匹配時,確定網絡應用接口測試成功,則手機顯示的廣告跟guanggao.txt保存的一致。在圖5所描述的網絡應用接口的測試裝置中,當接收到網絡應用接口發送的第一http請求后,將第一http請求中的域名修改為目標測試服務器的域名得到第二http請求。然后向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,保存第二響應結果,獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,當第一響應結果與第二響應結果匹配時,測試成功。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,從而提高了測試結果的準確性。請參閱圖6,圖6是本發明實施例提供的另一種網絡應用接口的測試裝置的結構圖。如圖6所示,該裝置400可以包括:第一接收單元401,用于接收網絡應用接口發送的第一http請求。其中,上述第一接收單元401的具體描述可參見上述的第一接收單元301,在此不再贅述。選擇單元402,用于當存在多個測試服務器時,在多個測試服務器中選擇最優網絡帶寬的測試服務器作為目標測試服務器。本實施例中,根據socket對網絡應用接口和測試服務器之間的測試請求和響應結果進行轉發,不需要耗費資源來建立與網絡應用接口之間的通信連接,從而降低了測試工具的負載,提高了測試的穩定性。本實施例中,當socket與多個測試服務器建立連接時,獲取每一個與socket連接的測試服務器的網絡帶寬,選擇最優網絡帶寬的測試服務器作為目標測試服務器,可減小測試服務器的壓力,從而提高測試效率。舉例來說,假設與socket連接的測試服務器的編號為1000、1001和1002,則獲取每一個測試服務器的網絡帶寬,其中,編號為1000的測試服務器的網絡帶寬為20%,編號為1001的測試服務器的網絡帶寬為50%,編號為1002的測試服務器的網絡帶寬為80%,則將編號為1000的測試服務器作為目標測試服務器。查找單元403,用于根據測試服務器與域名之間的映射關系查找目標測試服務器的域名。本實施例中,通過對建立的測試服務器與域名之間的映射關系進行管理,可以在不同的測試項目中,實現對不同測試服務器與不同網絡應用接口之間的統一管理和調度,打破了實施工具之間存在的壁壘。根據測試服務器與域名之間的映射關系來查找目標測試服務器的域名,可提高查找效率。生成單元404,用于將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。通過修改第一http請求的域名為目標測試服務器的域名,使得第二http請求的域名為目標測試服務器的域名,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求,提高測試結果的準確性。舉例來說,假設第一http請求為“//www.xxx.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,則域名:“//www.xxx.com.cn”,非域名為:“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”,目標測試服務器的域名為“//www.xxx102.com.cn”,則第二http請求為“//www.xxx102.com.cn”,“pkg”:“com.epicwaskds.ms”,“pkg_size”,“pkg_url”。第一發送單元405,用于向目標測試服務器發送第二http請求。由于socket協議是底層協議,則socket協議返回的響應結果為亂碼,將該響應結果處理成可以識別的編碼很復雜。在接收到第一http請求后,不是直接將第一http請求轉發給測試服務端,而是將第一http請求中的域名修改為目標測試服務器的域名,得到第二http請求。也就是說通過目標測試服務器實現第二http請求,從而避免了使用socket協議導致返回的結果為亂碼,且確保目標測試服務器返回的響應結果為客戶端發送的請求,提高測試結果的準確性。舉例來說,假設第一http請求的域名為“//www.xxx.com.cn”,目標測試服務器的域名為“//www.xxx102.com.cn”,則目標測試服務器接收的第二http請求的域名為“//www.xxx102.com.cn”。第二接收單元406,用于接收由目標測試服務器發送的根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果。第三接收單元407,用于接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果。確定單元408,用于當第一響應結果與第二響應結果匹配時,確定第一響應結果與第二響應結果匹配,確定網絡應用接口測試成功。其中,第二接收單元406、第三接收單元407確定單元408的具體描述可參見上述的第二接收單元304、第三接收單元305和確定單元306,在此不再贅述。提示單元409,用于當第一響應結果與第二響應結果不匹配時,生成提示信息。第一接收單元401還用于接收網絡應用接口發送的針對提示信息生成的第一http請求。在本實施例中,當第一驗證信息與第二驗證信息不匹配時,對匹配不成功的驗證信息進行分析生成提示信息,用戶根據提示信息修改測試參數生成第一http請求,向網絡應用接口發送第一http請求,從而利于提高測試的準確性。在圖6所描述的網絡應用接口的測試方法中,當接收到網絡應用接口發送的第一http請求后,選擇最優網絡帶寬的測試服務器作為目標測試服務器。通過測試服務器與域名之間的映射關系查找目標測試服務器的域名。將第一http請求中的域名修改為目標測試服務器的域名生成第二http請求。向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,保存第二響應結果。獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,判斷第一響應結果中是否有與第二驗證信息匹配的第一驗證信息,若是,確定第一響應結果與第二響應結果匹配,從而確定測試成功;若否,生成提示信息,接收網絡應用接口發送的針對提示信息生成的第一http請求。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,當驗證信息不匹配時,根據提示信息修改測試參數生成第一http請求,重新對網絡應用接口進行測試,從而提高了測試結果的準確性。請參閱圖7,圖7是本發明實施例提供的電子設備。其中,該網絡應用接口的測試方法適用于手機、平板電腦等基于socket協議的電子設備。如圖7所示,該電子設備可以包括殼體501、處理器502、存儲器503、電路板504和電源電路505,其中,電路板504安置在殼體圍成的空間內部,處理器502和存儲器503設置在電路板504上;電源電路505,用于為電子設備的各個電路或器件供電;存儲器503用于存儲可執行程序代碼;處理器502通過讀取存儲器503中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,以用于執行以下步驟:接收網絡應用接口發送的第一http請求;根據第一http請求生成第二http請求;向目標測試服務器發送第二http請求;接收由目標測試服務器發送的根據http協議獲取第二http請求對應的第二響應結果,并保存第二響應結果;接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果;當第一響應結果與第二響應結果匹配時,確定網絡應用接口測試成功。作為一種可能的實施方式,處理器502還用于執行以下操作:將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。作為一種可能的實施方式,在根據第一http請求生成第二http請求時,處理器502還用于執行以下操作:將第一http請求分為域名和非域名兩部分,根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求。作為一種可能的實施方式,在接收由網絡應用接口根據http協議獲取第一http請求對應的第一響應結果之后,處理器502還用于執行以下操作:在第二響應結果中查找第二驗證信息,第二驗證信息包括第二http請求對應的網絡地址;在第一響應結果中查找與第二驗證信息對應的第一驗證信息,當第一驗證信息與第二驗證信息匹配時,確定第一響應結果與第二響應結果匹配。作為一種可能的實施方式,處理器502還用于執行以下操作:當第一驗證信息與第二驗證信息不匹配時,生成提示信息;接收網絡應用接口發送的針對提示信息生成的第一http請求。作為一種可能的實施方式,在根據第一http請求中的非域名部分和目標測試服務器的域名生成第二http請求之前,處理器502還用于執行以下操作:當存在多個測試服務器時,在多個測試服務器中選擇最優網絡帶寬的測試服務器作為目標測試服務器;根據測試服務器與域名之間的映射關系查找目標測試服務器的域名。在圖7所描述的電子設備中,當接收到網絡應用接口發送的第一http請求后,將第一http請求中的域名修改為目標測試服務器的域名得到第二http請求。然后向目標測試服務器發送第二http請求,接收由目標測試服務器根據http協議獲取第二http請求對應的第二響應結果,保存第二響應結果,獲取網絡應用接口根據http協議獲取第一http請求對應的第一響應結果,當第一響應結果與第二響應結果匹配時,測試成功。同時運用socket協議和http協議,接收目標測試服務器返回的第二響應結果,確保基于http協議客戶端發出的請求和預期請求的返回結果一致,可保存目標測試服務器返回的第二響應結果,從而提高了測試結果的準確性。在一個實施例中提供了一種存儲介質,該存儲介質用于存儲應用程序,應用程序用于在運行時執行實施例一或實施例二的網絡應用接口的測試方法。在一個實施例中提供了一種應用程序,該應用程序用于在運行時執行實施例一或實施例二的網絡應用接口的測試方法。本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,該程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:閃存盤、只讀存儲器(read-onlymemory,rom)、隨機存取器(randomaccessmemory,ram)、磁盤或光盤等。以上對本發明實施例所提供的網絡應用接口的測試方法、裝置及電子設備進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上,本說明書內容不應理解為對本發明的限制。當前第1頁12
當前第1頁1 2 
網友詢問(wen)留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1