国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      接口測試方法、接口描述數(shù)據(jù)庫生成方法及裝置與流程

      文檔序號:11829419閱讀:213來源:國知局
      接口測試方法、接口描述數(shù)據(jù)庫生成方法及裝置與流程
      本申請涉及軟件測試
      技術(shù)領域
      ,尤其涉及一種接口測試方法、接口描述數(shù)據(jù)庫生成方法及裝置。
      背景技術(shù)
      :接口是指同一系統(tǒng)不同功能層之間的通信規(guī)則。在服務接口化(以服務的方式對外提供一個接口)盛行的當下,在端到端的接口系統(tǒng)中,保證前后端進行交互的接口的質(zhì)量和穩(wěn)定顯得尤為重要,而接口的質(zhì)量和穩(wěn)定性在接口開發(fā)過程中是通過接口測試來驗證的,這就對接口測試的驗證結(jié)果的準確性提出了較高的要求。在現(xiàn)有的接口測試中,由于同一服務系統(tǒng)中服務軟件的前端開發(fā)(這里泛指客戶端的開發(fā))和后端開發(fā)(這里泛指服務器端開發(fā))往往是并行的,因此,前端開發(fā)的接口的測試和對后端開發(fā)的接口的測試也是并行的。前后端接口測試工程師對各自開發(fā)的接口的測試是基于一份接口描述中提供標準的軟件功能以及參數(shù)、返回值等信息分別進行的,該接口描述是前端開發(fā)者和后端開發(fā)者之間進行交互操作的基礎,也構(gòu)建了雙方之間的一種基于契約的合作模式,雙方對契約理解的一致性是接口測試能夠準確高效進行的基礎。然而,由于接口提供的功能通常有適合的應用范圍和場景,例如參數(shù)的取值范圍、操作的調(diào)用順序等;對接口的測試也建立在對接口提供的功能的某些隱含假設之上,現(xiàn)有的接口描述中缺少足夠的信息,無法準確表達這些隱含的約束限制條件,因此,基于現(xiàn)有的接口描述進行接口測試,常常造成接口測試的測試結(jié)果的準確性較低。技術(shù)實現(xiàn)要素:本申請實施例提供一種接口測試方法、接口描述數(shù)據(jù)庫生成方法及裝置,用以解決基于現(xiàn)有的接口描述進行接口測試,造成的接口測試的測試結(jié)果的準確性較低的問題。一種接口測試方法,包括:生成針對待測試接口的請求數(shù)據(jù);將所述請求數(shù)據(jù)發(fā)送給所述待測試接口所在的服務器;接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);并從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述,所述接口描述數(shù)據(jù)庫中包括接口名稱及其對應的響應數(shù)據(jù)描述,所述響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集以及該響應字段集中的每一響應字段的字段值應滿足的約束條件;利用獲取的所述響應數(shù)據(jù)描述中的響應字段集及該響應字段集中的每一響應字段的字段值應滿足的約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。一種基于上述接口測試方法的接口描述數(shù)據(jù)庫生成方法,包括:根據(jù)待測試接口代碼,生成所述待測試接口的接口測試腳本;建立生成的所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,以及將該關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中,所述待測試接口代碼是根據(jù)所述請求數(shù)據(jù)生成的;并將生成針對待測試接口的請求數(shù)據(jù)作為該待測試接口的接口測試用例,建立該接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,以及將該關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中;并將接收的所述響應數(shù)據(jù)作為待測試接口的測試數(shù)據(jù),建立該接口測試數(shù)據(jù)與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,以及將該關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中;并根據(jù)所述驗證結(jié)果生成針對所述待測試接口的接口測試報告,建立該接口 測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,以及將該關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中,所述接口測試報告包括已驗證的待測試接口的請求數(shù)據(jù)、驗證結(jié)果、驗證結(jié)果狀態(tài)和驗證結(jié)果失敗原因分析中的一種或多種,所述驗證結(jié)果狀態(tài)包括成功和失敗。一種接口測試裝置,包括:請求數(shù)據(jù)生成單元,用于生成針對待測試接口的請求數(shù)據(jù);發(fā)送單元,用于將所述請求數(shù)據(jù)發(fā)送給所述待測試接口所在的服務器;接收單元,用于接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);獲取單元,用于從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述,所述接口描述數(shù)據(jù)庫中包括接口名稱及其對應的響應數(shù)據(jù)描述,所述響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集以及該響應字段集中的每一響應字段的字段值應滿足的約束條件;驗證單元,用于利用獲取的所述響應數(shù)據(jù)描述中的響應字段集及該響應字段集中的每一響應字段的字段值應滿足的約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。一種基于上述接口測試裝置的接口描述數(shù)據(jù)庫生成裝置,包括:第一關(guān)聯(lián)關(guān)系建立單元,用于根據(jù)待測試接口代碼,生成所述待測試接口的接口測試腳本;建立生成的所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,所述待測試接口代碼是根據(jù)所述請求數(shù)據(jù)生成的;第二關(guān)聯(lián)關(guān)系建立單元,用于將生成針對待測試接口的請求數(shù)據(jù)作為該待測試接口的接口測試用例,建立該接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系;第三關(guān)聯(lián)關(guān)系建立單元,用于將接收的所述響應數(shù)據(jù)作為待測試接口的測試數(shù)據(jù),建立該接口測試數(shù)據(jù)與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系;第四關(guān)聯(lián)關(guān)系建立單元,用于根據(jù)所述驗證結(jié)果生成針對所述待測試接口的接口測試報告,建立該接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān) 系,所述接口測試報告包括已驗證的待測試接口的請求數(shù)據(jù)、驗證結(jié)果、驗證結(jié)果狀態(tài)和驗證結(jié)果失敗原因分析中的一種或多種,所述驗證結(jié)果狀態(tài)包括成功和失??;存儲單元,用于將所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系、接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系、接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系和待測試接口的接口名稱的關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中。在本申請實施例中,接口描述數(shù)據(jù)庫中包括接口名稱及其對應的響應數(shù)據(jù)描述,該響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集以及該響應字段集中每一響應字段的字段值應滿足的約束條件;這就使得在進行接口測試時,可以從接口描述數(shù)據(jù)庫中獲取待測試接口的接口名稱對應的響應數(shù)據(jù)描述,進而利用該獲取的所述響應數(shù)據(jù)描述中的響應字段集及約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。由于本申請的接口描述數(shù)據(jù)庫中的響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集及約束條件,擴充了現(xiàn)有的接口描述的信息,并且使得準確表達隱含的約束限制條件成為可能,因此,提高了驗證結(jié)果的準確性,確保了順利通過接口測試后的接口的質(zhì)量相對較高且穩(wěn)定性相對較好。附圖說明圖1為本申請實施例一提供的接口測試方法示意圖;圖2為本申請實施例二提供的接口測試裝置的結(jié)構(gòu)示意圖;圖3為本申請實施例三提供的利用If-test接口測試平臺執(zhí)行接口測試的過程的示意圖;圖4為本申請實施例四提供的接口測試方法示意圖;圖5為本申請實施例四提供的接口測試方法在具體項目中運用示例示意圖;圖6為本申請實施例五提供的接口測試裝置的結(jié)構(gòu)示意圖;圖7為本申請實施例六提供的接口描述數(shù)據(jù)庫生成裝置的結(jié)構(gòu)示意圖。具體實施方式本申請實施例的接口測試方法是基于提出的包含接口的接口名稱對應的響應數(shù)據(jù)描述的接口描述數(shù)據(jù)庫的基礎上進行的,該響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集以及該響應字段集中每一響應字段的字段值應滿足的約束條件;這就使得在進行接口測試時,可以從接口描述數(shù)據(jù)庫中獲取待測試接口的接口名稱對應的響應數(shù)據(jù)描述,進而利用該獲取的所述響應數(shù)據(jù)描述中的響應字段集及約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。由于本申請的接口描述數(shù)據(jù)庫中的響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集及約束條件,擴充了現(xiàn)有的接口描述的信息,并且使得準確表達隱含的約束限制條件成為可能,因此,提高了驗證結(jié)果的準確性,確保了順利通過接口測試后的接口的質(zhì)量相對較高且穩(wěn)定性相對較好。以下結(jié)合說明書附圖對本申請的優(yōu)選實施例進行說明,應當理解,此處所描述的優(yōu)選實施例僅用于說明和解釋本申請,并不用于限定本申請。并且在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。實施例一如圖1所示,其為本申請實施例一的接口測試方法示意圖,這里的測試方法可以理解為模擬客戶端(例如,瀏覽器,移動端App中的Webview(iOS下稱UIWebview))對服務器端實際的接口進行測試,包括以下步驟:步驟101:生成針對待測試接口的請求數(shù)據(jù);具體的,所述請求數(shù)據(jù)中可包括:請求名、請求的url,請求類型(get/post),請求參數(shù)值(get參數(shù)值/post參數(shù)值)等中的多種數(shù)據(jù);例如:假設請求數(shù)據(jù)為http://example.com/demo.htm?searchNo=0,這這個 請求數(shù)據(jù)中的請求名為:demo,請求的url為http://example.com/demo,請求類型為get請求,請求參數(shù)為searchNo,該請求參數(shù)的值為0。本步驟101中的請求數(shù)據(jù)中的請求參數(shù)值可以是人為設置的,也可以是通過測試工具利用正確的請求數(shù)據(jù)應滿足的約束條件自動生成的。步驟102:將所述請求數(shù)據(jù)發(fā)送給所述待測試接口所在的服務器;本步驟102中,將請求數(shù)據(jù)發(fā)送給所述服務器后,所述服務器通過所述待測試接口接收所述請求數(shù)據(jù),根據(jù)所述請求數(shù)據(jù)中的請求參數(shù)值進行運算處理;并將處理結(jié)果也即響應數(shù)據(jù)返回給所述請求數(shù)據(jù)發(fā)送方。優(yōu)選地,步驟102具體可包括:根據(jù)所述請求數(shù)據(jù),生成所述待測試接口的接口測試代碼;通過運行生成的所述接口測試代碼實現(xiàn)將所述數(shù)據(jù)發(fā)送給所述待測試接口。需要說明的是,上述步驟101和步驟102中是構(gòu)造并模擬發(fā)送請求數(shù)據(jù)到待測試接口的過程;這里,根據(jù)生成的所述待測試接口測試代碼還可以生成所述待測試接口的接口測試腳本,這里的腳本是可執(zhí)行的腳本,可以在后續(xù)代碼的持續(xù)集成中使用。步驟103:接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);步驟104:從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述;所述接口描述數(shù)據(jù)庫可以存放在是系統(tǒng)數(shù)據(jù)庫里,也可以存放在代碼托管服務器上,便于前后端開發(fā)人員及測試人員共享;所述接口描述數(shù)據(jù)庫中包括接口名稱及其對應的響應數(shù)據(jù)描述,所述響應數(shù)據(jù)描述可包括:正確的響應數(shù)據(jù)應包括的響應字段集,以及該響應字段集中的每一響應字段的字段值應滿足的約束條件;所述響應字段集中的響應字段的個數(shù)可以是一個,也可以是多個,由軟件 開發(fā)者設計的具體的接口來決定;假設某一接口的正確的響應數(shù)據(jù)應包括的響應字段集中響應字段的個數(shù)為2個,分別為響應字段1和響應字段2,則此時,該接口的響應數(shù)據(jù)描述包括響應字段1、響應字段1的字段值應滿足的約束條件,以及響應字段2、響應字段2的字段值應滿足的約束條件;這里的響應字段可以理解為響應數(shù)據(jù)必須包括的字段;具體的,所述接口描述數(shù)據(jù)庫中的描述遵循/符合設定語法格式,以便于測試工具自動化執(zhí)行本發(fā)明實施例一中的接口測試方案,進一步的,該設定的語法格式是用于對輸出給接口的參數(shù)或接口輸出的參數(shù)所使用的語法格式進行驗證的語法格式,例如:假設輸出給接口的參數(shù)或接口輸出的參數(shù)的語法格式為JSON(JavaScriptObjectNotiation,基于JavaScript語言的輕量級的數(shù)據(jù)交換格式),則該設定的語法格式為JSONSchema(JSON框架);假設輸出給接口的參數(shù)或接口輸出的參數(shù)的語法格式為blueprint(藍本數(shù)據(jù)交換格式),則該設定的語法格式為blueprintSchema(blueprint框架)。步驟105:利用獲取的所述響應數(shù)據(jù)描述中的響應字段集及該響應字段集中的每一響應字段的字段值應滿足的約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。具體的,所述該設定語法格式可包含由關(guān)鍵詞及其對應的語義函數(shù)構(gòu)成的語義標簽,響應字段的字段值應滿足的約束條件由預設的關(guān)鍵詞及對應的約束條件函數(shù)構(gòu)成的語義標簽表示;這里的約束條件函數(shù)即為預設的關(guān)鍵詞對應的語義函數(shù);此外,所述接口描述數(shù)據(jù)庫中還可以包括所述設定語法格式的規(guī)范,以便利用該規(guī)范對接收的響應數(shù)據(jù)的語法格式是否符合該設定語法格式的規(guī)范進行驗證。需要說明的是,這里的語義標簽是本申請在遵守所述語法格式的基礎上,擴展出來的語義標簽,專門為本申請的約束條件的表達而擴展的。此時,步驟105的具體驗證過程可包括以下三個步驟:步驟a1:確定獲取的所述響應數(shù)據(jù)描述中的響應字段集中包括的各響應字段;步驟b1:針對確定的每一響應字段,根據(jù)所述預設的關(guān)鍵詞,從獲取的所述響應數(shù)據(jù)描述中確定該響應字段的字段值對應的約束條件函數(shù);步驟c1:判斷接收的所述響應數(shù)據(jù)中包含的全部字段構(gòu)成的集合是否與獲取的所述數(shù)據(jù)響應描述中的響應字段集構(gòu)成的集合相等,以及各響應字段的字段值是否均滿足對應的約束條件函數(shù);步驟d1:若接收的所述響應數(shù)據(jù)中包含的全部字段構(gòu)成的集合與獲取的所述數(shù)據(jù)響應描述中的響應字段集構(gòu)成的集合相等,且各響應字段的字段值均滿足對應的約束條件函數(shù),則確定驗證成功;反之,則確定驗證失敗。上述步驟c1和步驟d1,具體的執(zhí)行過程可以但并不局限于如下方式:針對每一響應字段,執(zhí)行以下操作:判斷接收的所述響應數(shù)據(jù)是否包含該響應字段以及該響應字段是否具有字段值;若包含該響應字段且具有字段值,則判斷該字段值是否滿足該響應字段的約束條件函數(shù);若所述響應數(shù)據(jù)中包含數(shù)據(jù)響應描述中的全部響應字段,數(shù)據(jù)響應描述中的全部響應字段均包含在所述響應數(shù)據(jù)中并且各響應字段的字段值均滿足對應的約束條件,則確定驗證成功;否則,確定驗證失敗。若接收的所述響應數(shù)據(jù)中不包含獲取的所述數(shù)據(jù)響應描述中的全部響應字段,或者包含獲取的所述數(shù)據(jù)響應描述中的部分響應字段,或者各響應字段的字段值不均滿足對應的約束條件函數(shù),則確定驗證失敗。下面對上述語義標簽進行說明,對于mockjs語義標簽,遵循IETFJSONSchemaDraft-04(IETF草案JSON模式)的規(guī)范(該規(guī)范定義了語法格式)的語義標簽及格式的兩個例子如下:例子1:該例子1描述是一個屬性值為字符串且取值為大于60小于100的自然數(shù)。其中,$schema,type為JSONSchema規(guī)范中的關(guān)鍵詞,http://my.site/myschema#為關(guān)鍵詞$schema的值,表明該自然數(shù)的描述信息遵循的規(guī)范所在的url;string為type的值,表示該自然數(shù)的數(shù)據(jù)類型為字符串型;"iftest":"@natural(60,100)",這一句描述,就是一個語義標簽,其中是由“關(guān)鍵詞”和“語義函數(shù)”構(gòu)成,即:"關(guān)鍵詞":"語義函數(shù)",iftest為關(guān)鍵詞,@natural(60,100)為語義函數(shù),@用于標識其后的字符串natural是方法函數(shù),該natural包括最小值和最大值兩個參數(shù),在例1中,最小值是60,最大值是100,這表明了自然數(shù)的取值范圍。預設的關(guān)鍵詞,是本申請自定義的關(guān)鍵詞,上述iftest關(guān)鍵詞是對現(xiàn)有JSONSchema規(guī)范中的關(guān)鍵詞的擴展,并非一定要使用iftest來表示本身請的預設的關(guān)鍵詞,也可以使用其他詞(當然,這里的其它詞是指JSONSchema規(guī)范中的關(guān)鍵詞之外的詞)來表示預設的關(guān)鍵詞。例子2:該例子2中,"iftest":"@host_tmall(\"^detail\")"這一句描述也為一個語義標簽。該例子2表示的是一個數(shù)據(jù)類型為字符串的uri(uniformresourceidentifier, 統(tǒng)一資源標識符),且該uri中包含關(guān)鍵詞為“detail”的線上天貓url(uniformresourelocator:統(tǒng)一資源定位器)的描述信息。下表(1)中羅列了基本的數(shù)據(jù)類型和提供的基本的方法函數(shù),需要說明的是類型并不局限于此,方法函數(shù)也可以不斷擴展:表(1)上述表(1)中的業(yè)務類型這一方法類型中包括的業(yè)務ID(bizNum)方法函數(shù)和無協(xié)議url(url_no_protocol)方法函數(shù)是根據(jù)實際業(yè)務擴展的,也即為本申請實施例中提供的方法函數(shù)可以不斷擴展,并且擴展的方法函數(shù)可以有更多的業(yè)務相關(guān)性,進而擁有更多的實際業(yè)務應用價值。例如:"iftest":"@bizNUm(3,5)",這一語義標簽描述的是一個業(yè)務id,長度是3位到5位;"iftest":"@url_no_protocol",這一語義標簽描述的是一個http請求,沒有協(xié)議頭,其余保持和url一樣,例如:在http請求為//www.tmall.com時就是校驗成功的,在http請求為http://www.tmall.com時就是校驗失敗的。由于上述步驟a1至步驟d1中的對接收的響應數(shù)據(jù)的正確性的驗證過程是 基于請求描述數(shù)據(jù)庫中各響應字段的語義標簽(由預設的關(guān)鍵詞以及對應的約束條件函數(shù)構(gòu)成)進行的,因此,上述驗證方式可以稱為語義化驗證。此外,在本申請實施例一的基礎上,考慮到接口的請求數(shù)據(jù)需要具有必填字段(或者必須包括的字段)的字段值符合一定的約束條件,若將該約束條件若在接口描述數(shù)據(jù)庫中進行描述,根據(jù)該這將有利于自動測試化工具利用該約束條件自動模擬生成用于測試的請求數(shù)據(jù),則將使得生成的請求數(shù)據(jù)能盡可能的覆蓋所有測試點,并且能提高用于測試的請求數(shù)據(jù)的質(zhì)量,也相應地確保了獲得的響應數(shù)據(jù)的可用性,就進一步提升測試結(jié)果的準確性,同時能快速有效地發(fā)現(xiàn)待測試接口存在的缺陷,下面通過實施例二對這一優(yōu)選方案進行說明。實施例二如圖2所示,其為本發(fā)明實施例二中的接口測試方法示意圖,該方法中所述接口描述數(shù)據(jù)庫中不僅包括接口名稱、接口名稱對應的響應數(shù)據(jù)描述,還包括接口名稱對應的請求類型和請求數(shù)據(jù)描述,所述請求數(shù)據(jù)描述包括正確的請求數(shù)據(jù)應包括的請求字段以及請求字段的字段值應滿足的約束條件;在此基礎上所述接口測試方法包括以下步驟:步驟201:從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應請求數(shù)據(jù)描述和請求類型;步驟202:根據(jù)獲取的所述請求數(shù)據(jù)描述中包含的各請求字段及每一請求字段的字段值應滿足的約束條件,生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù);由于請求數(shù)據(jù)描述包括正確的請求數(shù)據(jù)應包括的請求字段以及請求字段的字段值應滿足的約束條件,因此,在獲知獲取請求數(shù)據(jù)描述時,就可以獲知其包含的各請求字段及每一請求字段的字段值應滿足的約束條件,進而利用各請求字段及相應的約束條件,生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。優(yōu)選地,所述接口描述數(shù)據(jù)庫中的描述符合設定語法格式,該設定語法格式包含由關(guān)鍵詞及其對應的語義函數(shù)構(gòu)成的語義標簽,請求字段的字段值應滿足的約束條件由預設的關(guān)鍵詞及對應的約束條件函數(shù)構(gòu)成的語義標簽表示;此時,步驟202具體可包括以下步驟:步驟a2:根據(jù)所述預設的關(guān)鍵詞,從獲取的所述請求數(shù)據(jù)描述中確定每一請求字段的字段值對應的約束條件函數(shù);步驟b2:根據(jù)每一請求字段的字段值對應的約束條件函數(shù)生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。優(yōu)選地,所述步驟b2可包括:步驟b21:根據(jù)每一請求字段的字段值對應的約束條件函數(shù)生成請求參數(shù)值,該請求參數(shù)值為業(yè)務相關(guān)的參數(shù)值或者業(yè)務無關(guān)的參數(shù)值;步驟b22:利用各請求字段和相應的請求參數(shù)值生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。步驟203:將所述請求數(shù)據(jù)發(fā)送給所述待測試接口所在的服務器;步驟204:接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);步驟205:從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述;步驟206:利用獲取的所述響應數(shù)據(jù)描述中的響應字段集及該響應字段集中的每一響應字段的字段值應滿足的約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。上述步驟203至步驟206的具體實施過程與實施例一中的步驟102至步驟105的具體實施過程相同,這里不再贅述。實施本發(fā)明實施例一或者實施例二的方案的可以是一個測試裝置。下面通過實施例三中所示的一個具體的例子對本申請的具體實現(xiàn)過程進行詳細描述。實施例三本申請實施例三中以測試裝置為接口測試平臺,接口描述數(shù)據(jù)庫中描述遵循的預定的數(shù)據(jù)格式為JSON,測試環(huán)境為通過http協(xié)議通信的客戶服務器環(huán)境為例,通過圖3和一個具體的例子對本發(fā)明實施例二的方案進行詳細說明。圖3中的If-test(If為InterFace的縮寫)接口測試平臺包括:If-HttpTest模塊、If-Builder模塊和If-Validator模塊;其中:If-httptest模塊是用來真實模擬在特定上下文環(huán)境和業(yè)務場景情況下http請求數(shù)據(jù)的模塊,該http請求基于apachecommonshttpclient3.0.1。If-validator模塊是用來對接口返回的數(shù)據(jù)響應進行校驗的模塊,該模塊基于json-schema-validator開源框架,引入mockjs語義標簽,增加了自定義關(guān)鍵詞“iftest”,這里的自定義關(guān)鍵詞即為預設的關(guān)鍵詞,從而提供可擴展的語義化驗證方式;If-builder模塊是用來根據(jù)接口的請求數(shù)據(jù)描述自動化生成請求參數(shù)值的模塊;下面以對接口名稱為http://example.com/demo.htm的接口進行測試為例進行說明:假設接口描述數(shù)據(jù)庫中http://example.com/demo.htm對應的請求類型為get請求,請求數(shù)據(jù)描述和響應數(shù)據(jù)描述分別為以下內(nèi)容:1)請求數(shù)據(jù)描述:上述請求數(shù)據(jù)描述表示的含義為http://example.com/demo.htm這一接口名稱所表示的接口的請求數(shù)據(jù)中必填的參數(shù)為searchNo,這里的必填參數(shù)也即本發(fā)實施例二中的請求字段,該searchNo可稱為“搜索編號”,該搜索編號的數(shù)據(jù)類型為字符串型,取值范圍為于0小于5的自然數(shù);2)響應數(shù)據(jù)描述為:上述2)響應數(shù)據(jù)描述表達的含義是:包含核心的三個響應字段:itemId/detail/pic,這三個響應字段都是必須的,不能缺少,其次,itemId是一個11位的數(shù)字,detail需要像http://detail.tmall.com/item.htm?id=15179732651&q=iphoney”一樣,pic是個圖片鏈接,且圖片像素是:344x228。上述接口測試平臺進行接口測試的過程包括以下步驟:第一步:If-builder模塊獲取接口名稱為http://example.com/demo.htm的待測試接口的請求數(shù)據(jù)描述,如上述所給出的1)請求數(shù)據(jù)描述,該接口名稱也即為http的get請求;第二步:If-builder模塊根據(jù)獲取的上述1)請求數(shù)據(jù)描述,確定其中包含的請求字段為搜索編號searchNo,該請求字段也即為必填參數(shù)字段;上述1)請求數(shù)據(jù)描述中包含的必填參數(shù)字段使用required這一關(guān)鍵詞標示的,只有搜索編號一個字段;第三步:if-builder模塊根據(jù)iftest這一預設的關(guān)鍵字,從上述1)請求數(shù)據(jù)描述中searchNo的約束條件函數(shù)為@natural(0,5);第四步:if-builder模塊根據(jù)請求有一個必填參數(shù)為searchNo,并且searchNo的值只能為0到5的自然數(shù),生成的請求參數(shù)值為:0、5、不填參數(shù)、null、-1、6、xyz;如表(2)所示,當然也可以包括其他的值,這里生成的請求參數(shù)值是按類別確定的,理論上來說這些參數(shù)值就可以代表所有的參數(shù)值。表(2)第五步,if-builder模塊根據(jù)searchNo和根據(jù)各請求參數(shù)值實際生成的各接口請求數(shù)據(jù)如表(3)所示:表(3)case1http://example.com/demo?searchNo=0case2http://example.com/demo?searchNo=5case3http://example.com/democase4http://example.com/demo?searchNo=case5http://example.com/demo?searchNo=-1case6http://example.com/demo?searchNo=6case7http://example.com/demo?searchNo=xyz第六步:If-httptest模塊分別將各請求數(shù)據(jù)(case1至case6中的請求數(shù)據(jù))發(fā)送給所述待測試接口所在的被測系統(tǒng)服務端(SystemUnderTest,SUT),也即服務器;這里的If-httptest模塊發(fā)送請求數(shù)據(jù),為模擬發(fā)送。第七步:If-validator模塊接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);假設此時針對http://example.com/demo?searchNo=0這一請求數(shù)據(jù)的響應數(shù)據(jù)如下:3)響應數(shù)據(jù):上述3)響應數(shù)據(jù)表示的意思是返回的響應中包含itemId、detail、pic這三個響應字段,并且itemId字段的字段值為12323231451,detail字段的字段值為"http://detail.tmall.com/item.htm?id=15179732651&q=iphone",pic這一字段的字段值為:"http://g.ald.alicdn.com/bao/uploaded/TB1Y7t4FVXXXXc0XFXXtKXbFXXX.jpg"。第八步:If-validator模塊從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述,如上述2)響應數(shù)據(jù)描述。第九步:If-validator模塊確定獲取的所述響應數(shù)據(jù)描述中的響應字段集中的各響應字段分別為:itemId、detail和pic;第十步:If-validator模塊根據(jù)iftest這一預設的關(guān)鍵詞,從獲取的所述響應數(shù)據(jù)描述中確定itemId這一響應字段的字段值應滿足約束條件函數(shù)為@bizNum(11,11);detail這一響應字段的字段值應滿足的約束條件函數(shù)為@url('http://detail.tmall.com/item.htm?id=15179732651&q=iphone','all'),該約束條件表示的意思為該detail所在的url應包括服務器的名稱、在該服務器中的路徑、商品編號和查詢參數(shù),該約束條件中的'all'表示所有的協(xié)議名、域名、在該服務器中的路徑、商品編號和查詢參數(shù)均要與http://detail.tmall.com/item.htm?id=15179732651&q=iphone中的相匹配,針對本實施例三中的這一例子這里的相匹配是指相同;pic這一響應字段的字段值應 滿足約束條件函數(shù)為@img('344x228');第十一步:If-validator模塊利用第九步中的itemId和@bizNum(11,11)、detail和@url('http://detail.tmall.com/item.htm?id=15179732651&q=iphone','all')、pic和@img('344x228')對上述3)響應數(shù)據(jù)進行驗證,此時可知上述3)響應數(shù)據(jù)包括itemId、detail和pic這三個響應字段,并且各響應字段的字段值均符合相應的約束條件,因此,獲得的驗證結(jié)果為驗證成功。如果服務端返回如下情況1、情況2或情況3,那么驗證結(jié)果均為失?。呵闆r1:情況2:情況3:情況1中itemId不為11位數(shù),因此,驗證結(jié)果為驗證失??;情況2中detail中給出的服務器的地址為http://detail.taobao.com,而不是http://detail.tmall.com,因此,驗證結(jié)果為驗證失??;情況3中pic為Thisisapicture,這是一串字符串,而不是一個圖片鏈接,因此,驗證結(jié)果為驗證失敗;此外,在運行本發(fā)明實施例一至實施例三的接口測試方法的過程中或者運行之后,還可將各步驟的產(chǎn)出的數(shù)據(jù)也作為正在進行接口測試的該待測試接口的接口描述,圖3中接口描述數(shù)據(jù)庫的虛線框中的內(nèi)容即為個步驟產(chǎn)生的數(shù)據(jù),下面通過實施例四對這一方案進行說明。實施例四在實施例一至實施例三所述的接口測試方法的基礎上,所述接口測試方法還可包括以下步驟1至步驟4中的任一個或多個步驟:步驟1:將生成的針對待測試接口的請求數(shù)據(jù)作為該待測試接口的接口測試用例;建立該接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。步驟2:根據(jù)所述待測試接口代碼,生成所述待測試接口的接口測試腳本;建立生成的所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。步驟3:根據(jù)所述驗證結(jié)果生成針對所述待測試接口的接口測試報告,并建立該接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,所述接口測試報告包括已驗證的待測試接口的請求數(shù)據(jù)、驗證結(jié)果、驗證結(jié)果狀態(tài)和驗證結(jié)果失敗原因分析中的一種或多種,所述驗證結(jié)果狀態(tài)包括成功和失敗。步驟4:將接收的所述響應數(shù)據(jù)作為待測試接口的測試數(shù)據(jù);建立該接口測試數(shù)據(jù)與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。需要說明的是,上面以步驟1至步驟4的寫法是了方便表述,實際上各步驟之間并不分先后順序。上述步驟1至步驟4中每個步驟建立關(guān)聯(lián)關(guān)系之后添加存儲該關(guān)聯(lián)關(guān)系至接口描述數(shù)據(jù)庫的步驟時,還可以構(gòu)成在實施例一至實施例三中任一的接口測試方法基礎上的接口描述數(shù)據(jù)庫生成方法。上述步驟1至步驟4的過程可以如圖4所示,圖4中展示的是一個循環(huán),對某一接口A進行了測試之后,獲得了該接口A的完整的接口描述數(shù)據(jù)(包括接口A的接口請求數(shù)據(jù)描述、接口響應數(shù)據(jù)描述、接口測試數(shù)據(jù)、接口測試用例、接口測試腳本和接口測試報告),后續(xù)代碼持續(xù)集成(CodeContinuousIntegration)時針對該接口A進行測試時,還可以直接利用已獲得的該接口A的完整的接口描述數(shù)據(jù)。也就是說這里的循環(huán)指的是后續(xù)代碼的持續(xù)集成中該接口測試方法的循環(huán),這里的代碼的持續(xù)集成是是一種軟件開發(fā)實踐,當集成 了新的代碼或者修改了原有代碼后,自動化的進行驗證和回歸測試,保證集成后的質(zhì)量。通過本發(fā)明實施例四的方案,接口描述數(shù)據(jù)庫中原有請求數(shù)據(jù)描述和響應數(shù)據(jù)描述,在每一測試的接口描述在順利完成一次全面測試后,均可獲得該接口的包括接口測試用例、接口測試報告、接口測試數(shù)據(jù)和接口測試腳本,進一步豐富了接口的接口描述,并且由于這份待測試接口的接口描述還可以用在后續(xù)的該接口代碼的持續(xù)集中,因此激活了待測試接口的接口描述,使得接口描述具備精確性、可維護性、可測試性、可驗證性,從而使得項目組成員可以強依賴這份接口說明展開各自后續(xù)的工作,解決前后端研發(fā)各自脫離對方環(huán)境的高效測試,降低前后端溝通成本,提高聯(lián)調(diào)效率,并且可以高效的開發(fā)穩(wěn)定的自動化測試腳本保證接口全生命周期的質(zhì)量和穩(wěn)定,進而保證接口質(zhì)量乃至整個軟件系統(tǒng)和產(chǎn)品的質(zhì)量,提升研發(fā)效率,降低研發(fā)成本。下面對獲得的上述接口測試用例、接口測試報告、接口測試數(shù)據(jù)和接口測試腳本具體如何在接口持續(xù)集成中的使用進行說明:代碼的持續(xù)集成可分為前端代碼持續(xù)集成和后端代碼持續(xù)集成,而代碼持續(xù)集成的需要兩個要素,其一是可執(zhí)行的腳本,其二是任務調(diào)度系統(tǒng);每一個可執(zhí)行腳本好比一個可執(zhí)行的測試用例,測試用例中包括了:測試數(shù)據(jù)、預期結(jié)果(斷言驗證點)等,當腳本執(zhí)行后,就可以獲得這個用例所對應的測試報告;而任務調(diào)度系統(tǒng),目前業(yè)界主流的是hudson平臺,作用就是在特定條件下自動觸發(fā)腳本執(zhí)行,具體在此就不贅述。目前在此專利的場景中,裝置生成了后端代碼持續(xù)集成中所需要的可執(zhí)行腳本(junit測試腳本),把此腳本放到一個java的項目工程中,然后在hudson平臺上配置后,即可實現(xiàn)代碼持續(xù)回歸測試,然后通過測試報告來為用戶提供判斷代碼持續(xù)集成質(zhì)量的依據(jù);同樣此裝置中產(chǎn)生的接口測試數(shù)據(jù),為前端代碼持續(xù)集成提供了測試數(shù)據(jù),可用于前端代碼持續(xù)集成或者UI自動化回歸測試。圖5中給出本申請實施例的方案在具體項目中運用的示例:具體流程描述如下:第一步:前后端共同約定接口描述(這里主要包括接口請求描述和接口響應描述),通過某種方式(目前是第三方接口管理平臺)把接口描述記錄到接口描述數(shù)據(jù)庫中;第二步:測試介入對接口描述進行測試,并且根據(jù)實際情況增加語義標簽;上述對接口描述進行測試,其實就是軟件工程里所說的“靜態(tài)測試”。這里主要是測試接口描述的是否完善,是否妥當,是否符合最優(yōu)實踐,是否符合業(yè)務慣例和規(guī)范,是一個驗證的過程。第三步:前端、后端、測試完全解耦的并行工作和自測,測試通過If-Test平臺進行測試腳本開發(fā);第四步:通過穩(wěn)定的可用于持續(xù)集成的自動化測試腳本,可以及時的反饋當前接口的生命狀態(tài),并且通過模擬真實請求發(fā)送獲得的服務端真實的返回數(shù)據(jù),反哺于接口描述,為進一步拓展功能提供可能(例如:前端代碼的持續(xù)回歸)。實施例五基于與實施例一至實施例四的同一發(fā)明構(gòu)思,本申請實施例五提供一種接口測試裝置,其結(jié)構(gòu)示意圖如圖6所示,包括:請求數(shù)據(jù)生成單元61、發(fā)送單元62、接收單元63、獲取單元64和驗證單元65,其中:請求數(shù)據(jù)生成單元61,用于生成針對待測試接口的請求數(shù)據(jù);發(fā)送單元62,用于將所述請求數(shù)據(jù)發(fā)送給所述待測試接口所在的服務器;接收單元63,用于接收所述服務器返回的針對所述請求數(shù)據(jù)的響應數(shù)據(jù);獲取單元64,用于從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應的響應數(shù)據(jù)描述,所述接口描述數(shù)據(jù)庫中包括接口名稱及其對應的響應數(shù)據(jù)描述,所述響應數(shù)據(jù)描述包括正確的響應數(shù)據(jù)應包括的響應字段集以及該響應字段集中的每一響應字段的字段值應滿足的約束條件;驗證單元65,用于利用獲取的所述響應數(shù)據(jù)描述中的響應字段集及該響應字段集中的每一響應字段的字段值應滿足的約束條件對接收的所述響應數(shù)據(jù)進行驗證,獲得驗證結(jié)果。優(yōu)選地,所述接口描述數(shù)據(jù)庫中的描述符合設定語法格式,該設定語法格式包含由關(guān)鍵詞及其對應的語義函數(shù)構(gòu)成的語義標簽,響應字段的字段值應滿足的約束條件由預設的關(guān)鍵詞及其對應的約束條件函數(shù)構(gòu)成的語義標簽表示;所述驗證單元65,具體用于確定獲取的所述響應數(shù)據(jù)描述中的響應字段集中包括的各響應字段;針對確定的每一響應字段,根據(jù)所述預設的關(guān)鍵詞,從獲取的所述響應數(shù)據(jù)描述中確定該響應字段的字段值對應的約束條件函數(shù);判斷接收的所述響應數(shù)據(jù)中包含的全部字段構(gòu)成的集合是否與獲取的所述數(shù)據(jù)響應描述中的響應字段集構(gòu)成的集合相等,以及各響應字段的字段值是否均滿足對應的約束條件函數(shù);若接收的所述響應數(shù)據(jù)中包含的全部字段構(gòu)成的集合與獲取的所述數(shù)據(jù)響應描述中的響應字段集構(gòu)成的集合相等,且各響應字段的字段值均滿足對應的約束條件函數(shù),則確定驗證成功;反之,則確定驗證失敗。優(yōu)選地,所述接口描述數(shù)據(jù)庫中還包括接口名稱及其對應的請求類型和請求數(shù)據(jù)描述,所述請求數(shù)據(jù)描述包括正確的請求數(shù)據(jù)應包括的請求字段集以及該請求字段集中的每一請求字段應滿足的約束條件;所述請求數(shù)據(jù)生成單元61,具體用于從接口描述數(shù)據(jù)庫中獲取所述待測試接口的接口名稱對應請求數(shù)據(jù)描述和請求類型;根據(jù)獲取的所述請求數(shù)據(jù)描述中包含的各請求字段字段及每一請求字段的字段值應滿足的約束條件,生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。優(yōu)選地,所述接口描述數(shù)據(jù)庫中的描述符合設定語法格式,該設定語法格式包含由關(guān)鍵詞及其對應的語義函數(shù)構(gòu)成的語義標簽,請求字段的字段值應滿足的約束條件由預設的關(guān)鍵詞及對應的約束條件函數(shù)構(gòu)成的語義標簽表示;所述請求數(shù)據(jù)生成單元61,包括:約束條件函數(shù)獲取子單元和請求數(shù)據(jù)生成子單元;所述約束條件函數(shù)獲取子單元,用于根據(jù)所述預設的關(guān)鍵詞,從獲取的所述請求數(shù)據(jù)描述中確定每一請求字段的字段值對應的約束條件函數(shù);所述請求數(shù)據(jù)生成子單元,用于根據(jù)每一請求字段的字段值對應的約束條件函數(shù)生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。優(yōu)選地,所述請求數(shù)據(jù)生成子單元,具體用于根據(jù)每一請求字段的字段值對應的約束條件函數(shù)生成請求參數(shù)值,該請求參數(shù)值為業(yè)務相關(guān)的參數(shù)值或者業(yè)務無關(guān)的參數(shù)值;利用各請求字段和相應的請求參數(shù)值生成請求類型為獲取的所述請求類型的針對所述待測試接口的請求數(shù)據(jù)。優(yōu)選地,所述裝置還包括:第一關(guān)聯(lián)關(guān)系建立單元66,用于將生成的針對待測試接口的請求數(shù)據(jù)作為該待測試接口的接口測試用例;建立該接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。優(yōu)選地,所述發(fā)送單元62,具體用于根據(jù)所述請求數(shù)據(jù),生成所述待測試接口的接口測試代碼;通過運行生成的所述接口測試代碼實現(xiàn)將所述數(shù)據(jù)發(fā)送給所述待測試接口;優(yōu)選地,所述裝置還包括:第二關(guān)聯(lián)關(guān)系建立單元67,用于根據(jù)所述待測試接口代碼,生成所述待測試接口的接口測試腳本;建立生成的所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。優(yōu)選地,所述裝置還包括:第三關(guān)聯(lián)關(guān)系建立單元68,將接收的所述響應數(shù)據(jù)作為待測試接口的測試數(shù)據(jù);建立該接口測試數(shù)據(jù)與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系。優(yōu)選地,所述裝置還包括:第四關(guān)聯(lián)關(guān)系建立單元69,根據(jù)所述驗證結(jié)果生成針對所述待測試接口的接口測試報告,并建立該接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān) 系,所述接口測試報告包括已驗證的待測試接口的請求數(shù)據(jù)、驗證結(jié)果、驗證結(jié)果狀態(tài)和驗證結(jié)果失敗原因分析中的一種或多種,所述驗證結(jié)果狀態(tài)包括成功和失敗。本申請實施例五中各單元的具體實現(xiàn)過程可參考實施例一至實施例四中接口測試方法部分的描述,這里不再贅述。實施例六基于與實施例一至實施例四的同一發(fā)明構(gòu)思,本申請實施例六基于實施例五中的接口測試裝置提供一種接口描述數(shù)據(jù)庫生成裝置,其結(jié)構(gòu)示意圖如圖7所示,包括:第一關(guān)聯(lián)關(guān)系建立單元71、第二關(guān)聯(lián)關(guān)系建立單元72、第三關(guān)聯(lián)關(guān)系建立單元73、第四關(guān)聯(lián)關(guān)系建立單元74和存儲單元75;其中:第一關(guān)聯(lián)關(guān)系建立單元71,用于根據(jù)待測試接口代碼,生成所述待測試接口的接口測試腳本;建立生成的所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,所述待測試接口代碼是根據(jù)所述請求數(shù)據(jù)生成的;第二關(guān)聯(lián)關(guān)系建立單元72,用于將生成針對待測試接口的請求數(shù)據(jù)作為該待測試接口的接口測試用例,建立該接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系;第三關(guān)聯(lián)關(guān)系建立單元73,用于將接收的所述響應數(shù)據(jù)作為待測試接口的測試數(shù)據(jù),建立該接口測試數(shù)據(jù)與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系;第四關(guān)聯(lián)關(guān)系建立單元74,用于根據(jù)所述驗證結(jié)果生成針對所述待測試接口的接口測試報告,建立該接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系,所述接口測試報告包括已驗證的待測試接口的請求數(shù)據(jù)、驗證結(jié)果、驗證結(jié)果狀態(tài)和驗證結(jié)果失敗原因分析中的一種或多種,所述驗證結(jié)果狀態(tài)包括成功和失?。淮鎯卧?5,用于將所述待測試接口的接口測試腳本與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系、接口測試用例與所述待測試接口的接口名稱的關(guān)聯(lián)關(guān)系、 接口測試報告與該待測試接口的接口名稱的關(guān)聯(lián)關(guān)系和待測試接口的接口名稱的關(guān)聯(lián)關(guān)系存儲在接口描述數(shù)據(jù)庫中。本申請實施例六中各單元的具體實現(xiàn)過程可參考實施例一至實施例四中接口測試方法部分的描述,這里不再贅述。通過以上的實施方式的描述,本領域的技術(shù)人員可以清楚地了解到本發(fā)明實施例可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式實現(xiàn)。基于這樣的理解,本發(fā)明實施例的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM,U盤,移動硬盤等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。本領域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。本領域技術(shù)人員可以理解實施例中終端中的模塊可以按照實施例描述進行分布于實施例的終端中,也可以進行相應變化位于不同于本實施例的一個或多個終端中。上述實施例的模塊可以合并為一個模塊,也可以進一步拆分成多個子模塊。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。顯然,本領域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。當前第1頁1 2 3 
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1