實現遠程調試的系統、方法、裝置、及電子設備與流程
2023-05-19 20:14:21 2

本申請涉及軟體測試技術領域,具體而言,涉及實現遠程調試的系統、方法、裝置、及電子設備。
背景技術:
隨著手機軟體開發領域的迅速發展,如何迅速準確地進行調試已經成為手機軟體開發行業一個重要的技術課題。快速準確的進行調試已經成為軟體開發行業中必不可少的重要策略之一,尤其手機軟體行業迫於較短的開發周期,需要更有效快捷的調試方法。
相關技術中,通常直接通過usb連接pc和手機進行調試,或者在應用軟體上預留一個調試接口後,輸入指令來進行調試,又或者進行黑盒測試後根據過程中發現的缺陷或者日誌log進行分析,再進行修改後重新打包測試等。如上的調試方法均存在缺陷如受到物理環境的局限、增加開發周期或測試周期。
技術實現要素:
本申請公開實現遠程調試的方法,以縮短開發周期的測試周期,提高調試的效率,增加調試的準確性。
本發明的其他特性和優點將通過下面的詳細描述變得顯然,或部分地通過本發明的實踐而習得。
根據本發明的第一方面,提供一種實現遠程調試的系統,包括控制臺、連接模塊、web服務端、rpc服務端、以及待測設備:
所述控制臺用於接收調試指令、指定所述待測設備和待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息,將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
所述web服務端用於將所述調試信息發送到所述rpc服務端;
所述rpc服務端用於將所述調試指令發送到所述待測設備的所述待測客戶端;
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端;
所述rpc服務端用於將所述運行結果返回給所述web服務端;
所述web服務端用於將所述運行結果通過所述連接模塊返回給所述控制臺;
所述控制臺用於對所述運行結果進行展示。
根據一些實施例,所述控制臺用於通過瀏覽器訪問網址的方式進入。
根據一些實施例,所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
根據一些實施例,所述控制臺還用於在指定所述待測設備之前,通過輸入ip地址添加所述待測設備、通過掃描二維碼添加所述待測設備、或通過訪問所述控制臺的網址添加所述待測設備。
根據一些實施例,所述控制臺用於指定待測客戶端包括指定兩個或兩個以上待測客戶端;
所述rpc服務端用於將所述調試指令發送到所述待測設備的所述待測客戶端包括:所述rpc服務端用於將所述調試指令分別發送到所述待測設備的所述兩個或兩個以上待測客戶端;
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端包括:所述兩個或兩個以上待測客戶端分別用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端。
根據一些實施例,所述控制臺還用於指定指令運行模式;
根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息包括:根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端包括:所述待測客戶端按照所述指令運行模式執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端。
根據一些實施例,所述控制臺用於接收調試指令包括:所述控制臺用於從封裝在所述待測設備中獲取所述調試指令、或調用所述待測客戶端代碼中的模塊接口獲取所述調試指令。
根據本發明的第二方面,提供一種實現遠程調試的方法,包括:接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
根據一些實施例,所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
根據一些實施例,在接收指定的待測設備之前還包括:根據接收的ip地址添加所述待測設備、根據接收的二維碼添加所述待測設備、或根據接收的網址添加所述待測設備。
根據一些實施例,接收指定的待測設備包括:接收指定的兩個或兩個以上待測設備。
根據一些實施例,所述方法還包括接收指令運行模式;
根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息包括:根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
根據一些實施例,接收輸入的調試指令包括:從封裝在所述待測設備中獲取所述調試指令。
根據本發明的第三方面,提供一種實現遠程調試的裝置,其包括:
調試信息生成單元,用於接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
信息發送單元,用於將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
信息接收與展示單元,接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
根據一些實施例,所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
根據一些實施例,所述裝置還包括設備加載單元,用於在接收指定的待測設備之前,根據接收的ip地址添加所述待測設備、根據接收的二維碼添加所述待測設備、或根據接收的網址添加所述待測設備。
根據一些實施例,所述調試信息生成單元用於:接收指定的兩個或兩個以上待測設備。
根據一些實施例,所述調試信息生成單元還用於接收指令運行模式,根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
根據一些實施例,所述調試信息生成單元用於:從封裝在所述待測設備中獲取所述調試指令。
根據本發明的第四方面,提供一種電子設備,包括:處理器;存儲器,存儲用於所述處理器控制如第一方面任一項操作的指令。本申請的實施例提供的技術方案可以包括以下有益效果:
本發明實施例的技術方案能夠縮短開發周期的測試周期,提高調試的效率,增加調試的準確性,以及提升調試的直觀性和可靠性。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性的,並不能限制本發明。
附圖說明
通過參照附圖詳細描述其示例實施例,本發明的上述和其它特徵及優點將變得更加明顯。
圖1示出了根據本發明一實施例的實現遠程調試的系統框架圖;
圖2示出了根據本發明一實施例的實現遠程調試的方法;
圖3示出了根據本發明另一實施例的實現遠程調試的方法;
圖4示出了根據本發明一實施例的實現遠程調試的裝置的框圖;
圖5示出了根據本發明一實施例的電子設備。
具體實施方式
現在將參考附圖更全面地描述示例實施例。然而,示例實施例能夠以多種形式實施,且不應被理解為限於在此闡述的實施例;相反,提供這些實施例使得本發明將全面和完整,並將示例實施例的構思全面地傳達給本領域的技術人員。在圖中相同的附圖標記表示相同或類似的部分,因而將省略對它們的重複描述。
此外,所描述的特徵、結構或特性可以以任何合適的方式結合在一個或更多實施例中。在下面的描述中,提供許多具體細節從而給出對本發明的實施例的充分理解。然而,本領域技術人員將意識到,可以實踐本發明的技術方案而沒有特定細節中的一個或更多,或者可以採用其它的方法、組元、裝置、步驟等。在其它情況下,不詳細示出或描述公知方法、裝置、實現或者操作以避免模糊本發明的各方面。
附圖中所示的方框圖僅僅是功能實體,不一定必須與物理上獨立的實體相對應。即,可以採用軟體形式來實現這些功能實體,或在一個、兩個或兩個以上硬體模塊或集成電路中實現這些功能實體,或在不同網絡和/或處理器裝置和/或微控制器裝置中實現這些功能實體。
附圖中所示的流程圖僅是示例性說明,不是必須包括所有的內容和操作/步驟,也不是必須按所描述的順序執行。例如,有的操作/步驟還可以分解,而有的操作/步驟可以合併或部分合併,因此實際執行的順序有可能根據實際情況改變。
圖1示出了根據本發明一實施例的實現遠程調試的系統框架圖,如圖1所示,本實施例所述的實現遠程調試的系統包括:
控制臺、連接模塊、web服務端、rpc服務端、以及待測設備:
所述控制臺用於接收調試指令、指定所述待測設備和待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息,將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
所述web服務端用於將所述調試信息發送到所述rpc服務端;
所述rpc服務端用於將所述調試指令發送到所述待測設備的所述待測客戶端;
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端;
所述rpc服務端用於將所述運行結果返回給所述web服務端;
所述web服務端用於將所述運行結果通過所述連接模塊返回給所述控制臺;
所述控制臺用於對所述運行結果進行展示。
需要說明的是,所述控制臺可通過瀏覽器訪問網址的方式進入。
所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
另外,所述控制臺還用於在指定所述待測設備之前,通過輸入ip地址添加所述待測設備、通過掃描二維碼添加所述待測設備、或通過訪問所述控制臺的網址添加所述待測設備。
所述控制臺與所述連接模塊之間可以是相互獨立的,且用於不同的系統。例如,所述控制臺也可以設置為與web服務端直接連接,將所述調試信息發送至所述web服務端。
本領域普通技術人員需要明確的是,所述控制臺用於指定待測客戶端包括指定兩個或兩個以上待測客戶端;
所述rpc服務端用於將所述調試指令發送到所述待測設備的所述待測客戶端包括:所述rpc服務端用於將所述調試指令分別發送到所述待測設備的所述兩個或兩個以上待測客戶端。
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端包括:所述兩個或兩個以上待測客戶端分別用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端。
另外,所述控制臺還用於指定指令運行模式;
根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息包括:根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
所述待測客戶端用於執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端包括:所述待測客戶端按照所述指令運行模式執行所述調試指令得到運行結果,將所述運行結果返回給所述rpc服務端。
進一步地,所述控制臺用於接收調試指令包括:所述控制臺用於從封裝在所述待測設備中獲取所述調試指令、或調用所述待測客戶端代碼中的模塊接口獲取所述調試指令。
本實施例所述的實現遠程調試的系統能夠縮短開發周期的測試周期,提高調試的效率,增加調試的準確性,以及提升調試的直觀性和可靠性。
圖2示出了根據本發明一實施例的實現遠程調試的方法,本實施例可適用於通過控制臺實現遠程調試的情況,如圖2所示,本實施例所述的實現遠程調試的方法包括:
在步驟s210中,接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
其中,所述控制臺在接收指定的待測設備之前還可用於:根據接收的ip地址添加所述待測設備、根據接收的二維碼添加所述待測設備、或根據接收的網址添加所述待測設備。
需要說明的是,所述調試指令可以從封裝在所述待測設備中獲取。
在步驟s220中,將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端。
其中,所述連接模塊為用於連接所述控制臺與所述web服務端的通信模塊,例如所述連接模塊可以是為telnet模塊、wifi連接模塊、或藍牙連接模塊等。
在步驟s230中,接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
需要說明的是,接收指定的待測設備,可以是接收指定一個、兩個、或兩個以上待測設備。
另外,需要說明的是,所述方法還可包括接收指令運行模式。
根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息包括:根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
本實施例提出的技術方案脫離有線連接實現了對運行中應用程式進行實時調試,不僅可以使用已封裝的調試接口來進行調試,而且還可以直接調用軟體中的代碼進行調試,更是實現了pc端和手機端的雙向通信,可以實時獲取調試結果,一方面解決了調試所需的物理環境問題,另一方面大大減少了開發、測試周期。
圖3示出了根據本發明另一實施例的實現遠程調試的方法,如圖3所示,本實施例所述的實現遠程調試的方法包括:
在步驟s301中,進入系統。
本步驟可通過瀏覽器訪問指定網址即可簡單進入系統,不需要安裝軟體,大大降低了系統的使用門檻。
在步驟s302中,判斷設備是否已添加到系統,若是則執行步驟s304,否則執行步驟s303。
在步驟s303中,添加設備,執行步驟s304。
本步驟可使用二維碼掃描添加設備。除此之外,可通過被調試機訪問指定網址添加設備,也可以直接在系統中輸入被調試機的ip地址來添加設備。
在步驟s304中,選擇設備。
優選地,本步驟可選擇本次新添加的設備或本機作為被調試機。額外地,上述系統還可將已添加的設備信息保存到調試機本地,在下次訪問系統時刻便捷選擇已添加設備來進行調試。
在步驟s305中,判斷是否是已封裝指令,若是則執行步驟s307,否則執行步驟s306。
在步驟s306中,選擇多行模式,執行步驟s307。
本實施例可採用多種調試指令輸入方式,使用者可根據需求選擇單行或多行模式進行調試,多行模式可運行一個、兩個、或兩個以上單行指令,或者一個、兩個、或兩個以上多行指令,也可以寫一段運行腳本來進行調試。
在步驟s307中,選擇要運行的客戶端。
需要說明的是,本實施例可提供兩個或兩個以上客戶端同時運行指令,使用者可根據需求亦可選擇其中一個、兩個、或兩個以上客戶端運行指令。
在本實施例所述的技術方案中,添加被調試客戶端的方式有:直接輸入ip地址、用被調試客戶端掃碼加入、以及用被調試客戶端訪問指定網址添加等。
在本實施例的技術方案中,按照上述方法添加的設備信息存儲在調試者本地,下次使用系統時可以簡單選擇調試設備,無需再次添加。提升了可靠性和便利性。
在上述技術方案中,可以根據需求添加兩個或兩個以上被調試客戶端進行同時調試,能夠提升調試效率和系統及時性。
在步驟s308中,輸入指令後提交。
使用者可根據需求發送調試指令。在本實施例中,所述的調試信息可以是直接封裝在手機應用客戶端裡面的,還可以直接調用手機應用客戶端代碼中的模塊接口,也可以混合使用上述兩者,還可以混合使用上述前兩種中的方法再次封裝後重複使用。
在本實施例的技術方案中,還可包括各種已經封裝好的按鈕型指令,可簡單通過按鈕運行調試。
在步驟s309中,判斷是否發送成功,若是則執行步驟s311,否則執行步驟s310。
在步驟s310中,連接模塊返回失敗消息,結束。
在步驟s311中,客戶端運行指令。
如果上述步驟的調試指令發送成功,則在客戶端運行指令。
在步驟s312中,判斷客戶端是否有返回內容,若是則執行步驟s313,否則結束。
在步驟s313中,顯示返回內容,結束。
在上述步驟s311中,客戶端運行指令後,如果有返回消息(例如腳本錯添編號,返回值等),則會在顯示框中顯示返回內容。隨後整個調試流程結束。
在本實施例的技術方案中,可以添加和選擇調試者,可以選擇性的設定調試指令發送者。通過這種方法提升了系統的便利性和覆蓋性。
另外,需要說明的是,在本實施例的技術方案中,調試信息不是單向傳輸,而是雙向交流。使用者可以在完成調試後立即看到調試結果,調試結果會顯示在手機應用客戶端和調試系統上,提升了調試的直觀性和可靠性。
本實施例中,為了實現上述技術方案,可附加提供一個調試系統。上述系統為一個web前端,使用者無需安裝軟體,使用任何一款瀏覽器直接訪問指定網址即可使用系統。
以上所述實施例的各技術特徵可以進行任意組合,為了使說明簡潔,未對上述實施例中各個技術特徵所有可能的組合都進行描述。然而,只要這些技術特徵的組合不存在矛盾,都應當認為是本說明書記載的範圍。
以上所述實施例僅表達了本發明的幾種實施方式,其描述較為具體和詳細,但並不能因此而理解為對發明專利範圍的限制。
圖4示出了根據本發明一實施例的實現遠程調試的裝置的框圖,如圖4所示,本實施例所述的實現遠程調試的裝置包括調試信息生成單元410、信息發送單元420、以及信息接收與展示單元430。
該調試信息生成單元410被配置為,用於接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
該信息發送單元420被配置為,用於將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
該信息接收與展示單元430被配置為,用於接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
根據本發明的一些實施例,所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
根據本發明的一些實施例,所述裝置還包括設備加載單元(圖4中未示出),用於在接收指定的待測設備之前,根據接收的ip地址添加所述待測設備、根據接收的二維碼添加所述待測設備、或根據接收的網址添加所述待測設備。
根據本發明的一些實施例,所述調試信息生成單元410用於:接收指定的兩個或兩個以上待測設備。
根據本發明的一些實施例,所述調試信息生成單元410還用於接收指令運行模式,根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
根據本發明的一些實施例,所述調試信息生成單元410用於:從封裝在所述待測設備中獲取所述調試指令。
關於上述實施例中的裝置,其中各個單元執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
本實施例提供的實現遠程調試的裝置可執行本發明方法實施例所提供的實現遠程調試的方法,具備執行方法相應的功能模塊和有益效果。
圖5示出了根據本發明一實施例的電子設備,如圖5所示,電子設備500可包括處理器510、存儲器520、發射器530及接收器540。
存儲器520可存儲用於處理器510控制操作處理的指令。存儲器520可包括易失性或非易失性存儲器,如靜態隨機存取存儲器(sram)、電可擦除可編程只讀存儲器(eeprom)、可擦除可編程只讀存儲器(eprom)、可編程只讀存儲器(prom)、只讀存儲器(rom)等,本發明對此沒有限制。
處理器510可調用存儲器520中存儲的指令控制相關操作。根據一實施例,存儲器520存儲用於處理器510控制以下操作的指令:
接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;
將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;
接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
易於理解,存儲器520還可存儲用於處理器510控制根據本發明實施例的其他操作的指令,這裡不再贅述。
處理器510還可控制發射器530和接收器540進行信號收發等。
通過以上的詳細描述,本領域的技術人員易於理解,根據本發明實施例的系統和方法具有以下優點中的一個、兩個、或兩個以上。
根據本發明的實施例,所述連接模塊為telnet模塊、wifi連接模塊、或藍牙連接模塊。
根據本發明的一些實施例,在接收指定的待測設備之前還包括:根據接收的ip地址添加所述待測設備、根據接收的二維碼添加所述待測設備、或根據接收的網址添加所述待測設備。
根據本發明的一些實施例,所述方法還包括接收指令運行模式;
根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息包括:根據所述指令運行模式、所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息。
根據本發明的一些實施例,接收輸入的調試指令包括:從封裝在所述待測設備中獲取所述調試指令。
根據一些實施例,本發明還提供一種非臨時性計算機可讀存儲介質,例如包括指令的存儲器,上述指令可由裝置的處理器執行以完成上述方法。例如,非臨時性計算機可讀存儲介質可以是rom、隨機存取存儲器(ram)、cd-rom、磁帶、軟盤和光數據存儲設備等。當存儲介質中的指令由終端的處理器執行時,使得終端能夠執行下述方法:接收輸入的調試指令、指定的待測設備、以及待測客戶端,根據所述調試指令、所述待測設備的標識、以及所述待測客戶端標識生成調試信息;將所述調試信息通過用於與所述web服務端連接的連接模塊發送到所述web服務端;接收所述web服務端向所述連接模塊返回的運行結果,對所述運行結果進行展示。
本領域技術人員可以理解,附圖只是示例實施例的示意圖,附圖中的模塊或流程並不一定是實施本發明所必須的,因此不能用於限制本發明的保護範圍。
本領域技術人員可以理解上述各模塊可以按照實施例的描述分布於裝置中,也可以進行相應變化唯一不同於本實施例的一個、兩個、或兩個以上裝置中。上述實施例的模塊可以合併為一個模塊,也可以進一步拆分成兩個或兩個以上子模塊。
以上具體地示出和描述了本發明的示例性實施例。應該理解,本發明不限於所公開的實施例,相反,本發明意圖涵蓋包含在所附權利要求的精神和範圍內的各種修改和等效布置。