国产精品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>

      移動(dòng)終端游戲自動(dòng)測試方法和裝置的制造方法

      文檔序號(hào):10512099閱讀:287來源:國知局
      移動(dòng)終端游戲自動(dòng)測試方法和裝置的制造方法
      【專利摘要】本發(fā)明提供一種移動(dòng)終端游戲自動(dòng)測試方法和裝置,一種移動(dòng)終端游戲自動(dòng)測試方法包括:測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息;所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。本發(fā)明提供的移動(dòng)終端游戲自動(dòng)測試方法,提高了對(duì)移動(dòng)終端游戲進(jìn)行自動(dòng)測試的精度,適用于對(duì)復(fù)雜游戲的測試。
      【專利說明】
      移動(dòng)終端游戲自動(dòng)測試方法和裝置
      技術(shù)領(lǐng)域
      [0001]本發(fā)明實(shí)施例涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端游戲自動(dòng)測試方法和
      目.0
      【背景技術(shù)】
      [0002]隨著移動(dòng)通信技術(shù)的發(fā)展,移動(dòng)終端已經(jīng)成為人們不可獲取的工具。人們不僅可以通過移動(dòng)終端進(jìn)行通信,還可以使用移動(dòng)終端上網(wǎng)、辦公、娛樂等。其中,由于移動(dòng)終端具有便攜性,移動(dòng)終端上的游戲可以隨時(shí)隨地游玩,因此移動(dòng)終端上的游戲已經(jīng)有取代傳統(tǒng)的PC端游戲的趨勢,成為人們休閑娛樂的首選。
      [0003]在移動(dòng)終端游戲的開發(fā)過程中,需要對(duì)移動(dòng)終端游戲進(jìn)行各方面的測試。測試分為人工測試和自動(dòng)測試兩種方式,由于人工測試效率不高,因此移動(dòng)終端游戲的開發(fā)商都致力于研究移動(dòng)終端游戲的自動(dòng)測試方法以提高測試效率。目前移動(dòng)終端游戲的自動(dòng)測試方法有幾種,一種是依靠操作系統(tǒng)的廠商官方工具提供的UI控件及腳本邏輯接口,編寫測試腳本調(diào)取接口獲取UI控件實(shí)現(xiàn)自動(dòng)測試;另一種是通過圖像匹配識(shí)別用戶界面(UserInterface,UI)控件位置,并通過調(diào)用控件所在坐標(biāo)接口的方式自行編寫測試用例腳本實(shí)現(xiàn)自動(dòng)測試;再有就是移動(dòng)終端調(diào)試工具包模擬人工方式對(duì)移動(dòng)終端界面進(jìn)行觸碰操作實(shí)現(xiàn)自動(dòng)測試。
      [0004]但是目前的上述幾種自動(dòng)測試方法中,依靠操作系統(tǒng)的廠商官方工具提供的UI控件編寫的測試用例僅能調(diào)取官方工具自帶的UI控件類型,而一般游戲都不是使用官方工具提供的UI控件開發(fā)的,因此這種方法應(yīng)用范圍有限;基于圖像匹配識(shí)別的自動(dòng)測試方法受限于圖像受干擾程度和識(shí)別準(zhǔn)確度的限制,存在測試失敗的情況,而且移動(dòng)終端游戲的開發(fā)中UI迭代頻率大,自動(dòng)測試用例需要隨著UI迭代更新維護(hù)匹配圖像,測試用例的維護(hù)成本較高;而基于圖像匹配識(shí)別的自動(dòng)測試方法和采用移動(dòng)終端調(diào)試工具包模擬人工方式對(duì)移動(dòng)終端界面進(jìn)行觸碰操作的方法,都是基于屏幕的坐標(biāo)信息實(shí)現(xiàn)自動(dòng)測試的,難以滿足邏輯較為復(fù)雜的游戲的自動(dòng)測試。
      [0005]綜上所述,對(duì)于移動(dòng)終端游戲的UI越來越豐富,游戲邏輯越來越復(fù)雜的發(fā)展趨勢而言,目前的游戲自動(dòng)測試方法已經(jīng)不能滿足自動(dòng)測試的需求,如何完成移動(dòng)終端設(shè)備游戲的自動(dòng)測試,是目前亟待解決的問題。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明實(shí)施例提供一種移動(dòng)終端游戲自動(dòng)測試方法和裝置,用于在進(jìn)行移動(dòng)終端游戲的自動(dòng)測試時(shí),提高對(duì)移動(dòng)終端上游戲進(jìn)行自動(dòng)測試的精度。
      [0007]本發(fā)明實(shí)施例提供一種移動(dòng)終端游戲自動(dòng)測試方法和裝置,包括:
      [0008]測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息;
      [0009]所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作;
      [0010]所述測試終端通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。
      [0011]本發(fā)明實(shí)施例還提供一種移動(dòng)終端游戲自動(dòng)測試裝置,包括:
      [0012]RPC調(diào)用模塊,用于通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息;
      [0013]測試執(zhí)行模塊,用于所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作;
      [0014]所述RPC調(diào)用模塊還用于通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。
      [0015]本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法和裝置中,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取游戲進(jìn)程UI控件代碼層的信息,并按照預(yù)設(shè)測試腳本,根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作,從而可以通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),完成對(duì)移動(dòng)終端上游戲的自動(dòng)測試,由于測試終端控制移動(dòng)終端在屏幕界面上進(jìn)行模擬操作的UI控件信息是通過RPC獲取的UI控件代碼層信息,因此本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法可以精確地對(duì)移動(dòng)終端進(jìn)行模擬觸碰操作,從而提高對(duì)移動(dòng)終端上游戲進(jìn)行自動(dòng)測試的精度,能夠適應(yīng)移動(dòng)終端上游戲UI越來越復(fù)雜的發(fā)展趨勢。
      【附圖說明】
      [0016]圖1為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例一的流程圖;
      [0017]圖2為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例二的流程圖;
      [0018]圖3為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例三的流程圖;
      [0019]圖4為本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法的系統(tǒng)拓?fù)浣Y(jié)構(gòu)示意圖;
      [0020]圖5為同步RPC調(diào)用的流程圖;
      [0021]圖6為異步RPC調(diào)用的流程圖;
      [0022]圖7為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置實(shí)施例一的結(jié)構(gòu)示意圖;
      [0023]圖8為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置實(shí)施例二的結(jié)構(gòu)示意圖。
      【具體實(shí)施方式】
      [0024]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0025]在對(duì)移動(dòng)終端上游戲進(jìn)行自動(dòng)測試時(shí),需要將移動(dòng)終端與一臺(tái)用于測試的測試終端連接,在測試終端上安裝與移動(dòng)終端相匹配的測試工具,并按照所需測試的游戲性能編寫相應(yīng)的測試用例,通過與移動(dòng)終端相匹配的測試工具完成測試用例中需要測試的各操作,并在測試終端上獲取移動(dòng)終端上游戲進(jìn)程運(yùn)行時(shí)的各種測試數(shù)據(jù)。
      [0026]目前在對(duì)移動(dòng)終端上游戲進(jìn)行自動(dòng)測試時(shí),測試用例是按照游戲當(dāng)前開發(fā)的UI編寫的,測試終端通過測試工具對(duì)游戲進(jìn)程進(jìn)行的操作也都是根據(jù)測試用例中描述的UI控件的位置,測試終端通過圖像匹配識(shí)別的方式識(shí)別游戲進(jìn)程中UI控件的位置,并對(duì)移動(dòng)終端的觸控屏幕進(jìn)行模擬觸碰操作。但是在游戲開發(fā)過程中,UI迭代頻率很大,為了保證游戲的新鮮度,在游戲的版本更新過程中,UI也會(huì)發(fā)生迭代更新。而一旦游戲的UI發(fā)生了變化,上述自動(dòng)測試方法中的測試用例則需要重新編寫,導(dǎo)致測試用例的維護(hù)成本很高,也影響開發(fā)進(jìn)度。
      [0027]為了解決對(duì)移動(dòng)終端上游戲的自動(dòng)測試中存在的問題,本發(fā)明實(shí)施例提供一種移動(dòng)終端游戲自動(dòng)測試方法、裝置和系統(tǒng),通過在移動(dòng)終端和測試終端之間建立連接,測試終端通過遠(yuǎn)程過程調(diào)用協(xié)議(Remote Procedure Call Protocol,RPC)獲取移動(dòng)終端上的游戲進(jìn)程的UI代碼層信息,并根據(jù)獲取到的UI代碼層信息對(duì)移動(dòng)終端的游戲進(jìn)程進(jìn)行操作,測試終端在此過程中獲取游戲進(jìn)程在運(yùn)行過程中的相關(guān)數(shù)據(jù),從而完成對(duì)移動(dòng)終端上游戲的測試。避免對(duì)測試用例的頻繁維護(hù)。
      [0028]在本發(fā)明實(shí)施例中,測試終端可以為臺(tái)式電腦、筆記本電腦等,移動(dòng)終端可以為手機(jī)、平板電腦等便攜式移動(dòng)終端。
      [0029]圖1為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例一的流程圖,如圖1所示,本實(shí)施例的方法包括:
      [0030]步驟SlOl,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取游戲進(jìn)程UI控件代碼層的信息。
      [0031]具體地,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法中,在測試終端和移動(dòng)終端之間建立一個(gè)用于進(jìn)行RPC調(diào)用的連接,測試終端可以通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,通過該UI接口,測試終端可以獲取游戲進(jìn)程UI控件代碼層的信息。通過UI代碼層的信息確定UI控件的位置相比于通過圖像匹配的方式確定UI控件的位置更加準(zhǔn)確和穩(wěn)定。
      [0032]該游戲進(jìn)程UI控件代碼層的信息例如是游戲進(jìn)程的UI控件的位置、大小、類型、控件標(biāo)識(shí)、名稱、所屬界面等信息。
      [0033]步驟S102,測試終端按照預(yù)設(shè)測試移動(dòng)終端游戲自動(dòng)測試方法中腳本,根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。
      [0034]具體地,在測試終端中,需要事先編寫好對(duì)移動(dòng)終端上游戲的自動(dòng)測試用例腳本,測試終端在獲取到游戲進(jìn)程UI代碼層信息后,即可根據(jù)自動(dòng)測試用例腳本中描述的各項(xiàng)操作,控制移動(dòng)終端在屏幕界面上進(jìn)行模擬觸碰操作,從而實(shí)現(xiàn)對(duì)移動(dòng)終端上游戲的自動(dòng)測試。該模擬觸碰操作例如可以是點(diǎn)擊、拖曳、圖像截屏等操作。
      [0035]由于通過UI代碼層的信息確定的UI控件的位置相比于通過圖像匹配的方式確定的UI控件的位置更加準(zhǔn)確和穩(wěn)定,因此通過UI代碼層的信息控制移動(dòng)終端在屏幕界面上進(jìn)行模擬觸碰操作也更加準(zhǔn)確。在移動(dòng)終端游戲畫面越來越豐富的情況下,通過上述方法將能夠完成對(duì)移動(dòng)終端上游戲的更精確測試。
      [0036]步驟S103,測試終端通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。
      [0037]具體地,在測試終端控制移動(dòng)終端在屏幕上進(jìn)行模擬觸碰操作后,移動(dòng)終端上的游戲進(jìn)程將進(jìn)行相應(yīng)的反應(yīng),此時(shí),測試終端可以在測試終端和移動(dòng)終端之間用于進(jìn)行RPC調(diào)用的連接上,通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的相應(yīng)測試數(shù)據(jù)。
      [0038]在實(shí)施通過RPC獲取游戲進(jìn)程UI控件代碼層的信息,并依次執(zhí)行測試終端中預(yù)設(shè)的自動(dòng)測試方法中腳本的步驟后,測試終端通過RPC獲取的所有測試數(shù)據(jù)即為本次自動(dòng)測試的測試結(jié)果。通過分析這些測試數(shù)據(jù)即可得到移動(dòng)終端上游戲的性能。
      [0039]本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法中,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取游戲進(jìn)程UI控件代碼層的信息,并按照預(yù)設(shè)測試腳本,根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作,從而可以通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),完成對(duì)移動(dòng)終端上游戲的自動(dòng)測試,由于測試終端控制移動(dòng)終端在屏幕界面上進(jìn)行模擬操作的UI控件信息是通過RPC獲取的UI控件代碼層信息,因此本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法可以精確地對(duì)移動(dòng)終端進(jìn)行模擬觸碰操作,從而提高對(duì)移動(dòng)終端上游戲進(jìn)行自動(dòng)測試的精度,能夠適應(yīng)移動(dòng)終端上游戲UI越來越復(fù)雜的發(fā)展趨勢。
      [0040]圖2為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例二的流程圖,如圖2所示,本實(shí)施例的方法包括:
      [0041]步驟S201,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取游戲進(jìn)程UI控件代碼層的信息;所述測試終端按照預(yù)設(shè)測試移動(dòng)終端游戲自動(dòng)測試方法中腳本,根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。
      [0042]步驟S202,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制游戲進(jìn)程執(zhí)行測試腳本中的測試邏輯指令。
      [0043]步驟S203,測試終端通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。
      [0044]在圖1所示實(shí)施例中,測試終端可以通過RPC調(diào)用,獲取移動(dòng)終端上游戲進(jìn)程UI控件代碼層的信息,并通過模擬觸碰操作的方式對(duì)游戲進(jìn)程進(jìn)行控制。但這種方式僅能模擬用戶在移動(dòng)終端上對(duì)游戲的操作,對(duì)游戲進(jìn)程進(jìn)行簡單測試。而移動(dòng)終端上的游戲內(nèi)容越來越豐富,游戲的操作越來越復(fù)雜,僅依靠模擬觸碰操作的方式可能無法對(duì)游戲進(jìn)行全面的測試。例如在三維(3Dimens1ns,3d)即時(shí)戰(zhàn)斗游戲中,需要控制游戲中的角色進(jìn)入副本關(guān)卡,再移動(dòng)到有怪物的地方,然后通過點(diǎn)擊屏幕來控制游戲中的角色進(jìn)行戰(zhàn)斗。對(duì)這樣復(fù)雜的測試而言,僅通通過模擬觸碰方式在移動(dòng)終端的屏幕界面上進(jìn)行操作是難以完成的。
      [0045]因此,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法在圖1所示實(shí)施例的基礎(chǔ)上,進(jìn)一步地,測試終端還可以通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,通過該調(diào)試接口向游戲進(jìn)程發(fā)送測試邏輯指令,使游戲進(jìn)程完成相應(yīng)的邏輯處理。其中,測試終端是向游戲進(jìn)程發(fā)送的測試邏輯指令是測試終端中的測試腳本中預(yù)設(shè)好的。通過游戲進(jìn)程的調(diào)試接口,可以直接對(duì)游戲進(jìn)程進(jìn)行邏輯控制,使游戲進(jìn)程完成一些很難通過觸碰操作完成的功能,或者是無法通過觸碰操作完成的功能。這樣就可以豐富對(duì)游戲進(jìn)行自動(dòng)測試的測試內(nèi)容,能夠完成對(duì)多重度游戲復(fù)雜的自動(dòng)測試需求。
      [0046]具體而言,在不同的游戲類型中,測試終端控制游戲進(jìn)程執(zhí)行的測試邏輯指令,可以為不同內(nèi)容。例如在角色扮演類游戲中,測試終端可以通過調(diào)用游戲調(diào)試接口調(diào)用修改游戲內(nèi)主角的各種屬性,包括等級(jí)、經(jīng)驗(yàn)值、金錢等;在闖關(guān)類游戲中,測試終端可以通過調(diào)用游戲調(diào)試接口調(diào)用開啟任意條件類型的戰(zhàn)斗關(guān)卡、在關(guān)卡內(nèi)創(chuàng)建所需怪物類型的怪物等。再結(jié)合圖1所示實(shí)施例中所示的通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取游戲進(jìn)程UI控件代碼層的信息,并根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。從而可以在通過測試邏輯指令調(diào)用修改后的游戲進(jìn)程中完成模擬用戶觸碰操作的測試。
      [0047]而目前針對(duì)移動(dòng)終端游戲的各種自動(dòng)測試方案中,僅能基于屏幕的坐標(biāo)信息實(shí)現(xiàn)模擬觸碰操作完成自動(dòng)測試。對(duì)于一些復(fù)雜的測試需求,例如測試游戲中角色與特定怪物的對(duì)戰(zhàn)結(jié)果,目前基于屏幕坐標(biāo)信息模擬觸碰操作的自動(dòng)測試方案需要控制游戲中角色耗費(fèi)較長時(shí)間在游戲中尋找特定怪物,才能完成該測試,而一般對(duì)于這種對(duì)戰(zhàn)結(jié)果的測試需要重復(fù)執(zhí)行多次,那么基于屏幕坐標(biāo)信息模擬觸碰操作的自動(dòng)測試方案需要耗費(fèi)較多時(shí)間在尋找特定怪物上,測試效率很低。而通過調(diào)試接口向游戲進(jìn)程發(fā)送測試邏輯指令,可以在游戲進(jìn)程中主動(dòng)創(chuàng)建所需的特定怪物,從僅需通過模擬觸碰操作控制游戲中角色與該創(chuàng)建的特定怪物對(duì)戰(zhàn),即可得到對(duì)戰(zhàn)結(jié)果。根據(jù)測試需求重復(fù)多次創(chuàng)建該特定怪物,那么僅需重復(fù)控制游戲角色與該特定怪物對(duì)戰(zhàn)即可完成對(duì)該對(duì)戰(zhàn)結(jié)果的測試,這將能夠節(jié)約尋找特定怪物的時(shí)間,大大提高了測試效率。
      [0048]為了實(shí)現(xiàn)圖1或圖2所示實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法,在測試終端和移動(dòng)終端之間需要建立相應(yīng)的連接。由于測試終端要通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口以及獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),或者通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口。因此在測試終端和移動(dòng)終端之間,需要建立一個(gè)支持RPC的連接。另外,測試終端還需要根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作,而通過RPC是無法完成控制移動(dòng)終端進(jìn)行模擬觸碰操作的,那么就還需要在測試終端和移動(dòng)終端之間建立支持控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作的連接。
      [0049]在本發(fā)明實(shí)施例中,在測試終端和移動(dòng)終端之間建立兩個(gè)連接,分別是傳輸控制協(xié)議(Transmiss1n Control Protocol,TCP)連接和有線數(shù)據(jù)連接。其中由于在測試過程中,測試終端和移動(dòng)終端之間需要通過RPC頻繁交互數(shù)據(jù),因此需要測試終端和移動(dòng)終端之間的連接可靠。而TCP連接在建立后,可以一直保持連接狀態(tài),在測試過程中通過TCP連接傳輸數(shù)據(jù)可以保證數(shù)據(jù)不丟失。因此在本實(shí)施例中,測試終端和移動(dòng)終端之間的RPC調(diào)用都可以在TCP連接上進(jìn)行。
      [0050]而在測試終端和移動(dòng)終端之間建立有線數(shù)據(jù)連接是由于目前的移動(dòng)終端操作系統(tǒng)開發(fā)商都提供了相應(yīng)的調(diào)試工具包,例如蘋果公司的1s系統(tǒng)采用開源工具appium,谷歌公司的Android系統(tǒng)采用官方工具adb。測試終端可以通過測試終端和移動(dòng)終端之間的有線數(shù)據(jù)連接對(duì)移動(dòng)終端的屏幕界面進(jìn)行模擬觸碰操作。一般地,該有線數(shù)據(jù)連接為通用串行數(shù)據(jù)總線(Universal Serial Bus,USB)連接,本發(fā)明下述各實(shí)施例中也以有線數(shù)據(jù)連接為USB連接為例進(jìn)行說明。因此在測試終端和移動(dòng)終端之間建立有線數(shù)據(jù)連接后,并在測試終端上安裝與移動(dòng)終端的操作系統(tǒng)相對(duì)應(yīng)的調(diào)試工具包,測試終端即可實(shí)現(xiàn)根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。需要說明的是,測試終端上進(jìn)行自動(dòng)測試所使用的測試腳本也需要根據(jù)移動(dòng)終端操作系統(tǒng)對(duì)應(yīng)的調(diào)試工具包編寫。
      [0051]再考慮到TCP連接是基于固定IP的連接,而測試終端和移動(dòng)終端的IP地址是通過其連接的路由器獲取的。但在通過TCP連接進(jìn)行RPC調(diào)用時(shí),需要測試終端和移動(dòng)終端都具有固定的IP地址,因此在建立測試終端和移動(dòng)終端之間的TCP連接時(shí),需要在另一臺(tái)固定IP地址的服務(wù)器上搭建一個(gè)TCP網(wǎng)絡(luò)服務(wù)器模塊。測試終端和移動(dòng)終端上均配置有TCP網(wǎng)絡(luò)客戶端模塊,這樣測試終端和移動(dòng)終端即可通過服務(wù)器上的TCP網(wǎng)絡(luò)服務(wù)器模塊實(shí)現(xiàn)TCP連接。固IP地址的TCP網(wǎng)絡(luò)服務(wù)器管理測試終端和移動(dòng)終端的網(wǎng)絡(luò)連接,管理雙方的通信,并完成對(duì)雙方通信網(wǎng)絡(luò)包的轉(zhuǎn)發(fā)。
      [0052]在圖1或圖2所示實(shí)施例中,測試終端在控制移動(dòng)終端上的游戲進(jìn)程執(zhí)行了相應(yīng)操作后,將通過RPC獲取游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。而這個(gè)測試數(shù)據(jù)可以包括:游戲進(jìn)程在運(yùn)行過程中的性能參數(shù)以及游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息。
      [0053]其中,游戲進(jìn)程在運(yùn)行過程中的性能參數(shù)包括:游戲進(jìn)程在運(yùn)行過程中的幀率、內(nèi)存占用、游戲渲染面片數(shù)、游戲渲染貼圖數(shù)、三角面片數(shù)。在測試終端的測試腳本中,可以設(shè)置一些判斷條件,可根據(jù)獲取到的性能參數(shù)確定下一步所執(zhí)行的操作。同時(shí),該性能參數(shù)也同時(shí)保存至內(nèi)存中,當(dāng)測試腳本執(zhí)行完畢,測試終端將獲取到的性能參數(shù)保存至后臺(tái)數(shù)據(jù)庫,以便測試人員在前臺(tái)查看相關(guān)測試結(jié)果。
      [0054]游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息,包括:游戲進(jìn)程在運(yùn)行過程中的備份信息和/或游戲進(jìn)程在運(yùn)行過程中的截圖。游戲進(jìn)程在運(yùn)行過程中產(chǎn)生的備份(dump)信息也可以通過RPC發(fā)送給測試終端,測試終端將該備份信息保存至內(nèi)存中,備份信息是測試的重要參考數(shù)據(jù)。當(dāng)測試腳本執(zhí)行完畢,測試終端將獲取到的備份信息保存至后臺(tái)數(shù)據(jù)庫,以便測試人員在前臺(tái)查看相關(guān)測試結(jié)果。測試過程中測試終端通過移動(dòng)終端屏幕操作工具提供的調(diào)用接口可獲取移動(dòng)終端的屏幕截圖,測試終端可以將獲取到的屏幕截圖保存到測試中斷本地存儲(chǔ)器。當(dāng)測試腳本執(zhí)行完畢,測試終端將獲取到的屏幕截圖保存至后臺(tái)數(shù)據(jù)庫,以便測試人員在前臺(tái)查看相關(guān)測試結(jié)果。
      [0055]也就是說,在測試腳本執(zhí)行完畢后,測試中斷可以將在測試過程中收集到的測試數(shù)據(jù),包括性能參數(shù)、備份信息、屏幕截圖等均保存至后臺(tái)數(shù)據(jù)庫,那么測試人員可以通前臺(tái)查看這些測試結(jié)果,從而確定游戲進(jìn)程測試的結(jié)果。測試終端可以通過超文本傳輸協(xié)議(HyperText Transfer Protocol,HTTP)請(qǐng)求將測試數(shù)據(jù)發(fā)送至萬維網(wǎng)(web)后臺(tái)數(shù)據(jù)庫,從而使測試人員通過web前臺(tái)查看相關(guān)測試結(jié)果。
      [0056]根據(jù)測試腳本對(duì)游戲進(jìn)程進(jìn)行測試的不同測試操作需求,可以將測試腳本的操作分為同步調(diào)用操作和異步調(diào)用操作。其中同步調(diào)用操作是指在該操作執(zhí)行后,測試終端接收到游戲進(jìn)程對(duì)于該操作的響應(yīng)消息后,才可執(zhí)行該操作的后續(xù)操作。而異步調(diào)用操作是指在該操作執(zhí)行后,測試終端無需等待接收游戲進(jìn)程對(duì)于該操作的響應(yīng)消息,而可以繼續(xù)執(zhí)行該操作的后續(xù)操作。
      [0057]具體地,對(duì)于測試終端按照預(yù)設(shè)測試腳本,根據(jù)UI控件代碼層的信息控制移動(dòng)終端的屏幕界面進(jìn)行模擬觸碰操作而言。若游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在測試終端根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),測試終端暫停控制移動(dòng)終端執(zhí)行測試腳本中所述同步調(diào)用操作后的操作,直到測試終端通過RPC獲取所述同步調(diào)用操作的返回消息。若游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在測試終端根據(jù)UI控件代碼層的信息控制移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),測試終端繼續(xù)控制移動(dòng)終端執(zhí)行測試腳本中所述異步調(diào)用操作后的操作。
      [0058]對(duì)于測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制游戲進(jìn)程執(zhí)行測試腳本中的測試邏輯指令而言。若測試邏輯指令對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在測試終端控制游戲進(jìn)程執(zhí)行測試腳本中的測試邏輯指令時(shí),測試終端暫??刂埔苿?dòng)終端執(zhí)行測試腳本中所述同步調(diào)用操作后的操作,直到測試終端通過RPC獲取同步調(diào)用操作的返回消息。若測試邏輯指令對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在測試終端控制游戲進(jìn)程執(zhí)行測試腳本中的測試邏輯指令時(shí),測試終端繼續(xù)控制移動(dòng)終端執(zhí)行測試腳本中異步調(diào)用操作后的操作。
      [0059]上述同步調(diào)用操作例如是在闖關(guān)類游戲中,測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,開啟游戲中的關(guān)卡。而測試終端中的測試腳本中下一步的操作應(yīng)是對(duì)應(yīng)于游戲角色在開啟后的關(guān)卡中的行動(dòng),那么測試終端就需要等待游戲進(jìn)程通過RPC返回關(guān)卡開啟成功的響應(yīng)消息后,才能繼續(xù)執(zhí)行測試腳本中的后續(xù)操作,否則測試腳本的執(zhí)行將出現(xiàn)錯(cuò)誤。
      [0060]上述異步調(diào)用操作例如是測試終端需要通過RPC周期性獲取游戲進(jìn)行運(yùn)行過程中的性能參數(shù),而在此過程中,測試腳本的后續(xù)操作不會(huì)由于性能參數(shù)未返回而產(chǎn)生影響。那么測試終端就可以繼續(xù)執(zhí)行測試腳本中的后續(xù)操作。
      [0061]上述各實(shí)施例對(duì)本發(fā)明提供的移動(dòng)終端游戲自動(dòng)測試方法進(jìn)行了概括性說明,下面以一個(gè)具體實(shí)施例對(duì)本發(fā)明提供移動(dòng)終端游戲自動(dòng)測試方法進(jìn)行進(jìn)一步說明。
      [0062]圖3為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法實(shí)施例三的流程圖。
      [0063]在執(zhí)行本實(shí)施例所示移動(dòng)終端游戲自動(dòng)測試方法之前,需要在測試終端上進(jìn)行相應(yīng)配置。首先,需要在測試終端上編寫測試腳本,測試腳本一般以腳本語言實(shí)現(xiàn),例如采用python腳本語言編寫。并且需要在測試終端上配置與需測試移動(dòng)終端對(duì)應(yīng)的調(diào)試工具包。若待測試的移動(dòng)終端采用Android系統(tǒng),則需要在測試終端上安裝Android官方提供的調(diào)試工具包ADB工具;若待測試的移動(dòng)終端采用1S系統(tǒng),那么測試終端的操作系統(tǒng)必須為Mac系統(tǒng),并安裝好開源調(diào)試工具appium。無論是ADB工具還是appium工具,都有相應(yīng)的python庫可以安裝,并提供調(diào)試接口供測試腳本調(diào)用。調(diào)試工具可實(shí)現(xiàn)的主要功能包括:測試終端屏幕的點(diǎn)擊、拖曳、圖像截屏,游戲進(jìn)程啟動(dòng)、關(guān)閉。
      [0064]另外,還需要在固定IP的服務(wù)器上搭建一個(gè)TCP網(wǎng)絡(luò)服務(wù)器模塊,該TCP網(wǎng)絡(luò)服務(wù)器模塊用于為測試終端和移動(dòng)終端提供TCP連接服務(wù)。
      [0065]游戲軟件的調(diào)試(debug)版都會(huì)允許在游戲代碼內(nèi)加入調(diào)試模塊,調(diào)試模塊主要是實(shí)現(xiàn)一些調(diào)試和測試輔助功能邏輯結(jié)構(gòu)。在本實(shí)施例中,游戲軟件代碼調(diào)試模塊中需要加入一個(gè)TCP網(wǎng)絡(luò)客戶端(c I i ent)模塊。在游戲軟件啟動(dòng)時(shí),TCP網(wǎng)絡(luò)客戶端模塊就會(huì)啟動(dòng)并與固定IP的服務(wù)器上的TCP網(wǎng)絡(luò)服務(wù)器模塊建立連接。
      [0066]另外,還需要將測試終端與移動(dòng)終端通過USB接口連接。
      [0067]圖4為本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法的系統(tǒng)拓?fù)浣Y(jié)構(gòu)示意圖。如圖所示,測試用例41為測試終端上實(shí)現(xiàn)自動(dòng)測試的功能模塊。其中包括測試腳本模塊42、TCP客戶端模塊43和調(diào)試工具命令接口庫模塊44。游戲進(jìn)程45在測試終端上運(yùn)行,包括調(diào)試模塊46、TCP客戶端模塊47和設(shè)備消息響應(yīng)模塊48。測試用例41中的TCP客戶端模塊43和游戲進(jìn)程45中的TCP客戶端模塊47通過TCP服務(wù)器49建立TCP連接。測試用例41中的調(diào)試工具命令接口庫模塊44通過測試終端上安裝的調(diào)試工具包40與游戲進(jìn)程中的設(shè)備消息響應(yīng)模塊48建立USB連接。
      [0068]如圖所示,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試方法包括:
      [0069]步驟S301,在測試終端和移動(dòng)終端之間建立USB連接和TCP連接。
      [0070]其中,只要測試終端和移動(dòng)終端之間通過USB接口連接,即可建立USB連接。測試終端和移動(dòng)終端之間通過固定IP的服務(wù)器建立TCP連接。在測試終端上,測試用例41執(zhí)行兩個(gè)進(jìn)程,一個(gè)是用于測試用例41中測試腳本執(zhí)行的主進(jìn)程,另一個(gè)是測試用例41與游戲進(jìn)程進(jìn)行通信的TCP網(wǎng)絡(luò)客戶端線程。
      [0071 ] 步驟S302,測試終端進(jìn)行測試腳本初始化工作,啟動(dòng)TCP客戶端模塊43,通過TCP客戶端模塊43連接TCP服務(wù)器49,并通過調(diào)試工具包40啟動(dòng)移動(dòng)終端上的游戲進(jìn)程45。
      [0072]當(dāng)移動(dòng)終端上的游戲進(jìn)程45啟動(dòng)后,游戲進(jìn)程45中的TCP客戶端模塊47就會(huì)啟動(dòng),并通過TCP客戶端模塊47連接TCP服務(wù)器49。
      [0073]步驟S303,測試終端和移動(dòng)終端之間通過TCP服務(wù)器綁定通信關(guān)系。
      [0074]測試用例41中的TCP客戶端模塊43連接上TCP服務(wù)器49后,TCP客戶端模塊43發(fā)送測試用例41相應(yīng)的標(biāo)識(shí)給TCP服務(wù)器49標(biāo)識(shí)此TCP客戶端模塊43為測試用例41,完成在TCP服務(wù)器49上的注冊(cè)登錄。游戲進(jìn)程45中的TCP客戶端模塊47連接上TCP服務(wù)器49后,TCP客戶端模塊47發(fā)送游戲進(jìn)程45相應(yīng)的標(biāo)識(shí)給TCP服務(wù)器49標(biāo)識(shí)此TCP客戶端模塊47為游戲進(jìn)程45,發(fā)送游戲進(jìn)程45所在移動(dòng)終端的唯一標(biāo)識(shí)設(shè)備序列號(hào)(Unique Device Identifier,UDID)給TCP服務(wù)器49,完成在TCP服務(wù)器49上的注冊(cè)登錄,TCP服務(wù)器49建立UDID和TCP客戶端模塊47的字典索引。測試用例41中的TCP客戶端模塊43登錄后周期性向TCP服務(wù)器49發(fā)送要通信綁定的移動(dòng)終端的UDID標(biāo)識(shí),TCP服務(wù)器49收到通信綁定請(qǐng)求后通過請(qǐng)求的UDID標(biāo)識(shí)索引游戲進(jìn)程45中的TCP客戶端模塊47,索引不到則表示游戲進(jìn)程45中的TCP客戶端模塊47尚未連接上TCP服務(wù)器49,回復(fù)測試用例41中的TCP客戶端模塊43綁定通信失敗消息。測試用例41中的TCP客戶端模塊43收到綁定失敗消息繼續(xù)周期性發(fā)送綁定請(qǐng)求。游戲進(jìn)程45中的TCP客戶端模塊47登錄TCP服務(wù)器49后,TCP服務(wù)器49收到綁定請(qǐng)求,通過UDID索引到游戲進(jìn)程45中的TCP客戶端模塊47后,在測試用例41和游戲進(jìn)程45之間建立通信綁定關(guān)系,開通測試用例41中的TCP客戶端模塊43和游戲進(jìn)程45中的TCP客戶端模塊47間的通信。
      [0075]步驟S304,測試終端執(zhí)行自動(dòng)測試流程。
      [0076]自動(dòng)測試過程中,測試用例41通過TCP客戶端模塊43周期性向游戲進(jìn)程45發(fā)送RPC請(qǐng)求,請(qǐng)求游戲進(jìn)程發(fā)送游戲進(jìn)程45運(yùn)行過程中的關(guān)鍵性能參數(shù),包括游戲進(jìn)程45當(dāng)前內(nèi)存占用、運(yùn)行幀率、貼圖數(shù)、三角面片數(shù)等性能參數(shù)。游戲進(jìn)程45運(yùn)行過程中只要檢測到產(chǎn)生dump信息,測試用例41就通過RPC調(diào)用相關(guān)收集dump信息的接口,測試用例41收集保存dump信息。
      [0077]測試腳本模塊42通過TCP客戶端模塊43發(fā)送RPC請(qǐng)求給游戲進(jìn)程45獲取當(dāng)前UI各控件信息,包括控件位置、大小、類型、控件標(biāo)識(shí)、名稱、所屬界面等。測試腳本模塊42判斷游戲進(jìn)程45當(dāng)前UI控件信息,根據(jù)測試監(jiān)本中的測試邏輯執(zhí)行移動(dòng)終屏幕上的觸碰操作,觸碰操作的實(shí)現(xiàn)通過測試腳本模塊42調(diào)用調(diào)試工具包40操作移動(dòng)終端屏幕界面,界面操作包括點(diǎn)擊、拖拽等。調(diào)試工具包40還可以截取當(dāng)前移動(dòng)終端屏幕圖像,測試腳本模塊42測試過程可以根據(jù)需要采集當(dāng)前游戲屏幕截圖,作為測試參考數(shù)據(jù)。
      [0078]測試腳本模塊42還可通過TCP客戶端模塊43發(fā)送RPC請(qǐng)求給游戲進(jìn)程45調(diào)用游戲調(diào)試接口,通過讓游戲進(jìn)程45執(zhí)行相關(guān)調(diào)試測試指令邏輯,輔助實(shí)現(xiàn)自動(dòng)測試流程。
      [0079]本實(shí)施例中所有測試用例41和游戲進(jìn)程45間的通信全部以RPC的方式調(diào)用雙方的函數(shù)接口實(shí)現(xiàn)。本實(shí)施例中RPC調(diào)用方式分為兩種:
      [0080]一種是同步RPC調(diào)用。測試用例41的測試腳本模塊42調(diào)用RPC函數(shù)請(qǐng)求調(diào)用游戲進(jìn)程45中調(diào)試接口,RPC函數(shù)接口必須等到游戲進(jìn)程45返回RPC請(qǐng)求回復(fù)后,RPC函數(shù)的執(zhí)行才返回結(jié)束,否則在超時(shí)時(shí)間范圍內(nèi)測試腳本執(zhí)行過程被中斷,并一直輪詢等待RPC請(qǐng)求回復(fù),超出超時(shí)時(shí)間還未收到回復(fù)則認(rèn)為是游戲測試過程發(fā)生異常。
      [0081 ]圖5為同步RPC調(diào)用的流程圖,具體的同步RPC實(shí)施步驟包括:
      [0082] 步驟S501,測試用例中的測試腳本調(diào)用RPC接口,傳入要調(diào)用的游戲進(jìn)程調(diào)試接口名和調(diào)用參數(shù),發(fā)送RPC請(qǐng)求,然后中斷用例執(zhí)行線程,定時(shí)輪詢RPC回復(fù)消息。
      [0083 ] 步驟S502,RPC調(diào)用請(qǐng)求內(nèi)容通過網(wǎng)絡(luò)發(fā)包協(xié)議處理生成網(wǎng)絡(luò)協(xié)議包。
      [0084]步驟S503,網(wǎng)絡(luò)包通過網(wǎng)絡(luò)模塊發(fā)送給后臺(tái)TCP服務(wù)器。
      [0085]步驟S504,TCP服務(wù)器轉(zhuǎn)發(fā)網(wǎng)絡(luò)包給游戲進(jìn)程。
      [0086]步驟S505,游戲進(jìn)程里的網(wǎng)絡(luò)模塊將收到的網(wǎng)絡(luò)包進(jìn)行收包協(xié)議處理。
      [0087]步驟S506,收包處理解析出協(xié)議中要調(diào)用的游戲進(jìn)程調(diào)用接口和參數(shù),調(diào)用相應(yīng)的調(diào)試接口。
      [0088]步驟S507,調(diào)試接口執(zhí)行相應(yīng)的調(diào)試內(nèi)容,并按接口要求返回回復(fù)信息。
      [0089]步驟S508,回復(fù)信息通過網(wǎng)絡(luò)發(fā)包協(xié)議處理生成網(wǎng)絡(luò)協(xié)議包。
      [0090]步驟S509,網(wǎng)絡(luò)包通過網(wǎng)絡(luò)模塊發(fā)送給后臺(tái)TCP服務(wù)器。
      [0091 ]步驟S510,TCP服務(wù)器轉(zhuǎn)發(fā)網(wǎng)絡(luò)包給測試用例。
      [0092]步驟S511,測試用例里的網(wǎng)絡(luò)模塊收到網(wǎng)絡(luò)包進(jìn)行收包協(xié)議處理。
      [0093]步驟S512,收包處理解析出協(xié)議中RPC返回消息,RPC調(diào)用接口收到返回消息,結(jié)束輪詢,恢復(fù)線程執(zhí)行。
      [0094]另一種是異步調(diào)用。測試用例41的測試腳本模塊42調(diào)用RPC函數(shù)請(qǐng)求調(diào)用游戲進(jìn)程中調(diào)試接口,RPC函數(shù)調(diào)用游戲進(jìn)程調(diào)試接口后,等待回復(fù)事件加入回復(fù)等待列表,RPC函數(shù)接口馬上結(jié)束返回,測試用例41執(zhí)行線程繼續(xù)執(zhí)行。
      [0095]圖6為異步RPC調(diào)用的流程圖,具體的異步RPC實(shí)施步驟包括:
      [0096]步驟S601,發(fā)送RPC請(qǐng)求,將本次請(qǐng)求的回復(fù)回調(diào)事件加入RPC回復(fù)等待隊(duì)列。
      [0097]步驟S602,測試用例中的測試腳本調(diào)用RPC接口,傳入要調(diào)用的游戲進(jìn)程調(diào)試接口名和調(diào)用參數(shù),發(fā)送RPC請(qǐng)求,發(fā)送完請(qǐng)求,RPC調(diào)用接口馬上返回。
      [0098]步驟S603?S612與步驟S502?S511步驟內(nèi)容一致。
      [0099]S6013,收包處理解析出協(xié)議中RPC返回消息,在消息回復(fù)隊(duì)列里回調(diào)對(duì)應(yīng)的消息回調(diào)接口,處理消息回復(fù)操作。
      [0100]本實(shí)施例中常用的同步RPC調(diào)用包括:測試用例41中的測試腳本模塊42向游戲進(jìn)程45查詢當(dāng)前UI界面信息、游戲內(nèi)角色數(shù)據(jù)、當(dāng)前副本游戲進(jìn)度、關(guān)卡內(nèi)戰(zhàn)斗勝敗等。本實(shí)施例中常用的異步RPC調(diào)用包括:測試用例41周期性向游戲進(jìn)程45請(qǐng)求返回性能參數(shù)數(shù)據(jù)、一些游戲進(jìn)程45調(diào)試接口進(jìn)行輔助測試的調(diào)用等。
      [0101 ] 步驟S305,測試用例41中的測試腳本模塊42中的測試腳本執(zhí)行完后,測試腳本模塊42調(diào)用調(diào)試工具包40關(guān)閉游戲進(jìn)程接口,關(guān)閉游戲進(jìn)程45。
      [0102]游戲進(jìn)程45結(jié)束,測試用例41與游戲進(jìn)程45斷開網(wǎng)絡(luò)通信連接。測試用例41停止收集游戲進(jìn)程性能參數(shù)數(shù)據(jù)和dump信息。測試用例41整理測試過程收集到的運(yùn)行日志、性能參數(shù)、游戲截圖、dump信息,并通過http請(qǐng)求發(fā)送到web后臺(tái)服務(wù)器數(shù)據(jù)庫保存,保存完畢即可在web前臺(tái)查看到測試數(shù)據(jù)。
      [0103]本發(fā)明例提供的移動(dòng)設(shè)備游戲自動(dòng)測試方法,通過TCP網(wǎng)絡(luò)通信方式提供了測試終端上的測試用例和移動(dòng)終端上的游戲進(jìn)程所間的RPC相互調(diào)用,實(shí)現(xiàn)了測試用例和游戲進(jìn)程之間在游戲邏輯上的信息交互,可以適應(yīng)更多重度游戲需求復(fù)雜的自動(dòng)測試需求。本發(fā)明同時(shí)支持傳統(tǒng)的自動(dòng)測試方法里對(duì)游戲界面進(jìn)行操作的測試方式,并且本發(fā)明實(shí)施例中的進(jìn)行界面操作時(shí)的參考信息來自RPC請(qǐng)求獲取游戲進(jìn)行游戲UI界面邏輯信息,相比僅使用圖像匹配方式的UI界面信息獲取方式在測試過程中更準(zhǔn)確和穩(wěn)定。本實(shí)施例同時(shí)支持在測試過程中通過RPC請(qǐng)求實(shí)時(shí)獲取游戲進(jìn)程中性能參數(shù)信息和dump信息,能直接從游戲進(jìn)程獲取重要的測試輔助信息,協(xié)助測試結(jié)果的判斷。
      [0104]圖7為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖7所示,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置包括:
      [0105]RPC調(diào)用模塊71,用于通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息。
      [0106]測試執(zhí)行模塊72,用于所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。
      [0107]RPC調(diào)用模塊71還用于通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。
      [0108]本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置用于執(zhí)行圖1所示實(shí)施例的方法步驟,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
      [0109]進(jìn)一步地,在圖7所示實(shí)施例的基礎(chǔ)上,RPC調(diào)用模塊71,還用于通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令。
      [0110]圖8為本發(fā)明實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置實(shí)施例二的結(jié)構(gòu)示意圖,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置在圖7的基礎(chǔ)上,還包括連接建立模塊73。
      [0111]連接建立模塊73,用于與所述移動(dòng)終端建立TCP連接以及有線數(shù)據(jù)連接。
      [0112]RPC調(diào)用模塊71,具體用于在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的UI接口 ;在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口 ;
      [0113]測試執(zhí)行模塊72,具體用于按照預(yù)設(shè)測試腳本,在所述有線數(shù)據(jù)連接上根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。
      [0114]進(jìn)一步地,在圖8所示實(shí)施例的基礎(chǔ)上,連接建立模塊73,具體用于和所述移動(dòng)終端通過固定IP的服務(wù)器建立TCP連接。
      [0115]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,測試執(zhí)行模塊72,具體用于使用與所述移動(dòng)終端匹配的調(diào)試工具,按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。
      [0116]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,測試執(zhí)行模塊72,具體用于若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),暫??刂扑鲆苿?dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息;若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。
      [0117]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,測試執(zhí)行模塊72,具體用于若所述測試邏輯指令對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),暫停控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息;若所述測試邏輯指令對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。
      [0118]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),包括:所述測試終端通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù)和/或所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息。
      [0119]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù),包括:所述游戲進(jìn)程在運(yùn)行過程中的幀率、內(nèi)存占用、游戲渲染面片數(shù)、游戲渲染貼圖數(shù)、三角面片數(shù)。所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息,包括:所述游戲進(jìn)程在運(yùn)行過程中的備份信息和/或所述游戲進(jìn)程在運(yùn)行過程中的截圖。
      [0120]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,所述UI控件代碼層的信息包括:所述游戲進(jìn)程的UI控件的位置、大小、類型、控件標(biāo)識(shí)、名稱、所屬界面。
      [0121 ]進(jìn)一步地,在圖7或圖8所示實(shí)施例的基礎(chǔ)上,本實(shí)施例提供的移動(dòng)終端游戲自動(dòng)測試裝置還可以包括數(shù)據(jù)發(fā)送模塊,用于將所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)發(fā)送至后臺(tái)數(shù)據(jù)庫,所述后臺(tái)數(shù)據(jù)庫用于保存從前臺(tái)查看的測試數(shù)據(jù)。數(shù)據(jù)發(fā)送模塊與RPC調(diào)用模塊71和測試執(zhí)行模塊72,分別連接。
      [0122]最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
      【主權(quán)項(xiàng)】
      1.一種移動(dòng)終端游戲自動(dòng)測試方法,其特征在于,包括: 測試終端通過遠(yuǎn)程過程調(diào)用協(xié)議RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的用戶界面UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息;所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作;所述測試終端通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 所述測試終端通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口之前,還包括: 所述測試終端與所述移動(dòng)終端建立傳輸控制協(xié)議TCP連接以及有線數(shù)據(jù)連接; 所述測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的UI接口,包括: 所述測試終端在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的UI接口; 所述測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,包括: 所述測試終端在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口;所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作,包括: 所述測試終端按照預(yù)設(shè)測試腳本,在所述有線數(shù)據(jù)連接上根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述測試終端與所述移動(dòng)終端建立TCP連接,包括: 所述測試終端和所述移動(dòng)終端通過固定IP的服務(wù)器建立TCP連接。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息對(duì)所述移動(dòng)終端屏幕界面進(jìn)行模擬觸碰操作,包括: 所述測試終端使用與所述移動(dòng)終端匹配的調(diào)試工具,按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端的屏幕界面進(jìn)行模擬觸碰操作,包括: 若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在所述測試終端根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),所述測試終端暫??刂扑鲆苿?dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息; 若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在所述測試終端根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),所述測試終端繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。7.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述測試終端通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令,包括: 若所述測試邏輯指令對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在所述測試終端控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),所述測試終端暫??刂扑鲆苿?dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息; 若所述測試邏輯指令對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在所述測試終端控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),所述測試終端繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。8.根據(jù)權(quán)利要求1?7任一項(xiàng)所述的方法,其特征在于,所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),包括:所述測試終端通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù)和/或所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息。9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù),包括:所述游戲進(jìn)程在運(yùn)行過程中的幀率、內(nèi)存占用、游戲渲染面片數(shù)、游戲渲染貼圖數(shù)、三角面片數(shù); 所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息,包括:所述游戲進(jìn)程在運(yùn)行過程中的備份信息和/或所述游戲進(jìn)程在運(yùn)行過程中的截圖。10.根據(jù)權(quán)利要求1?7任一項(xiàng)所述的方法,其特征在于,所述UI控件代碼層的信息包括:所述游戲進(jìn)程的UI控件的位置、大小、類型、控件標(biāo)識(shí)、名稱、所屬界面。11.根據(jù)權(quán)利要求1?7任一項(xiàng)所述的方法,其特征在于,還包括:所述測試終端將所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)發(fā)送至后臺(tái)數(shù)據(jù)庫,所述后臺(tái)數(shù)據(jù)庫用于保存從前臺(tái)查看的測試數(shù)據(jù)。12.一種移動(dòng)終端游戲自動(dòng)測試裝置,其特征在于,包括: 遠(yuǎn)程過程調(diào)用協(xié)議RPC調(diào)用模塊,用于通過RPC調(diào)用移動(dòng)終端上游戲進(jìn)程的用戶界面UI接口,獲取所述游戲進(jìn)程UI控件代碼層的信息; 測試執(zhí)行模塊,用于所述測試終端按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作; 所述RPC調(diào)用模塊還用于通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)。13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述RPC調(diào)用模塊還用于通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口,控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令。14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,還包括:連接建立模塊,用于與所述移動(dòng)終端建立傳輸控制協(xié)議TCP連接以及有線數(shù)據(jù)連接; 所述RPC調(diào)用模塊,具體用于在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的UI接口 ;在所述TCP連接上通過RPC調(diào)用所述移動(dòng)終端上游戲進(jìn)程的調(diào)試接口 ; 所述測試執(zhí)行模塊,具體用于按照預(yù)設(shè)測試腳本,在所述有線數(shù)據(jù)連接上根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述連接建立模塊,具體用于和所述移動(dòng)終端通過固定IP的服務(wù)器建立TCP連接。16.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述測試執(zhí)行模塊,具體用于使用與所述移動(dòng)終端匹配的調(diào)試工具,按照預(yù)設(shè)測試腳本,根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作。17.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述測試執(zhí)行模塊,具體用于若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),暫??刂扑鲆苿?dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息;若所述游戲進(jìn)程UI控件代碼層的信息對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在根據(jù)所述UI控件代碼層的信息控制所述移動(dòng)終端在屏幕界面進(jìn)行模擬觸碰操作時(shí),繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。18.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述測試執(zhí)行模塊,具體用于若所述測試邏輯指令對(duì)應(yīng)的腳本操作為同步調(diào)用操作,則在控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),暫??刂扑鲆苿?dòng)終端執(zhí)行所述測試腳本中所述同步調(diào)用操作后的操作,直到所述測試終端通過RPC獲取所述同步調(diào)用操作的返回消息;若所述測試邏輯指令對(duì)應(yīng)的腳本操作為異步調(diào)用操作,則在控制所述游戲進(jìn)程執(zhí)行所述測試腳本中的測試邏輯指令時(shí),繼續(xù)控制所述移動(dòng)終端執(zhí)行所述測試腳本中所述異步調(diào)用操作后的操作。19.根據(jù)權(quán)利要求12?18任一項(xiàng)所述的裝置,其特征在于,所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù),包括:所述測試終端通過RPC獲取所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù)和/或所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息。20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述游戲進(jìn)程在運(yùn)行過程中的性能參數(shù),包括:所述游戲進(jìn)程在運(yùn)行過程中的幀率、內(nèi)存占用、游戲渲染面片數(shù)、游戲渲染貼圖數(shù)、三角面片數(shù); 所述游戲進(jìn)程在運(yùn)行過程中的相關(guān)信息,包括:所述游戲進(jìn)程在運(yùn)行過程中的備份信息和/或所述游戲進(jìn)程在運(yùn)行過程中的截圖。21.根據(jù)權(quán)利要求12?18任一項(xiàng)所述的裝置,其特征在于,所述UI控件代碼層的信息包括:所述游戲進(jìn)程的UI控件的位置、大小、類型、控件標(biāo)識(shí)、名稱、所屬界面。22.根據(jù)權(quán)利要求12?18任一項(xiàng)所述的裝置,其特征在于,還包括:數(shù)據(jù)發(fā)送模塊,用于將所述游戲進(jìn)程在運(yùn)行過程中的測試數(shù)據(jù)發(fā)送至后臺(tái)數(shù)據(jù)庫,所述后臺(tái)數(shù)據(jù)庫用于保存從前臺(tái)查看的測試數(shù)據(jù)。
      【文檔編號(hào)】G06F11/36GK105868111SQ201610186545
      【公開日】2016年8月17日
      【申請(qǐng)日】2016年3月29日
      【發(fā)明人】吳煒峰
      【申請(qǐng)人】網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1