一種協(xié)議錄制、回放方法及終端的制作方法
【專利摘要】本發(fā)明實施例公開了一種協(xié)議錄制、回放方法及終端,用于解決現(xiàn)有技術中在測試協(xié)議的過程中在重現(xiàn)測試場景時操作繁瑣的問題,通過對被測試協(xié)議處理以快速重現(xiàn)測試場景,從而有效提高測試效率。本發(fā)明實施例方法包括:獲取被測試協(xié)議對應的數(shù)據(jù)包;在所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作指令,其中,所述操作指令用于重現(xiàn)測試場景;按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中;將所述文件本地保存。
【專利說明】
-種協(xié)議錄制、回放方法及終端
技術領域
[0001] 本發(fā)明設及通信系統(tǒng)測試領域,具體設及一種協(xié)議錄制、回放方法及終端。
【背景技術】
[0002] 目前,通信系統(tǒng)的協(xié)議測試過程包括協(xié)議錄制和協(xié)議回放,其中,協(xié)議錄制過程包 括終端通過中轉服務器將執(zhí)行過的所有協(xié)議本地保存,協(xié)議回放過程包括終端將需要回放 的協(xié)議用例發(fā)送至中轉服務器,并通過中轉服務器將需要回放的協(xié)議用例發(fā)送至測試服務 器W驗證結果。
[0003] 但是,目前測試協(xié)議的過程中若需要重現(xiàn)測試場景時,則需要重新構建測試場景, 并添加測試條件,整個過程操作繁瑣,從而導致測試效率低。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例提供了一種協(xié)議錄制、回放方法及終端,用于解決現(xiàn)有技術中在測 試協(xié)議的過程中在重現(xiàn)測試場景時操作繁瑣的問題,通過對被測試協(xié)議處理W快速重現(xiàn)測 試場景,從而有效提高測試效率。
[0005] 本發(fā)明第一方面提供一種協(xié)議錄制方法,包括:
[0006] 獲取被測試協(xié)議對應的數(shù)據(jù)包;
[0007] 在所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作指令,其中,所述操作指令用于 重現(xiàn)測試場景;
[000引按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中;
[0009] 將所述文件本地保存。
[0010] 本發(fā)明第二方面提供一種協(xié)議回放方法,包括:
[0011] 接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測試;
[0012] 加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所述被測試 協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景;
[001引根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié)議中當前 待測試的協(xié)議。
[0014] 本發(fā)明第Ξ方面提供一種終端,包括:
[0015] 獲取模塊,用于獲取被測試協(xié)議對應的數(shù)據(jù)包;
[0016] 添加模塊,用于在所述獲取模塊獲取的所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的 操作指令,其中,所述操作指令用于重現(xiàn)測試場景;
[0017] 分類模塊,用于按照目標規(guī)則將所述添加模塊添加后的所述數(shù)據(jù)包分類至對應的 文件中;
[0018] 保存模塊,用于將所述分類模塊分類后的所述文件本地保存。
[0019]本發(fā)明第四方面提供一種終端,包括:
[0020]接收模塊,用于接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進 行測試;
[0021] 加載模塊,用于加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包 含所述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景;
[0022] 回放模塊,用于根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測 試協(xié)議中當前待測試的協(xié)議。
[0023] 可見,在獲取被測試協(xié)議對應的數(shù)據(jù)包后,在數(shù)據(jù)包中添加被測試協(xié)議對應的操 作指令,再將數(shù)據(jù)包按照目標規(guī)則分類保存,從而完成協(xié)議錄制的過程,由于將數(shù)據(jù)包分類 后再本地保存,則能夠快速區(qū)別不同的數(shù)據(jù)包;接收協(xié)議測試指令后,加載本地保存的被測 試協(xié)議對應的數(shù)據(jù)包,并根據(jù)所述操作指令回放目標協(xié)議,與現(xiàn)有技術不同的是,該數(shù)據(jù)包 中包含所述被測試協(xié)議對應的操作指令,則通過調(diào)用操作指令快速重現(xiàn)測試場景,操作簡 單,從而有效提高測試效率。
【附圖說明】
[0024] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于 本領域技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)運些附圖獲得其他的附 圖。
[0025] 圖1為本發(fā)明實施例中終端的一個結構示意圖;
[0026] 圖2為本發(fā)明實施例中協(xié)議錄制方法的一個實施例示意圖;
[0027] 圖3為本發(fā)明實施例中調(diào)用序列化函數(shù)的一個實施例示意圖;
[0028] 圖4為本發(fā)明實施例中協(xié)議錄制方法的一個應用場景示意圖;
[0029] 圖5為本發(fā)明實施例中協(xié)議回放的一個實施例示意圖;
[0030] 圖6為本發(fā)明實施例中協(xié)議回放的另一個實施例示意圖;
[0031 ]圖7為本發(fā)明實施例中協(xié)議回放的另一個實施例示意圖;
[0032] 圖8a為本發(fā)明實施例中協(xié)議用例管理界面的一個示意圖;
[0033] 圖8b為本發(fā)明實施例中協(xié)議回放結果演示的一個示意圖;
[0034] 圖8c為本發(fā)明實施例中執(zhí)行操作指令的一個流程示意圖;
[0035] 圖9為本發(fā)明實施例中終端的另一個結構示意圖;
[0036] 圖10為本發(fā)明實施例中終端的另一個結構示意圖;
[0037] 圖11為本發(fā)明實施例中終端的另一個結構示意圖;
[0038] 圖12為本發(fā)明實施例中終端的另一個結構示意圖;
[0039] 圖13為本發(fā)明實施例中終端的另一個結構示意圖。
【具體實施方式】
[0040] 本發(fā)明實施例提供了一種協(xié)議錄制、回放方法及終端,用于解決現(xiàn)有技術中在測 試協(xié)議的過程中在重現(xiàn)測試場景時操作繁瑣的問題,通過對被測試協(xié)議處理W快速重現(xiàn)測 試場景,從而有效提高測試效率。
[0041] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明保護的范圍。
[0042] 在介紹本發(fā)明實施例之前,先介紹一下本發(fā)明所設及的"術語":
[0043] 術語"協(xié)議錄制",是指將本次測試中獲取到的被測試協(xié)議對應的數(shù)據(jù)包按照規(guī)定 的格式保存在本地。
[0044] 術語"協(xié)議回放",是指將本地保存的數(shù)據(jù)包中的被測試協(xié)議按照規(guī)定的格式重新 發(fā)送至對應的服務器。
[0045] 術語"協(xié)議用例",是指將被測試協(xié)議對應的數(shù)據(jù)包分類至對應的文件后,W文件 形式保存,其中一個文件包括一條或者多條被測試協(xié)議。
[0046] 接下來介紹一些本發(fā)明所設及的終端,該終端可W包括電腦,手機,筆記本,個人 數(shù)字助理(英文全稱:Personal Digital Assistant,縮寫:PDA)、車載電腦等任意終端設 備,此處不做具體限定,下面W終端是手機為例:
[0047] 圖1示出的是與本發(fā)明實施例提供的終端相關的手機的部分結構的框圖。參考圖 1,手機包括:存儲器110、輸入單元120、顯示單元130、Wi-Fi模塊140、處理器150、W及電源 160等部件。本領域技術人員可W理解,圖1中示出的手機結構并不構成對手機的限定,可W 包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。
[0048] 下面結合圖1對手機的各個構成部件進行具體的介紹:
[0049] 存儲器110可用于存儲軟件程序W及模塊,處理器150通過運行存儲在存儲器110 的軟件程序W及模塊,從而執(zhí)行手機的各種功能應用W及數(shù)據(jù)處理。存儲器110可主要包括 存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應用程 序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)手機的使用所創(chuàng)建的 數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器110可W包括高速隨機存取存儲器,還可W 包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器 件。
[0050] 輸入單元120可用于接收輸入的數(shù)字或字符信息,W及產(chǎn)生與手機的用戶設置W 及功能控制有關的鍵信號輸入。具體地,輸入單元120可包括觸控面板121W及其他輸入設 備122。觸控面板121,也稱為觸摸屏,可收集用戶在其上或附近的觸摸操作(比如用戶使用 手指、觸筆等任何適合的物體或附件在觸控面板121上或在觸控面板121附近的操作),并根 據(jù)預先設定的程式驅動相應的連接裝置。可選的,觸控面板121可包括觸摸檢測裝置和觸摸 控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號, 將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉換成觸 點坐標,再送給處理器150,并能接收處理器150發(fā)來的命令并加 W執(zhí)行。此外,可W采用電 阻式、電容式、紅外線W及表面聲波等多種類型實現(xiàn)觸控面板121。除了觸控面板121,輸入 單元120還可W包括其他輸入設備122。具體地,其他輸入設備122可W包括但不限于物理鍵 盤、功能鍵(比如音量控制按鍵、開關按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
[0051] 顯示單元130可用于顯示由用戶輸入的信息或提供給用戶的信息W及手機的各種 菜單。顯示單元130可包括顯示面板131,可選的,可W采用液晶顯示器(英文全稱:Liquid Oystal Display,縮寫:LCD)、有機發(fā)光二極管(英文全稱:0rganic Light-Emitting Diode,縮寫:0LED)等形式來配置顯示面板131。進一步的,觸控面板121可覆蓋顯示面板 131,當觸控面板121檢測到在其上或附近的觸摸操作后,傳送給處理器150W確定觸摸事件 的類型,隨后處理器150根據(jù)觸摸事件的類型在顯示面板131上提供相應的視覺輸出。雖然 在圖1中,觸控面板121與顯示面板131是作為兩個獨立的部件來實現(xiàn)手機的輸入和輸入功 能,但是在某些實施例中,可W將觸控面板121與顯示面板131集成而實現(xiàn)手機的輸入和輸 出功能,例如收發(fā)器。
[0052] 手機通過Wi-Fi模塊140可W幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體 等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖1示出了Wi-Fi模塊140,但是可W理解 的是,其并不屬于手機的必須構成,完全可W根據(jù)需要在不改變發(fā)明的本質的范圍內(nèi)而省 略。
[0053] 處理器150是手機的控制中屯、,利用各種接口和線路連接整個手機的各個部分,通 過運行或執(zhí)行存儲在存儲器110內(nèi)的軟件程序和/或模塊,W及調(diào)用存儲在存儲器110內(nèi)的 數(shù)據(jù),執(zhí)行手機的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器150可包 括一個或多個處理單元;優(yōu)選的,處理器150可集成應用處理器和調(diào)制解調(diào)處理器,其中,應 用處理器主要處理操作系統(tǒng)、用戶界面和應用程序等,調(diào)制解調(diào)處理器主要處理無線通信。 可W理解的是,上述調(diào)制解調(diào)處理器也可W不集成到處理器150中。
[0054] 手機還包括給各個部件供電的電源160(比如電池),優(yōu)選的,電源可W通過電源管 理系統(tǒng)與處理器150邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、W及功耗管理 等功能。
[0055] 盡管未示出,手機還可W包括攝像頭、藍牙模塊、傳感器、音頻電路、射頻(英文全 稱:Radio化equency,縮寫:RF)電路110等,此處不再寶述。
[0056] 在本發(fā)明實施例中,該終端所包括的所述處理器150用于獲取被測試協(xié)議對應的 數(shù)據(jù)包;在所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作指令,其中,所述操作指令用于重 現(xiàn)測試場景;按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中;
[0057] 所述存儲器110用于將所述文件本地保存;
[0058] 所述輸入單元120用于接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試 協(xié)議進行測試;
[0059] 所述顯示單元130用于加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù) 包中包含所述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景;
[0060] 所述處理器150還用于根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所 述被測試協(xié)議中當前待測試的協(xié)議。
[0061] 在一些可能的實現(xiàn)方式中,所述處理器150具體用于獲取所述被測試協(xié)議的協(xié)議 類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個;
[0062] 將所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個確定為所述目 標規(guī)則的屬性;
[0063] 根據(jù)至少一個相同的所述屬性將所述數(shù)據(jù)包分類至對應的文件中。
[0064] 所述存儲器110具體用于通過調(diào)用序列化函數(shù)將所述文件處理成目標格式,并按 照所述目標格式將所述本件本地保存。
[0065] 在另一些可能的實現(xiàn)方式中,所述處理器150還用于根據(jù)所述操作指令回放目標 協(xié)議之前,獲取所述目標協(xié)議當前對應的應用賬號;判斷所述目標協(xié)議是否與所述應用賬 號匹配;若不匹配,通過調(diào)用所述操作指令更新所述目標協(xié)議w使得所述目標協(xié)議與所述 應用賬號匹配。
[0066] 在另一些可能的實現(xiàn)方式中,所述處理器150還用于根據(jù)所述操作指令回放目標 協(xié)議之后,通過調(diào)用所述操作指令判斷所述目標協(xié)議是否滿足預設要求;將所述判斷的結 果確定為所述目標協(xié)議的測試結果。
[0067] 在另一些可能的實現(xiàn)方式中,所述處理器150具體用于根據(jù)解釋器將所述操作指 令解析為程序語言的代碼并執(zhí)行所述代碼。
[0068] 上面介紹了本發(fā)明所設及的終端,在對終端所描述的基礎上,請參閱圖2,為本發(fā) 明實施例中協(xié)議錄制方法的一個實施例示意圖,具體流程如下:
[0069] 步驟201、獲取被測試協(xié)議對應的數(shù)據(jù)包。
[0070] 由于終端通信網(wǎng)絡是由許多具有信息交換和處理能力的節(jié)點互連而成的,要使整 個通信網(wǎng)絡有條不素地工作,就需要每個節(jié)點必須遵守一些事先約定好的有關數(shù)據(jù)格式及 時序等的規(guī)則。運些為實現(xiàn)網(wǎng)絡數(shù)據(jù)交換而建立的規(guī)則、約定或標準就稱為網(wǎng)絡協(xié)議,簡稱 協(xié)議。其中,協(xié)議的Ξ要素是:語法、語義、時序。語法是指數(shù)據(jù)與控制信息的結構或格式;語 義是指需要發(fā)出何種控制信息,完成何種動作W及做出何種響應;時序是指事件實現(xiàn)順序 的詳細說明。協(xié)議總是指某一層的協(xié)議。準確地說,它是在同等層之間的實體通信時,有關 通信規(guī)則和約定的集合就是該層協(xié)議,例如:物理層協(xié)議、傳輸層協(xié)議、應用層協(xié)議等。
[0071] 在本發(fā)明實施例中,開啟終端,進一步利用終端中的處理器獲取被測試協(xié)議對應 的數(shù)據(jù)包,其中,所述被測試協(xié)議可W覆蓋所有測試場景中的協(xié)議。所述被測試協(xié)議是終端 A和其他終端B必須共同遵從的約定,例如:約定如何建立通信連接、如何互相識別等,只有 遵守運個約定,終端A和其他終端B之間才能實現(xiàn)通信交流。
[0072] 步驟202、在所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作指令,其中,所述操作 指令用于重現(xiàn)測試場景。
[0073] 與現(xiàn)有技術不同的是,在數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作(英文全稱: 化erate,縮寫:0P)指令,其中,所述被測試協(xié)議可對應一個或者多個0P指令,后續(xù)通過調(diào)用 所述0P指令快速重現(xiàn)測試場景,操作簡單,有效提高了測試效率。
[0074] 其中,添加所述被測試協(xié)議對應的0P指令會在協(xié)議錄制時與被測試協(xié)議一起保存 到本地文件中。所述被測試協(xié)議對應的0P指令如下表一:
[0075]
[0076]
[0077] 表一
[0078] 需要說明的是,OP指令除上述表一里描述的內(nèi)容W外,還可W包括其他內(nèi)容,具體 可根據(jù)實際情況而定,此處不做具體限定。
[0079] 步驟203、按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中。
[0080] 在一些可能的實現(xiàn)方式中,所述按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中 包括:
[0081] 獲取所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個;
[0082] 將所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個確定為所述目 標規(guī)則的屬性;
[0083] 根據(jù)至少一個相同的所述屬性將所述數(shù)據(jù)包分類至對應的文件中。
[0084] 可見,通過目標規(guī)則將數(shù)據(jù)包分類,后續(xù)可根據(jù)目標規(guī)則很容易區(qū)別開不同的數(shù) 據(jù)包,也提高了協(xié)議測試的效率。其中,數(shù)據(jù)包中所包括的被測試協(xié)議有對應的應用程序, 每個應用程序有對應的應用賬號,因此,可通過目標規(guī)則進一步區(qū)別開不同的應用程序W 及應用程序對應的應用賬號。
[0085] 在實際應用中,W應用程序是游戲為例,對于不同的游戲,錄制的數(shù)據(jù)包怎么區(qū) 另IJ,則采取的措施為在協(xié)議錄制前,將每個游戲對應的被測試協(xié)議先進行分析,將游戲對應 的協(xié)議頭,協(xié)議元數(shù)據(jù)提取出來,并且將同一款游戲錄制的數(shù)據(jù)包保存在同一個文件中,從 而后續(xù)可W快速區(qū)別不同的游戲對應的數(shù)據(jù)包。
[0086] 需要說明的是,所述目標規(guī)則除了上述按照協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的 至少一個分類,還可W是其他規(guī)則,例如:終端默認或者用戶自定義的規(guī)則,此處不做具體 限定。
[0087] 步驟204、將所述文件本地保存。
[0088] 在一些可能的實現(xiàn)方式中,所述將所述文件本地保存包括:
[0089] 通過調(diào)用序列化函數(shù)將所述文件處理成目標格式,并按照所述目標格式將所述本 件本地保存。
[0090] 在實際應用中,目標格式可W是終端默認的格式或者用戶自定義的格式,此處不 做具體限定,例如:終端通過調(diào)用序列化函數(shù),將所述文件列化成化son格式,并按照化son 格式將所述文件本地保存。
[0091] 下面,舉例說明一下調(diào)用序列化(英文:Serialize)函數(shù)保存文件的具體流程:如 圖3所示,步驟301、單擊應用程序的菜單"File I Save"或者"File ISaveAs"時,應用程序開始 調(diào)用化SaveDocument函數(shù)詢問文件名;步驟302、調(diào)用GetFile函數(shù)獲取文件的CFile指針, 其中,CFile指針用于從一個路徑或文件句柄構造一個CArchive對象;步驟303、調(diào)用 DeleteContents函數(shù)清空文件類數(shù)據(jù)成員;步驟304、接著把CFile指針構造的CArchive對 象交給Serialize函數(shù)處理,調(diào)用Serialize函數(shù)完成讀文件,重建文件對象W及將文件列 化成目標格式的工作;步驟305、調(diào)用SetModifiedFlag(FALSE)函數(shù)將文件修改標志清除; 步驟306、按照化son格式完成文件本地保存。
[0092] 需要說明的是,所述序列化函數(shù)可W從本地獲取,也可W從第Ξ方獲取,例如:接 收第Ξ方發(fā)送的所述序列化函數(shù),并調(diào)用所述序列化函數(shù)將文件處理成對應的目標格式, 此處不做具體限定。
[0093] 在實際應用中,如圖4所示,開啟終端后,用戶可在任意時刻執(zhí)行協(xié)議錄制(保存數(shù) 據(jù)包)操作。例如:單擊開始-保存菜單或使用Ctrl+S快捷鍵彈出保存數(shù)據(jù)包的對話框,在協(xié) 議錄制時,一個文件被視作一個測試套件(英文:TestSuite),終端可在同一文件中保存多 個Test化se,例如:在da化/gml. tb運個文件中保存多個Test化se,例如:gml等,進一步,可 通過上行(英文全稱:啡)、下行(down)、已標記(onlymarked)等選項確定保存數(shù)據(jù)包的類 型。當up被選中,則保存上行數(shù)據(jù),當down被選中,則保存下行數(shù)據(jù)。當onlymarked被選中, 則默認up和down被自動選中,則僅保存當前已標記為待發(fā)送狀態(tài)的數(shù)據(jù),當確定所選擇的 數(shù)據(jù)類型和數(shù)據(jù)范圍后,可通過點擊"保存"完成保存文件,另外,還可W通過"取消"更改數(shù) 據(jù)類型和數(shù)據(jù)范圍,并重新保存文件。
[0094] 上面介紹了協(xié)議錄制的具體過程,請參閱圖5,本發(fā)明實施例中協(xié)議回放方法的一 個實施例示意圖,具體流程如下:
[0095] 步驟501、接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測 試。
[0096] 本發(fā)明實施例中,終端接收協(xié)議測試指令,其中,所述協(xié)議測試指令用于指示對被 測試協(xié)議進行測試,在實際應用中,終端提供用戶顯示界面,在用戶顯示界面上顯示用于用 戶輸入?yún)f(xié)議測試指令的操作選項,則用戶可通過點擊或者壓力觸控或者旋轉等方式觸發(fā)該 操作選項,從而使得終端接收該協(xié)議測試指令。當然,在實際應用中,終端還可W通過其他 方式接收協(xié)議測試指令,此處不作具體限定。
[0097] 步驟502、加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所 述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景。
[0098] 本發(fā)明實施例中,由于在協(xié)議錄制的時候,終端在所述被測試協(xié)議對應的數(shù)據(jù)包 中添加了所述被測試協(xié)議對應的操作指令并進行本地保存,因此,當終端加載本地保存的 被測試協(xié)議對應的數(shù)據(jù)包,則該數(shù)據(jù)包中包含所述被測試協(xié)議對應的操作指令,其中,所述 操作指令用于重現(xiàn)測試場景,操作簡單,有效提高了測試效率。
[0099] 步驟503、根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié) 議中當前待測試的協(xié)議。
[0100] 與現(xiàn)有技術不同的是,根據(jù)操作指令回放目標協(xié)議,其中,目標協(xié)議可對應一個或 者多個操作指令,通過調(diào)用該操作指令重現(xiàn)測試場景,可協(xié)助定位協(xié)議問題,有效提高測試 效率。
[0101] 在圖5所示實施例的基礎上,請參閱圖6,本發(fā)明實施例中協(xié)議回放的另一個實施 例示意圖,具體流程如下:
[0102] 步驟601、接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測 試。
[0103] 步驟602、加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所 述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景。
[0104] 在一些可能的實現(xiàn)方式中,所述操作指令包括保存指令、賦值指令、更新指令、跳 轉指令、斷言指令中的至少一個。當然,還可W包括上述表一里描述的操作指令,具體可根 據(jù)實際情況而定,此處不做具體限定。
[0105] 需要說明的是,步驟601和步驟602與圖5所示的步驟501和步驟502相同或相似,具 體可參閱步驟501和步驟502,此處不再寶述。
[0106] 步驟603、獲取所述目標協(xié)議當前對應的應用賬號。
[0107] 步驟604、判斷所述目標協(xié)議是否與所述應用賬號匹配,若否,執(zhí)行步驟605。
[0108] 由于在實際應用中,協(xié)議回放中,應用程序當前登陸的應用賬號可能已經(jīng)過期,或 者是另一個賬號登陸應用程序,導致協(xié)議頭不一致。因此,可先獲取所述目標協(xié)議當前對應 的應用賬號,并判斷所述目標協(xié)議是否與所述應用賬號匹配,當所述目標協(xié)議與所述應用 賬號不匹配時,可執(zhí)行步驟605。
[0109] 步驟605、通過調(diào)用所述操作指令更新所述目標協(xié)議W使得所述目標協(xié)議與所述 應用賬號匹配。
[0110] 在一些可能的實現(xiàn)方式中,所述調(diào)用所述操作指令包括:根據(jù)解釋器將所述操作 指令解析為程序語言的代碼并執(zhí)行所述代碼。
[0111] 在實際應用中,例如:當所述目標協(xié)議與所述應用賬號不匹配時,可W調(diào)用0P指令 (例如:MOV指令或者UPDATE指令)更新協(xié)議字段,具體過程為:利用解釋器將0P指令(MOV指 令或者UPDATE指令)解析為pyhton代碼,并執(zhí)行該pyhton代碼,從而使得所述目標協(xié)議與所 述應用賬號匹配。
[0112] 步驟606、根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié) 議中當前待測試的協(xié)議。
[0113] 與現(xiàn)有技術不同的是,根據(jù)操作指令回放目標協(xié)議,其中,目標協(xié)議可對應一個或 者多個操作指令,通過調(diào)用該操作指令重現(xiàn)測試場景,可協(xié)助定位協(xié)議問題,有效提高測試 效率。
[0114] 在圖5所示實施例的基礎上,請參閱圖7,本發(fā)明實施例中協(xié)議回放的另一個實施 例示意圖,具體流程如下:
[0115] 步驟701、接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測 試。
[0116] 步驟702、加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所 述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景。
[0117] 在一些可能的實現(xiàn)方式中,所述操作指令包括保存指令、賦值指令、更新指令、跳 轉指令、斷言指令中的至少一個。當然,還可W包括上述表一里描述的操作指令,具體可根 據(jù)實際情況而定,此處不做具體限定。
[0118] 步驟703、根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié) 議中當前待測試的協(xié)議。
[0119] 需要說明的是,步驟701至步驟703與圖5所示實施例中的步驟501至步驟503相同 或相似,具體可參閱步驟501至步驟503,此處不再寶述。
[0120] 步驟704、通過調(diào)用所述操作指令判斷所述目標協(xié)議是否滿足預設要求。
[0121] 在一些可能的實現(xiàn)方式中,所述調(diào)用所述操作指令包括:根據(jù)解釋器將所述操作 指令解析為程序語言的代碼并執(zhí)行所述代碼。
[0122] 步驟705、將所述判斷的結果確定為所述目標協(xié)議的測試結果。
[0123] 在實際應用中,當協(xié)議回放時,為了快速獲取測試結果,通過0P指令判斷所述目標 協(xié)議是否滿足預設要求,若滿足預設要求,則確定被測試協(xié)議不存在漏桐,若不滿足預設要 求,則確定被測試協(xié)議存在漏桐,進而后續(xù)修正被測試協(xié)議,其中,預設要求可W是終端默 認的或者用戶自定義的標準,此處不做具體限定。可見,在協(xié)議錄制時,添加被測試協(xié)議對 應的0P指令,在協(xié)議回放的時候,可調(diào)用0P指令快速重現(xiàn)測試場景,從而有效提高測試效 率。
[0124] 需要說明是,在一些可能的實現(xiàn)方式中,終端完全執(zhí)行圖6和圖7所示實施例的所 有內(nèi)容,具體可參閱圖6和圖7所示實施例中的內(nèi)容,此處不再寶述。
[0125] 在實際應用中,如圖8a所示,在回放協(xié)議時,通過用例管理界面來打開本地保存的 文件,例如:打開保存在終端E盤中的文件,打開后自動加載當前文件中的被測試協(xié)議,選中 被協(xié)議測試(例如:圖8a中所示的gml),其協(xié)議回放結果如下圖8b所示,在圖8b所示的界面 上,包括外部命令(英文全稱:separate,縮寫:seq)的數(shù)據(jù)量,數(shù)據(jù)類型(Direction),用戶 的身份信息(英文全稱:user 1扯〇^11日*1〇11,縮寫:化11),0?指令等,^0?指令為6乂陽口'_69為 例,用于指示期望數(shù)據(jù)包的某個字段與字符串相同,則通過調(diào)用EXPECT_EQ重現(xiàn)測試場景, 并實現(xiàn)數(shù)據(jù)包的某個字段與字符串相同。
[0126] 可見,協(xié)議回放的過程其實就是打開存在本地的文件,然后將加載文件中的被測 試協(xié)議,按原來的協(xié)議格式發(fā)送到服務器的過程。實踐表明,在協(xié)議回放過程中,會出現(xiàn)兩 個可能影響回放結果的問題:第一、協(xié)議回放中,應用程序當前登陸的應用賬號可能已經(jīng)過 期,或者是另一個賬號登陸應用程序,導致協(xié)議頭不一致;第二、協(xié)議回放W后,對回放結果 的確定。
[0127] 本發(fā)明采用了 0P指令很好地的解決了上述兩個問題,其中,0P指令是一種類似于 匯編指令和斷言指令結合的一種指令集。由于在協(xié)議錄制時添加0P指令,0P指令會在協(xié)議 錄制時與被測試協(xié)議一起保存到本地文件,因此,在協(xié)議回放時,終端利用協(xié)議工具解析并 執(zhí)行0P指令,從而完成協(xié)議測試自動化,如圖8c所示,為0P指令的工作流程:
[0128] 針對上述第一個問題,采取的解決方案為:由于在協(xié)議錄制時,針對被測試協(xié)議添 加了0P指令,例如:M0V指令或者UPDATE指令等,并注冊應用程序的應用賬號。在協(xié)議回放之 前,可W先判斷當前登陸的應用賬號和協(xié)議頭中的會話控制(Seesion)校驗字段是否一致, 當不一致時,可W調(diào)用MOV指令或者UPDATE指令更新協(xié)議字段,具體過程為:利用解釋器將 0P指令(MOV指令或者UPDATE指令)解析為pyhton代碼,并執(zhí)行該pyhton代碼,從而使得應用 賬號和協(xié)議頭中的會話控制(Seesion)校驗字段保持一致。
[0129] 針對上述第二個問題,采取的解決方案為:在協(xié)議錄制時,在期望協(xié)議中添加 EXPECT操作指令,當回放至當條協(xié)議時,可W通過EXPECT指令快速地獲取協(xié)議當前字段是 否符合預期,從而根據(jù)獲取的內(nèi)容快速判斷測試結果,有效提高測試效率。
[0130] 可見,與現(xiàn)有技術不同的是,若回歸某個測試場景時,無需重新構建測試場景,并 添加測試條件等繁瑣工作,可W快速的"回到"測試場景,極大的減輕了繁瑣的工作,同時還 可W協(xié)助定位被測試協(xié)議出現(xiàn)的問題。
[0131] 為便于更好的實施本發(fā)明實施例的上述相關方法,下面還提供用于配合上述方法 的相關裝置。
[0132] 請參閱圖9,本發(fā)明實施例中終端800的一個結構示意圖,所述終端800包括:獲取 模塊801,添加模塊802和分類模塊803 W及保存模塊804。
[0133] 獲取模塊801,用于獲取被測試協(xié)議對應的數(shù)據(jù)包;
[0134] 添加模塊802,用于在所述獲取模塊801獲取的所述數(shù)據(jù)包中添加所述被測試協(xié)議 對應的操作指令,其中,所述操作指令用于重現(xiàn)測試場景;
[0135] 分類模塊803,用于按照目標規(guī)則將所述添加模塊802添加后的所述數(shù)據(jù)包分類至 對應的文件中;
[0136] 在一些可能的實現(xiàn)方式中,所述分類模塊803具體用于獲取所述被測試協(xié)議的協(xié) 議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個;將所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié) 議內(nèi)容中的至少一個確定為所述目標規(guī)則的屬性;根據(jù)至少一個相同的所述屬性將所述數(shù) 據(jù)包分類至對應的文件中。
[0137] 保存模塊804,用于將所述分類模塊803分類后的所述文件本地保存。
[0138] 在一些可能的實現(xiàn)方式中,所述保存模塊804具體用于通過調(diào)用序列化函數(shù)將所 述文件處理成目標格式,并按照所述目標格式將所述本件本地保存。
[0139] 請參閱圖10,本發(fā)明實施例中終端900的一個結構示意圖,所述終端900包括:接收 模塊901,加載模塊902和回放模塊903。
[0140] 接收模塊901,用于接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議 進行測試;
[0141] 加載模塊902,用于加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包 中包含所述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景;
[0142] 回放模塊903,用于根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述 被測試協(xié)議中當前待測試的協(xié)議。
[0143] 在圖10所示實施例的基礎上,請參閱圖11,在一些可能的實現(xiàn)方式中,所述終端 900還包括:獲取模塊904,判斷模塊905和調(diào)用模塊906。
[0144] 獲取模塊904,用于所述回放模塊903根據(jù)所述操作指令回放目標協(xié)議之前,獲取 所述目標協(xié)議當前對應的應用賬號;
[0145] 判斷模塊905,用于判斷所述目標協(xié)議是否與所述應用賬號匹配;
[0146] 調(diào)用模塊906,用于若不匹配,通過調(diào)用所述操作指令更新所述目標協(xié)議W使得所 述目標協(xié)議與所述應用賬號匹配。
[0147] 其中,所述調(diào)用模塊906具體用于根據(jù)解釋器將所述操作指令解析為程序語言的 代碼并執(zhí)行所述代碼。
[0148] 在圖10所示實施例的基礎上,請參閱圖12,在另一些可能的實現(xiàn)方式中,所述終端 還包括:判斷模塊905和確定模塊907。
[0149] 判斷模塊905,用于所述回放模塊根據(jù)所述操作指令回放目標協(xié)議之后,通過調(diào)用 所述操作指令判斷所述目標協(xié)議是否滿足預設要求;
[0150] 確定模塊907,用于將所述判斷模塊判斷的結果確定為所述目標協(xié)議的測試結果。
[0151] 在圖11所示實施例的基礎上,請參閱圖13,在另一些可能的實現(xiàn)方式中,所述終端 還包括:確定模塊907。
[0152] 所述判斷模塊905,還用于所述回放模塊根據(jù)所述操作指令回放目標協(xié)議之后,通 過調(diào)用所述操作指令判斷所述目標協(xié)議是否滿足預設要求;
[0153] 確定模塊907,用于將所述判斷模塊判斷的結果確定為所述目標協(xié)議的測試結果。
[0154] 需要說明的是,上述模塊可W是軟件模塊,能夠在計算機系統(tǒng)的硬件中執(zhí)行,也可 W是特定的集成電路,并取得對應的技術效果,此處不做具體限定。另外,上述模塊執(zhí)行的 步驟可對應圖2至圖7所示實施例中的方法具體實現(xiàn),其具體實現(xiàn)過程可參考圖2至圖7所示 方法實施例中的相關描述,此處不再寶述,通過該終端執(zhí)行圖2至圖7所示實施例的方法,取 得該方法實施例所能取得的技術效果。
[0155] 綜上,在獲取被測試協(xié)議對應的數(shù)據(jù)包后,在數(shù)據(jù)包中添加被測試協(xié)議對應的操 作指令,再將數(shù)據(jù)包按照目標規(guī)則分類保存,從而完成協(xié)議錄制的過程,由于將數(shù)據(jù)包分類 后再本地保存,則能夠快速區(qū)別不同的數(shù)據(jù)包;接收協(xié)議測試指令后,加載本地保存的被測 試協(xié)議對應的數(shù)據(jù)包,并根據(jù)所述操作指令回放目標協(xié)議,與現(xiàn)有技術不同的是,該數(shù)據(jù)包 中包含所述被測試協(xié)議對應的操作指令,則通過調(diào)用操作指令快速重現(xiàn)測試場景,操作簡 單,從而有效提高測試效率。
[0156] 所屬領域的技術人員可W清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng), 裝置和單元的具體工作過程,可W參考前述方法實施例中的對應過程,在此不再寶述。
[0157] 在本申請所提供的幾個實施例中,應該理解到,所掲露的系統(tǒng),裝置和方法,可W 通過其它的方式實現(xiàn)。例如,W上所描述的裝置實施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可W有另外的劃分方式,例如多個單元或組件 可W結合或者可W集成到另一個系統(tǒng),或一些特征可W忽略,或不執(zhí)行。另一點,所顯示或 討論的相互之間的禪合或直接禪合或通信連接可W是通過一些接口,裝置或單元的間接禪 合或通信連接,可W是電性,機械或其它的形式。
[0158] 所述作為分離部件說明的單元可W是或者也可W不是物理上分開的,作為單元顯 示的部件可W是或者也可W不是物理單元,即可W位于一個地方,或者也可W分布到多個 網(wǎng)絡單元上。可w根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目 的。
[0159] 另外,在本發(fā)明各個實施例中的各功能單元可W集成在一個處理單元中,也可W 是各個單元單獨物理存在,也可W兩個或兩個W上單元集成在一個單元中。上述集成的單 元既可W采用硬件的形式實現(xiàn),也可W采用軟件功能單元的形式實現(xiàn)。
[0160] 所述集成的單元如果W軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用 時,可W存儲在一個計算機可讀取存儲介質中。基于運樣的理解,本發(fā)明的技術方案本質上 或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可軟件產(chǎn)品的形式 體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用W使得一臺計算機 設備(可W是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全 部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memo巧)、隨機存取存儲器(RAM,Random Access Memcxry)、磁碟或者光盤等各種可W存儲程 序代碼的介質。
[0161] W上所述,W上實施例僅用W說明本發(fā)明的技術方案,而非對其限制;盡管參照前 述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可W對前 述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而運些 修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【主權項】
1. 一種協(xié)議錄制方法,其特征在于,包括: 獲取被測試協(xié)議對應的數(shù)據(jù)包; 在所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作指令,其中,所述操作指令用于重現(xiàn) 測試場景; 按照目標規(guī)則將所述數(shù)據(jù)包分類至對應的文件中; 將所述文件本地保存。2. 根據(jù)權利要求1所述的方法,其特征在于,所述按照目標規(guī)則將所述數(shù)據(jù)包分類至對 應的文件中包括: 獲取所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個; 將所述被測試協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個確定為所述目標規(guī) 則的屬性; 根據(jù)至少一個相同的所述屬性將所述數(shù)據(jù)包分類至對應的文件中。3. 根據(jù)權利要求1或2所述的方法,其特征在于,所述將所述文件本地保存包括: 通過調(diào)用序列化函數(shù)將所述文件處理成目標格式,并按照所述目標格式將所述本件本 地保存。4. 一種協(xié)議回放方法,其特征在于,包括: 接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測試; 加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所述被測試協(xié)議 對應的操作指令,所述操作指令用于重現(xiàn)測試場景; 根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié)議中當前待測 試的協(xié)議。5. 根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)所述操作指令回放目標協(xié)議之 前,所述方法還包括: 獲取所述目標協(xié)議當前對應的應用賬號; 判斷所述目標協(xié)議是否與所述應用賬號匹配; 若不匹配,通過調(diào)用所述操作指令更新所述目標協(xié)議以使得所述目標協(xié)議與所述應用 賬號匹配。6. 根據(jù)權利要求4所述的方法,其特征在于,所述根據(jù)所述操作指令回放目標協(xié)議之 后,所述方法還包括: 通過調(diào)用所述操作指令判斷所述目標協(xié)議是否滿足預設要求; 將所述判斷的結果確定為所述目標協(xié)議的測試結果。7. 根據(jù)權利要求5或6所述的方法,其特征在于,所述調(diào)用所述操作指令包括: 根據(jù)解釋器將所述操作指令解析為程序語言的代碼并執(zhí)行所述代碼。8. 根據(jù)權利要求5或6所述的方法,其特征在于,所述操作指令包括保存指令、賦值指 令、更新指令、跳轉指令、斷言指令中的至少一個。9. 一種終端,其特征在于,包括: 獲取模塊,用于獲取被測試協(xié)議對應的數(shù)據(jù)包; 添加模塊,用于在所述獲取模塊獲取的所述數(shù)據(jù)包中添加所述被測試協(xié)議對應的操作 指令,其中,所述操作指令用于重現(xiàn)測試場景; 分類模塊,用于按照目標規(guī)則將所述添加模塊添加后的所述數(shù)據(jù)包分類至對應的文件 中; 保存模塊,用于將所述分類模塊分類后的所述文件本地保存。10. 根據(jù)權利要求9所述的終端,其特征在于,所述分類模塊具體用于獲取所述被測試 協(xié)議的協(xié)議類型,協(xié)議頭或者協(xié)議內(nèi)容中的至少一個;將所述被測試協(xié)議的協(xié)議類型,協(xié)議 頭或者協(xié)議內(nèi)容中的至少一個確定為所述目標規(guī)則的屬性;根據(jù)至少一個相同的所述屬性 將所述數(shù)據(jù)包分類至對應的文件中。11. 根據(jù)權利要求9或10所述的終端,其特征在于,所述保存模塊具體用于通過調(diào)用序 列化函數(shù)將所述文件處理成目標格式,并按照所述目標格式將所述本件本地保存。12. -種終端,其特征在于,包括: 接收模塊,用于接收協(xié)議測試指令,所述協(xié)議測試指令用于指示對被測試協(xié)議進行測 試; 加載模塊,用于加載本地保存的被測試協(xié)議對應的數(shù)據(jù)包,其中,所述數(shù)據(jù)包中包含所 述被測試協(xié)議對應的操作指令,所述操作指令用于重現(xiàn)測試場景; 回放模塊,用于根據(jù)所述操作指令回放目標協(xié)議,其中,所述目標協(xié)議為所述被測試協(xié) 議中當前待測試的協(xié)議。13. 根據(jù)權利要求12所述的終端,其特征在于,所述終端還包括: 獲取模塊,用于所述回放模塊根據(jù)所述操作指令回放目標協(xié)議之前,獲取所述目標協(xié) 議當前對應的應用賬號; 判斷模塊,用于判斷所述目標協(xié)議是否與所述應用賬號匹配; 調(diào)用模塊,用于若不匹配,通過調(diào)用所述操作指令更新所述目標協(xié)議以使得所述目標 協(xié)議與所述應用賬號匹配。14. 根據(jù)權利要求12所述的終端,其特征在于,所述終端還包括: 判斷模塊,用于所述回放模塊根據(jù)所述操作指令回放目標協(xié)議之后,通過調(diào)用所述操 作指令判斷所述目標協(xié)議是否滿足預設要求; 確定模塊,用于將所述判斷模塊判斷的結果確定為所述目標協(xié)議的測試結果。15. 根據(jù)權利要求13或14所述的終端,其特征在于,所述調(diào)用模塊具體用于根據(jù)解釋器 將所述操作指令解析為程序語言的代碼并執(zhí)行所述代碼。16. 根據(jù)權利要求13或14所述的終端,其特征在于,所述操作指令包括保存指令、賦值 指令、更新指令、跳轉指令、斷言指令中的至少一個。
【文檔編號】H04L12/26GK105871662SQ201610457278
【公開日】2016年8月17日
【申請日】2016年6月22日
【發(fā)明人】文驍, 文驍一, 邱廣, 何航, 何慶瑋
【申請人】騰訊科技(深圳)有限公司