本申請(qǐng)涉及移動(dòng)應(yīng)用測試領(lǐng)域,特別涉及一種移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)、方法、移動(dòng)終端管理服務(wù)器及設(shè)備端服務(wù)器。
背景技術(shù):
在移動(dòng)應(yīng)用測試領(lǐng)域,為了高效率的測試一款應(yīng)用程序是否適配不同的操作系統(tǒng)版本和不同的屏幕分辨率,可在不同模擬器上運(yùn)行自動(dòng)化測試和Monkey測試。
但是,目前大多數(shù)模擬器是通過本地localhost域名進(jìn)行連接的,以供測試人員在本地做小規(guī)模的單元測試使用,但是難以應(yīng)用于分布式的并行測試,即客戶端難以同時(shí)遠(yuǎn)程連接多個(gè)模擬器。例如,以ADB(Android Debug Bridge,安卓調(diào)試橋接器)管理工具為例,ADB管理工具包括ADB PC(Personal Computer,個(gè)人計(jì)算機(jī))客戶端和ADBD(ADB daemon,ADB守護(hù)進(jìn)程)設(shè)備端。ADB daemon是運(yùn)行在Android設(shè)備中的ADB守護(hù)進(jìn)程,由于運(yùn)行在模擬器中的ADB daemon只監(jiān)聽localhost地址,因此即使是使用TCP的方式,ADB PC客戶端也只能在本地通過localhost(本地主機(jī))與ADB daemon建立連接。
具體地,可通過多個(gè)主機(jī)服務(wù)器來實(shí)現(xiàn)ADB PC客戶端與多個(gè)模擬器的連接。其中,每個(gè)主機(jī)服務(wù)器上安裝有SSH(Secure Shell,由IETF的網(wǎng)絡(luò)工作小組所制定的、建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議)服務(wù)器,且每個(gè)主機(jī)服務(wù)器上啟動(dòng)盡可能多的模擬器,每個(gè)模擬器都開啟ADB daemon的TCP/IP(Transmission Control Protocol/Internet Protocol,傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議,又名網(wǎng)絡(luò)通訊協(xié)議)監(jiān)聽端口。ADB PC客戶端中安裝PuTTY(一種遠(yuǎn)程登錄工具),當(dāng)客戶端想要連接某個(gè)主機(jī)服務(wù)器上的模擬器時(shí),就通過設(shè)置PuTTY的會(huì)話以使客戶端與該主機(jī)服務(wù)器建立連接,同時(shí)在SSH隧道轉(zhuǎn)發(fā)處設(shè)置好端口轉(zhuǎn)發(fā)。
但是通過這種方式,客戶端同一時(shí)刻只能連接一臺(tái)主機(jī)服務(wù)器上的所有模擬器,如果要連接其他主機(jī)服務(wù)器上的模擬器,則必須斷開當(dāng)前會(huì)話后再與新主機(jī)服務(wù)器建立會(huì)話,以連接新主機(jī)服務(wù)器上的模擬器,因此,無法同時(shí)連接不同主機(jī)服務(wù)器上的模擬器,不便于管理,成本較高。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)旨在至少在一定程度上解決上述技術(shù)問題。
為此,本申請(qǐng)的第一個(gè)目的在于提出一種移動(dòng)終端中應(yīng)用程序的測試系統(tǒng),實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù)。
本申請(qǐng)的第二個(gè)目的在于提出一種移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法。
本申請(qǐng)的第三個(gè)目的在于提出一種用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器。
本申請(qǐng)的第四個(gè)目的在于提出一種用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器。
為達(dá)上述目的,根據(jù)本申請(qǐng)第一方面實(shí)施例提出了一種移動(dòng)終端中應(yīng)用程序的測試系統(tǒng),包括移動(dòng)終端管理服務(wù)器和多個(gè)設(shè)備端服務(wù)器,其中,所述多個(gè)設(shè)備端服務(wù)器分別包括至少一個(gè)移動(dòng)終端模擬器和第一通信服務(wù)模塊,其中,每個(gè)所述移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)所述移動(dòng)終端模擬器與所述第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),每個(gè)所述移動(dòng)終端模擬器通過自身的所述移動(dòng)終端管理守護(hù)進(jìn)程對(duì)所述第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽;以及所述移動(dòng)終端管理服務(wù)器具有移動(dòng)終端管理模塊和與所述移動(dòng)終端管理模塊相互通信的第二通信服務(wù)模塊,其中,所述第二通信服務(wù)模塊與所述多個(gè)設(shè)備端服務(wù)器中第一通信服務(wù)模塊之間分別保持會(huì)話連接,且所述第二通信服務(wù)模塊保存有所述移動(dòng)終端管理模塊與所述多個(gè)設(shè)備端服務(wù)器中至少一個(gè)移動(dòng)終端模擬器相互通信的映射規(guī)則,所述第二通信服務(wù)模塊根據(jù)所述映射規(guī)則建立所述移動(dòng)終端管理模塊與所述至少一個(gè)移動(dòng)終端模擬器之間的通信。
本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng),移動(dòng)終端管理服務(wù)器中的第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
本申請(qǐng)第二方面實(shí)施例提供了一種移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法,所述移動(dòng)終端中應(yīng)用程序測試系統(tǒng)包括移動(dòng)終端管理服務(wù)器和多個(gè)設(shè)備端服務(wù)器,所述設(shè)備端服務(wù)器分別包括至少一個(gè)移動(dòng)終端模擬器和第一通信服務(wù)模塊,所述移動(dòng)終端管理服務(wù)器具有移動(dòng)終端管理模塊和第二通信服務(wù)模塊,所述方法包括:所述移動(dòng)終端管理模塊生成測試消息,并將所述測試消息發(fā)送至所述第二通信服務(wù)模塊,其中,所述測試消息包括遠(yuǎn)程端口號(hào);所述第二通信服務(wù)模塊根據(jù)預(yù)設(shè)的映射規(guī)則查找與所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的本地端口號(hào)和會(huì)話號(hào),并通過與所述本地端口號(hào)對(duì)應(yīng)的端口將所述測試消息發(fā)送至所述會(huì)話號(hào)對(duì)應(yīng)的設(shè)備端服 務(wù)器中的所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口;所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的移動(dòng)終端模擬器通過監(jiān)聽所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口獲取所述測試消息。
本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法,移動(dòng)終端管理服務(wù)器中的第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
本申請(qǐng)第三方面實(shí)施例提供了一種用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器,包括:移動(dòng)終端管理模塊和與所述移動(dòng)終端管理模塊相互通信的第二通信服務(wù)模塊,其中,所述移動(dòng)終端管理模塊用于生成測試消息,并將所述測試消息發(fā)送至所述第二通信服務(wù)模塊,其中,所述測試消息包括遠(yuǎn)程端口號(hào);所述第二通信服務(wù)模塊用于根據(jù)預(yù)設(shè)的映射規(guī)則查找與所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的本地端口號(hào)和會(huì)話號(hào),并通過與所述本地端口號(hào)對(duì)應(yīng)的端口將所述測試消息發(fā)送至所述會(huì)話號(hào)對(duì)應(yīng)的設(shè)備端服務(wù)器中的所述遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口,以使監(jiān)聽所述遠(yuǎn)程端口號(hào)的移動(dòng)終端模擬器獲取所述測試消息。
本申請(qǐng)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器,第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
本申請(qǐng)第四方面實(shí)施例提供了一種用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器,包括:至少一個(gè)移動(dòng)終端模擬器和第一通信服務(wù)模塊,其中,每個(gè)所述移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)所述移動(dòng)終端模擬器與所述第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),所述第一通信服務(wù)模塊用于與移動(dòng)終端管理服務(wù)器進(jìn)行通信,以接收所述移動(dòng)終端管理服務(wù)器發(fā)送的測試消息;所述移動(dòng)終端模擬器用于通過自身的所述移動(dòng)終端管理守護(hù)進(jìn)程對(duì)所述第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽,如果所述移動(dòng)終端模擬器所述監(jiān)聽的端口接收到所述測試消息,則所述移動(dòng)終端模擬器獲取所述測試消息。
本申請(qǐng)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器,移動(dòng)終端模擬器可通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽,從而當(dāng)其所監(jiān)聽的端口 接收到移動(dòng)終端管理服務(wù)器發(fā)送的測試消息時(shí)可獲取該測試消息,為移動(dòng)終端管理服務(wù)器提供了同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
本申請(qǐng)的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請(qǐng)的實(shí)踐了解到。
附圖說明
本申請(qǐng)的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)的結(jié)構(gòu)框圖;
圖2為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)的示意圖;
圖3為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法的流程圖;
圖4為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器的結(jié)構(gòu)框圖;
圖5為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面詳細(xì)描述本申請(qǐng)的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本申請(qǐng),而不能理解為對(duì)本申請(qǐng)的限制。
在本申請(qǐng)的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本申請(qǐng)和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本申請(qǐng)的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。
在本申請(qǐng)的描述中,需要說明的是,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以具體情況理解上述術(shù)語在本申請(qǐng)中的具體含義。
下面參考附圖描述根據(jù)本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)、該系統(tǒng)的控制方法、以及用于該系統(tǒng)的移動(dòng)終端管理服務(wù)器和設(shè)備端服務(wù)器。
圖1為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)的結(jié)構(gòu)框圖。
如圖1所示,本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng)包括:移動(dòng)終端管理服務(wù)器100和多個(gè)設(shè)備端服務(wù)器200。
具體地,多個(gè)設(shè)備端服務(wù)器100包括至少一個(gè)移動(dòng)終端模擬器110和第一通信服務(wù)模塊120。其中,每個(gè)移動(dòng)終端模擬器110具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)移動(dòng)終端模擬器110與第一通信服務(wù)模塊120的一個(gè)端口對(duì)應(yīng),每個(gè)移動(dòng)終端模擬器110通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊120的端口進(jìn)行監(jiān)聽。
其中,每個(gè)移動(dòng)終端模擬器110可通過開啟其具有的移動(dòng)終端管理守護(hù)進(jìn)程的TCP/IP對(duì)第一通信服務(wù)模塊120中的相應(yīng)的端口進(jìn)行監(jiān)聽。
移動(dòng)終端管理服務(wù)器200具有移動(dòng)終端管理模塊210和與移動(dòng)終端管理模塊210相互通信的第二通信服務(wù)模塊220。其中,第二通信服務(wù)模塊220與多個(gè)設(shè)備端服務(wù)器100中第一通信服務(wù)模塊120之間分別保持會(huì)話連接,且第二通信服務(wù)模塊220保存有移動(dòng)終端管理模塊210與多個(gè)設(shè)備端服務(wù)器100中至少一個(gè)移動(dòng)終端模擬器110相互通信的映射規(guī)則,第二通信服務(wù)模塊220根據(jù)映射規(guī)則建立移動(dòng)終端管理模塊110與至少一個(gè)移動(dòng)終端模擬器210之間的通信。
在本申請(qǐng)的一個(gè)實(shí)施例中,映射規(guī)則可包括第二通信服務(wù)模塊220中的本地端口號(hào)、第二通信服務(wù)器模塊220與第一通信服務(wù)模塊120之間的會(huì)話號(hào)、第一通信服務(wù)模塊110的遠(yuǎn)程端口號(hào)之間的對(duì)應(yīng)關(guān)系。舉例來說,移動(dòng)終端管理模塊210與其中一個(gè)移動(dòng)終端模擬器110對(duì)應(yīng)的映射規(guī)則可為:本地端口A——Session N——遠(yuǎn)程端口B,從而,通過上述映射規(guī)則可通過本地端口將測試消息轉(zhuǎn)發(fā)至指定會(huì)話的遠(yuǎn)程端口。
更具體地,該系統(tǒng)的工作過程可為:移動(dòng)終端管理模塊210生成測試消息,并將測試消息發(fā)送至第二通信服務(wù)模塊210,其中,測試消息中包括一個(gè)遠(yuǎn)程端口號(hào)。第二通信服務(wù)器模塊220根據(jù)上述映射規(guī)則查找與測試消息所包括的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的本地端口號(hào)和會(huì)話號(hào),以通過本地端口號(hào)對(duì)應(yīng)的本地端口將該測試消息發(fā)送至查找到的會(huì)話號(hào)對(duì)應(yīng)的設(shè)備端服務(wù)器100中該遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口。在設(shè)備端服務(wù)器100中,監(jiān)聽該遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口的移動(dòng)終端模擬器可通過自身的移動(dòng)終端管理守護(hù)進(jìn)程獲取該測試消息。
如圖2所示,以移動(dòng)終端的操作系統(tǒng)為Android系統(tǒng)、該測試系統(tǒng)包括三個(gè)設(shè)備端服務(wù)器、每個(gè)設(shè)備服務(wù)器中包括兩個(gè)移動(dòng)終端模擬器為例,移動(dòng)終端管理模塊210可為ADB管理模塊,移動(dòng)終端管理守護(hù)進(jìn)程可為ADB守護(hù)進(jìn)程。第一通信服務(wù)模塊120可為預(yù)先在設(shè)備端服務(wù)器100中安裝好并已啟動(dòng)的SSH服務(wù)模塊,第二通信服務(wù)模塊220可為基于PuTTY 的改進(jìn)服務(wù)模塊,即可同時(shí)與多個(gè)SSH服務(wù)模塊保持會(huì)話連接的基于PuTTY的服務(wù)模塊,可被稱為PuTTY Pro??深A(yù)先在PuTTY Pro中設(shè)置好本地端口(第一通信服務(wù)模塊120即PuTTY Pro的端口)與遠(yuǎn)程端口(第二通信服務(wù)模塊220即SSH服務(wù)模塊的端口)的映射規(guī)則,并存儲(chǔ)在本地。
基于PuTTY的改進(jìn)服務(wù)模塊不同于傳統(tǒng)的PuTTY,PuTTY Pro可同時(shí)連接多個(gè)SSH服務(wù)模塊,并分別維持和管理與多個(gè)SSH服務(wù)模塊的會(huì)話。從而,當(dāng)基于PuTTY的改進(jìn)服務(wù)模塊接收到ADB管理模塊發(fā)送的測試消息后,可根據(jù)映射規(guī)則查找到測試消息中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口以及會(huì)話,并通過查找到的端口將測試消息發(fā)送至查找到的會(huì)話對(duì)應(yīng)的SSH服務(wù)模塊,以使監(jiān)聽該SSH服務(wù)模塊的與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口的移動(dòng)終端模擬器獲取到測試消息。
具體地,ADB管理模塊可通過adb connect localhost:[遠(yuǎn)程端口號(hào)]命令、通過改變遠(yuǎn)程端口號(hào)來逐個(gè)連接設(shè)備端服務(wù)器100上所有移動(dòng)終端模擬器的ADB守護(hù)進(jìn)程,并且不需斷開會(huì)話就可在不同ADB守護(hù)進(jìn)程中自由切換。由此,對(duì)于移動(dòng)終端管理服務(wù)器來說,就實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器。
本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序的測試系統(tǒng),移動(dòng)終端管理服務(wù)器中的第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
為例實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出一種移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法。
圖3為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法的流程圖。該移動(dòng)終端中應(yīng)用程序測試系統(tǒng)包括移動(dòng)終端管理服務(wù)器和多個(gè)設(shè)備端服務(wù)器,設(shè)備端服務(wù)器分別包括至少一個(gè)移動(dòng)終端模擬器和第一通信服務(wù)模塊,移動(dòng)終端管理服務(wù)器具有移動(dòng)終端管理模塊和第二通信服務(wù)模塊。
如圖3所示,根據(jù)本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法,包括以下步驟。
S301,移動(dòng)終端管理模塊生成測試消息,并將測試消息發(fā)送至第二通信服務(wù)模塊,其中,測試消息包括遠(yuǎn)程端口號(hào)。
在本申請(qǐng)的一個(gè)實(shí)施例中,移動(dòng)終端管理服務(wù)器中的移動(dòng)終端管理模塊和第二通信服務(wù)模塊可相互通信,移動(dòng)終端管理模塊生成測試消息后,可將測試消息發(fā)送至第一通信服務(wù)模 塊。
其中,測試消息的中的遠(yuǎn)程端口號(hào)為該測試消息的目標(biāo)移動(dòng)終端模擬器所監(jiān)聽的第一通信服務(wù)模塊的端口號(hào)。
S302,第二通信服務(wù)模塊根據(jù)預(yù)設(shè)的映射規(guī)則查找與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的本地端口號(hào)和會(huì)話號(hào),并通過與本地端口號(hào)對(duì)應(yīng)的端口將測試消息發(fā)送至?xí)捥?hào)對(duì)應(yīng)的設(shè)備端服務(wù)器中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口。
具體地,設(shè)備端服務(wù)器中的移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)移動(dòng)終端模擬器與第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),每個(gè)移動(dòng)終端模擬器通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽。
其中,第二通信服務(wù)模塊與多個(gè)設(shè)備端服務(wù)器中第一通信服務(wù)模塊之間分別保持會(huì)話連接,且第二通信服務(wù)模塊保存有移動(dòng)終端管理模塊與多個(gè)設(shè)備端服務(wù)器中至少一個(gè)移動(dòng)終端模擬器相互通信的映射規(guī)則。舉例來說,移動(dòng)終端管理模塊與其中一個(gè)移動(dòng)終端模擬器對(duì)應(yīng)的映射規(guī)則可為:本地端口A——Session N——遠(yuǎn)程端口B,從而,通過上述映射規(guī)則可通過本地端口將測試消息轉(zhuǎn)發(fā)至指定會(huì)話的遠(yuǎn)程端口。
在本申請(qǐng)的一個(gè)實(shí)施例中,映射規(guī)則可包括第二通信服務(wù)模塊中的本地端口號(hào)、第二通信服務(wù)器模塊與第一通信服務(wù)模塊之間的會(huì)話號(hào)、第一通信服務(wù)模塊的遠(yuǎn)程端口號(hào)之間的對(duì)應(yīng)關(guān)系。從而,第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)映射規(guī)則查找到測試消息的目標(biāo)移動(dòng)終端模擬器所監(jiān)聽的第一通信服務(wù)模塊的端口號(hào)(遠(yuǎn)程端口號(hào))對(duì)應(yīng)的第二通信服務(wù)模塊的端口號(hào)(本地端口號(hào))以及該目標(biāo)移動(dòng)終端模擬器所在的設(shè)備端服務(wù)器對(duì)應(yīng)的會(huì)話號(hào)。從而,通過本地端口號(hào)對(duì)應(yīng)的第二通信服務(wù)模塊的端口將該測試消息發(fā)送至查找到的會(huì)話號(hào)對(duì)應(yīng)的設(shè)備端服務(wù)器中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口。
S303,遠(yuǎn)程端口號(hào)對(duì)應(yīng)的移動(dòng)終端模擬器通過監(jiān)聽遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口獲取測試消息。
在本申請(qǐng)的一個(gè)實(shí)施例中,設(shè)備端服務(wù)器中的每個(gè)移動(dòng)終端模擬器與第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),且每個(gè)移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程。移動(dòng)終端模擬器可通過自身的移動(dòng)終端管理守護(hù)進(jìn)程監(jiān)聽其所對(duì)應(yīng)的第一通信服務(wù)模塊的端口,以獲取該端口接收到的消息。由此,移動(dòng)終端模擬器所監(jiān)聽的端口接收到測試消息時(shí),該移動(dòng)終端模擬器即可獲取該測試消息。其中,每個(gè)移動(dòng)終端模擬器可通過開啟其具有的移動(dòng)終端管理守護(hù)進(jìn)程的TCP/IP對(duì)第一通信服務(wù)模塊中的相應(yīng)的端口進(jìn)行監(jiān)聽。
如圖2所示,以移動(dòng)終端的操作系統(tǒng)為Android系統(tǒng)、該測試系統(tǒng)包括三個(gè)設(shè)備端服務(wù)器、每個(gè)設(shè)備服務(wù)器中包括兩個(gè)移動(dòng)終端模擬器為例,移動(dòng)終端管理模塊可為ADB管理模塊,移動(dòng)終端管理守護(hù)進(jìn)程可為ADB守護(hù)進(jìn)程。第一通信服務(wù)模塊可為預(yù)先在設(shè)備端服務(wù) 器中安裝好并已啟動(dòng)的SSH服務(wù)模塊,第二通信服務(wù)模塊可為基于PuTTY的改進(jìn)服務(wù)模塊,即可同時(shí)與多個(gè)SSH服務(wù)模塊保持會(huì)話連接的基于PuTTY的服務(wù)模塊,可被稱為PuTTY Pro??深A(yù)先在PuTTY Pro中設(shè)置好本地端口(第一通信服務(wù)模塊即PuTTY Pro的端口)與遠(yuǎn)程端口(第二通信服務(wù)模塊即SSH服務(wù)模塊的端口)的映射規(guī)則,并存儲(chǔ)在本地。
基于PuTTY的改進(jìn)服務(wù)模塊不同于傳統(tǒng)的PuTTY,PuTTY Pro可同時(shí)連接多個(gè)SSH服務(wù)模塊,并分別維持和管理與多個(gè)SSH服務(wù)模塊的會(huì)話。從而,當(dāng)基于PuTTY的改進(jìn)服務(wù)模塊接收到ADB管理模塊發(fā)送的測試消息后,可根據(jù)映射規(guī)則查找到測試消息中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口以及會(huì)話,并通過查找到的端口將測試消息發(fā)送至查找到的會(huì)話對(duì)應(yīng)的SSH服務(wù)模塊,以使監(jiān)聽該SSH服務(wù)模塊的與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口的移動(dòng)終端模擬器獲取到測試消息。
具體地,ADB管理模塊可通過adb connect localhost:[遠(yuǎn)程端口號(hào)]命令、通過改變遠(yuǎn)程端口號(hào)來逐個(gè)連接設(shè)備端服務(wù)器上所有移動(dòng)終端模擬器的ADB守護(hù)進(jìn)程,并且不需斷開會(huì)話就可在不同ADB守護(hù)進(jìn)程中自由切換。由此,對(duì)于移動(dòng)終端管理服務(wù)器來說,就實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器。
本申請(qǐng)實(shí)施例的移動(dòng)終端中應(yīng)用程序測試系統(tǒng)的控制方法,移動(dòng)終端管理服務(wù)器中的第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
為例實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出一種用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器。
圖4為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器的結(jié)構(gòu)框圖。
如圖4所示,該用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器,包括:移動(dòng)終端管理模塊210和第二通信服務(wù)模塊220,其中,第二通信服務(wù)模塊220與移動(dòng)終端管理模塊相互通信。
具體地,移動(dòng)終端管理模塊210用于生成測試消息,并將測試消息發(fā)送至第二通信服務(wù)模塊220,其中,測試消息包括遠(yuǎn)程端口號(hào)。其中,測試消息的中的遠(yuǎn)程端口號(hào)為該測試消息的目標(biāo)移動(dòng)終端模擬器所監(jiān)聽的第一通信服務(wù)模塊220的端口號(hào)。
第二通信服務(wù)模塊220用于根據(jù)預(yù)設(shè)的映射規(guī)則查找與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的本地端口號(hào) 和會(huì)話號(hào),并通過與本地端口號(hào)對(duì)應(yīng)的端口將測試消息發(fā)送至?xí)捥?hào)對(duì)應(yīng)的設(shè)備端服務(wù)器中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口,以使監(jiān)聽遠(yuǎn)程端口號(hào)的移動(dòng)終端模擬器獲取測試消息。
更具體地,設(shè)備端服務(wù)器中的移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)移動(dòng)終端模擬器與第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),每個(gè)移動(dòng)終端模擬器通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽。當(dāng)移動(dòng)終端模擬器所監(jiān)聽的端口接收到測試消息時(shí),該移動(dòng)終端模擬器即可獲取該測試消息。其中,每個(gè)移動(dòng)終端模擬器可通過開啟其具有的移動(dòng)終端管理守護(hù)進(jìn)程的TCP/IP對(duì)第一通信服務(wù)模塊中的相應(yīng)的端口進(jìn)行監(jiān)聽。
其中,第二通信服務(wù)模塊220與多個(gè)設(shè)備端服務(wù)器中第一通信服務(wù)模塊之間分別保持會(huì)話連接,且第二通信服務(wù)模塊220保存有移動(dòng)終端管理模塊210與多個(gè)設(shè)備端服務(wù)器中至少一個(gè)移動(dòng)終端模擬器相互通信的映射規(guī)則。舉例來說,移動(dòng)終端管理模塊210與其中一個(gè)移動(dòng)終端模擬器對(duì)應(yīng)的映射規(guī)則可為:本地端口A——Session N——遠(yuǎn)程端口B,從而,通過上述映射規(guī)則可通過本地端口將測試消息轉(zhuǎn)發(fā)至指定會(huì)話的遠(yuǎn)程端口。
在本申請(qǐng)的一個(gè)實(shí)施例中,映射規(guī)則可包括第二通信服務(wù)模塊220中的本地端口號(hào)、第二通信服務(wù)器模塊220與第一通信服務(wù)模塊之間的會(huì)話號(hào)、第一通信服務(wù)模塊的遠(yuǎn)程端口號(hào)之間的對(duì)應(yīng)關(guān)系。從而,第二通信服務(wù)模塊220可根據(jù)預(yù)設(shè)映射規(guī)則查找到測試消息的目標(biāo)移動(dòng)終端模擬器所監(jiān)聽的第一通信服務(wù)模塊的端口號(hào)(遠(yuǎn)程端口號(hào))對(duì)應(yīng)的第二通信服務(wù)模塊220的端口號(hào)(本地端口號(hào))以及該目標(biāo)移動(dòng)終端模擬器所在的設(shè)備端服務(wù)器對(duì)應(yīng)的會(huì)話號(hào)。從而,通過本地端口號(hào)對(duì)應(yīng)的第二通信服務(wù)模塊220的端口將該測試消息發(fā)送至查找到的會(huì)話號(hào)對(duì)應(yīng)的設(shè)備端服務(wù)器中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口。
如圖2所示,以移動(dòng)終端的操作系統(tǒng)為Android系統(tǒng)、該測試系統(tǒng)包括三個(gè)設(shè)備端服務(wù)器、每個(gè)設(shè)備服務(wù)器中包括兩個(gè)移動(dòng)終端模擬器為例,移動(dòng)終端管理模塊210可為ADB管理模塊,移動(dòng)終端管理守護(hù)進(jìn)程可為ADB守護(hù)進(jìn)程。第一通信服務(wù)模塊可為預(yù)先在設(shè)備端服務(wù)器中安裝好并已啟動(dòng)的SSH服務(wù)模塊,第二通信服務(wù)模塊220可為基于PuTTY的改進(jìn)服務(wù)模塊,可被稱為PuTTY Pro。可預(yù)先在PuTTY Pro中設(shè)置好本地端口(第一通信服務(wù)模塊即PuTTY Pro的端口)與遠(yuǎn)程端口(第二通信服務(wù)模塊即SSH服務(wù)模塊的端口)的映射規(guī)則,并存儲(chǔ)在本地。
基于PuTTY的改進(jìn)服務(wù)模塊不同于傳統(tǒng)的PuTTY,PuTTY Pro可同時(shí)連接多個(gè)SSH服務(wù)模塊,并分別維持和管理與多個(gè)SSH服務(wù)模塊的會(huì)話。從而,當(dāng)基于PuTTY的改進(jìn)服務(wù)模塊接收到ADB管理模塊發(fā)送的測試消息后,可根據(jù)映射規(guī)則查找到測試消息中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口以及會(huì)話,并通過查找到的端口將測試消息發(fā)送至查找到的會(huì)話對(duì)應(yīng)的SSH服務(wù)模塊,以使監(jiān)聽該SSH服務(wù)模塊的與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口的移動(dòng)終端模擬器獲取到測試消息。
具體地,ADB管理模塊可通過adb connect localhost:[遠(yuǎn)程端口號(hào)]命令、通過改變遠(yuǎn)程端口號(hào)來逐個(gè)連接設(shè)備端服務(wù)器上所有移動(dòng)終端模擬器的ADB守護(hù)進(jìn)程,并且不需斷開會(huì)話就可在不同ADB守護(hù)進(jìn)程中自由切換。由此,對(duì)于移動(dòng)終端管理服務(wù)器來說,就實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器。
本申請(qǐng)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的移動(dòng)終端管理服務(wù)器,第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)的映射規(guī)則維護(hù)和管理移動(dòng)終端管理管理服務(wù)器中移動(dòng)終端管理模塊與設(shè)備端服務(wù)器中的至少一個(gè)移動(dòng)終端模擬器之間的通信和會(huì)話連接,實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器,從而可使用由此構(gòu)成的系統(tǒng)組建分布式的模擬器系統(tǒng),并提供同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),并可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
為了實(shí)現(xiàn)上述實(shí)施例,本申請(qǐng)還提出一種用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器。
圖5為根據(jù)本申請(qǐng)一個(gè)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器的結(jié)構(gòu)框圖。
如圖5所示,根據(jù)本申請(qǐng)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器,包括:至少一個(gè)移動(dòng)終端模擬器110和第一通信服務(wù)模塊120,其中,每個(gè)移動(dòng)終端模擬器具有移動(dòng)終端管理守護(hù)進(jìn)程,每個(gè)移動(dòng)終端模擬器與第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng)。
具體地,第一通信服務(wù)模塊120用于與移動(dòng)終端管理服務(wù)器進(jìn)行通信,以接收移動(dòng)終端管理服務(wù)器發(fā)送的測試消息。
在本申請(qǐng)的一個(gè)實(shí)施例中,移動(dòng)終端管理服務(wù)器可包括移動(dòng)終端管理模塊和與移動(dòng)終端管理模塊進(jìn)行通信的第二通信服務(wù)模塊。移動(dòng)終端管理服務(wù)器中的第二通信模塊存儲(chǔ)有映射規(guī)則,該映射規(guī)則可包括移動(dòng)終端管理服務(wù)器中的本地端口號(hào)、移動(dòng)終端管理服務(wù)器與第一通信服務(wù)模塊120之間的會(huì)話號(hào)、第一通信服務(wù)模塊120的遠(yuǎn)程端口號(hào)之間的對(duì)應(yīng)關(guān)系。舉例來說,移動(dòng)終端管理模塊與其中一個(gè)移動(dòng)終端模擬器110對(duì)應(yīng)的映射規(guī)則可為:本地端口A——Session N——遠(yuǎn)程端口B,從而,通過上述映射規(guī)則可通過本地端口將測試消息轉(zhuǎn)發(fā)至指定會(huì)話的遠(yuǎn)程端口。
更具體地,第二通信服務(wù)模塊可與多個(gè)設(shè)備端服務(wù)器中第一通信服務(wù)模塊之間分別保持會(huì)話連接。從而,第二通信服務(wù)模塊可根據(jù)預(yù)設(shè)映射規(guī)則查找到測試消息的目標(biāo)移動(dòng)終端模擬器所監(jiān)聽的第一通信服務(wù)模塊的端口號(hào)(遠(yuǎn)程端口號(hào))對(duì)應(yīng)的第二通信服務(wù)模塊的端口號(hào)(本地端口號(hào))以及該目標(biāo)移動(dòng)終端模擬器所在的設(shè)備端服務(wù)器對(duì)應(yīng)的會(huì)話號(hào)。從而,通過本地端口號(hào)對(duì)應(yīng)的第二通信服務(wù)模塊的端口將該測試消息發(fā)送至查找到的會(huì)話號(hào)對(duì)應(yīng)的設(shè) 備端服務(wù)器中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口。
移動(dòng)終端模擬器110用于通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽,如果移動(dòng)終端模擬器監(jiān)聽的端口接收到測試消息,則移動(dòng)終端模擬器獲取測試消息。
在本申請(qǐng)的一個(gè)實(shí)施例中,設(shè)備端服務(wù)器中的每個(gè)移動(dòng)終端模擬器110與第一通信服務(wù)模塊的一個(gè)端口對(duì)應(yīng),且每個(gè)移動(dòng)終端模擬器110具有移動(dòng)終端管理守護(hù)進(jìn)程。移動(dòng)終端模擬器110可通過自身的移動(dòng)終端管理守護(hù)進(jìn)程監(jiān)聽其所對(duì)應(yīng)的第一通信服務(wù)模塊的端口,以獲取該端口接收到的消息。由此,移動(dòng)終端模擬器所監(jiān)聽的端口接收到測試消息時(shí),該移動(dòng)終端模擬器110即可獲取該測試消息。其中,每個(gè)移動(dòng)終端模擬器110可通過開啟其具有的移動(dòng)終端管理守護(hù)進(jìn)程的TCP/IP對(duì)第一通信服務(wù)模塊中的相應(yīng)的端口進(jìn)行監(jiān)聽。
如圖2所示,以移動(dòng)終端的操作系統(tǒng)為Android系統(tǒng)為例,移動(dòng)終端管理模塊可為ADB管理模塊,移動(dòng)終端管理守護(hù)進(jìn)程可為ADB守護(hù)進(jìn)程。第一通信服務(wù)模塊可為預(yù)先在設(shè)備端服務(wù)器中安裝好并已啟動(dòng)的SSH服務(wù)模塊,第二通信服務(wù)模塊可為基于PuTTY的改進(jìn)服務(wù)模塊,可被稱為PuTTY Pro??深A(yù)先在PuTTY Pro中設(shè)置好本地端口(第一通信服務(wù)模塊即PuTTY Pro的端口)與遠(yuǎn)程端口(第二通信服務(wù)模塊即SSH服務(wù)模塊的端口)的映射規(guī)則,并存儲(chǔ)在本地。
基于PuTTY的改進(jìn)服務(wù)模塊不同于傳統(tǒng)的PuTTY,PuTTY Pro可同時(shí)連接多個(gè)SSH服務(wù)模塊,并分別維持和管理與多個(gè)SSH服務(wù)模塊的會(huì)話。從而,當(dāng)基于PuTTY的改進(jìn)服務(wù)模塊接收到ADB管理模塊發(fā)送的測試消息后,可根據(jù)映射規(guī)則查找到測試消息中的遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口以及會(huì)話,并通過查找到的端口將測試消息發(fā)送至查找到的會(huì)話對(duì)應(yīng)的SSH服務(wù)模塊,以使監(jiān)聽該SSH服務(wù)模塊的與遠(yuǎn)程端口號(hào)對(duì)應(yīng)的端口的移動(dòng)終端模擬器獲取到測試消息。
具體地,ADB管理模塊可通過adb connect localhost:[遠(yuǎn)程端口號(hào)]命令、通過改變遠(yuǎn)程端口號(hào)來逐個(gè)連接設(shè)備端服務(wù)器上所有移動(dòng)終端模擬器的ADB守護(hù)進(jìn)程,并且不需斷開會(huì)話就可在不同ADB守護(hù)進(jìn)程中自由切換。由此,對(duì)于移動(dòng)終端管理服務(wù)器來說,就實(shí)現(xiàn)了同時(shí)、遠(yuǎn)程連接多個(gè)移動(dòng)終端模擬器。
本申請(qǐng)實(shí)施例的用于移動(dòng)終端中應(yīng)用程序測試的設(shè)備端服務(wù)器,移動(dòng)終端模擬器可通過自身的移動(dòng)終端管理守護(hù)進(jìn)程對(duì)第一通信服務(wù)模塊的端口進(jìn)行監(jiān)聽,從而當(dāng)其所監(jiān)聽的端口接收到移動(dòng)終端管理服務(wù)器發(fā)送的測試消息時(shí)可獲取該測試消息,為移動(dòng)終端管理服務(wù)器提供了同時(shí)連接多個(gè)模擬器的服務(wù),或直接提供應(yīng)用程序測試服務(wù),可使用由此構(gòu)成的系統(tǒng)替代真實(shí)手機(jī)或其他移動(dòng)設(shè)備組建的適配測試系統(tǒng)(如:百度移動(dòng)云測試中心、Testin云測等),從而達(dá)到節(jié)約成本、方便管理的目的。
流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個(gè)或更多個(gè)用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請(qǐng)的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時(shí)的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請(qǐng)的實(shí)施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。
在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲(chǔ)、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個(gè)或多個(gè)布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲(chǔ)器(RAM),只讀存儲(chǔ)器(ROM),可擦除可編輯只讀存儲(chǔ)器(EPROM或閃速存儲(chǔ)器),光纖裝置,以及便攜式光盤只讀存儲(chǔ)器(CDROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對(duì)紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時(shí)以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。
應(yīng)當(dāng)理解,本申請(qǐng)的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個(gè)步驟或方法可以用存儲(chǔ)在存儲(chǔ)器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對(duì)數(shù)據(jù)信號(hào)實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
此外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
上述提到的存儲(chǔ)介質(zhì)可以是只讀存儲(chǔ)器,磁盤或光盤等。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本申請(qǐng)的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本申請(qǐng)的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本申請(qǐng)的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本申請(qǐng)的范圍由權(quán)利要求及其等同限定。