欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

產(chǎn)品序列號處理裝置及方法與流程

文檔序號:11949909閱讀:464來源:國知局
產(chǎn)品序列號處理裝置及方法與流程

本發(fā)明涉及自動化測試技術(shù)領(lǐng)域,具體涉及一種產(chǎn)品序列號處理裝置及方法。



背景技術(shù):

目前,為了能夠發(fā)現(xiàn)移動終端一些復現(xiàn)率低的故障,大多數(shù)廠商進行大規(guī)模的自動化測試。以手機為例,進行手機自動化測試的前提就是確保能夠識別并穩(wěn)定的連接手機。而連接手機的方式無外乎兩種,有線和無線:有線就是通過USB線進行數(shù)據(jù)傳輸,無線則是通過無線網(wǎng)絡通訊。不論有線還是無線,最終都是調(diào)用手機內(nèi)部端口或者服務,一種常用的方式就是通過ADB(Android Debug Bridge,安卓調(diào)試橋)啟動系統(tǒng)自帶的服務,用于響應下發(fā)的測試腳本或指令,達到自動化測試目的。由于大規(guī)模的測試自動化測試,需要同時連接數(shù)十部甚至百步手機,為了確保測試環(huán)境和結(jié)果的一致性,通常采用多端口的服務器來連接多部手機,或采用集成服務器的方式,同時連接多部手機。當通過ADB連接的手機超過2臺,尤其是同型號同批次的手機時,就必須在下發(fā)的指令中指出需要將指令下達給哪一個手機,即在指令中加入手機的SN(Serial Number,產(chǎn)品序列號)碼。然而,部分廠商生產(chǎn)的,相同批次的同型號手機的SN碼完全一致,此時,ADB無法唯一的定位手機,進而無法將指令唯一下發(fā)至對應的手機,存在移動終端定位不準確的問題。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種產(chǎn)品序列號處理裝置及方法,旨在實現(xiàn)基于產(chǎn)品序列號的移動終端精確定位。

為實現(xiàn)上述發(fā)明目的,本發(fā)明提供一種產(chǎn)品序列號處理裝置,所述產(chǎn)品序列號處理裝置包括:

識別模塊,用于獲取連接的各被測移動終端的實際產(chǎn)品序列號,依次選中并識別獲取的各被測移動終端的實際產(chǎn)品序列號是否滿足預設替換條件,其中,所述預設替換條件包括有未被選中的被測移動終端的實際產(chǎn)品序列號與選中的被測移動終端的實際產(chǎn)品序列號相同;

替換模塊,用于在有被測移動終端的實際產(chǎn)品序列號滿足所述預設替換條件時,按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,以使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號。

可選地,所述替換模塊還用于在有被測移動終端的實際產(chǎn)品序列號滿足所述預設替換條件時,顯示產(chǎn)品序列號的替換界面;所述替換模塊還用于在預設時間段內(nèi)未基于所述替換界面接收到輸入的虛擬產(chǎn)品序列號時,按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號;所述替換模塊還用于在預設時間段內(nèi)基于所述替換界面接收到輸入的虛擬產(chǎn)品序列號時,識別輸入的虛擬產(chǎn)品序列號是否唯一,是則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為輸入的虛擬產(chǎn)品序列號。

可選地,所述產(chǎn)品序列號處理裝置還包括轉(zhuǎn)發(fā)模塊,用于在偵測到待執(zhí)行的測試指令時,提取所述測試指令攜帶的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號;所述轉(zhuǎn)發(fā)模塊還用于將所述測試指令發(fā)送至提取的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號所對應的被測移動終端執(zhí)行。

可選地,所述預設替換條件還包括:

選中的被測移動終端的實際產(chǎn)品序列號的復雜度達到預設復雜度,且選中的被測移動終端的實際產(chǎn)品序列號與未被選中的被測移動終端的實際產(chǎn)品序列號不同。

可選地,所述預設替換規(guī)則包括:

根據(jù)各滿足所述預設替換條件的實際產(chǎn)品序列號,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,為各對應的被測移動終端分配字符長度短于實際產(chǎn)品序列號字符長度且依序增加的數(shù)字編號,并將分配的數(shù)字編號作為待替換的虛擬產(chǎn)品序列號;

或者,根據(jù)各滿足所述預設替換條件的實際產(chǎn)品序列號,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,按照字母排列順序依次為各對應的被測移動終端分配字符長度短于實際產(chǎn)品序列號字符長度的字母編號,并將分配的字母編號作為待替換的虛擬產(chǎn)品序列號。

此外,為了上述發(fā)明目的,本發(fā)明還提供一種產(chǎn)品序列號處理方法,所述產(chǎn)品序列號處理方法包括:

獲取連接的各被測移動終端的實際產(chǎn)品序列號,依次選中并識別獲取的各被測移動終端的實際產(chǎn)品序列號是否滿足預設替換條件,其中,所述預設替換條件包括有未被選中的被測移動終端的實際產(chǎn)品序列號與選中的被測移動終端的實際產(chǎn)品序列號相同;

在有被測移動終端的實際產(chǎn)品序列號滿足所述預設替換條件時,按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,以使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號。

可選地,所述按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號的步驟之前,還包括:

在有被測移動終端的實際產(chǎn)品序列號滿足所述預設替換條件時,顯示產(chǎn)品序列號的替換界面;

在預設時間段內(nèi)未基于所述替換界面接收到輸入的虛擬產(chǎn)品序列號時,轉(zhuǎn)入執(zhí)行所述按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號的步驟;

在預設時間段內(nèi)基于所述替換界面接收到輸入的虛擬產(chǎn)品序列號時,識別輸入的虛擬產(chǎn)品序列號是否唯一,是則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為輸入的虛擬產(chǎn)品序列號。

可選地,所述按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號的步驟之后,還包括:

在偵測到待執(zhí)行的測試指令時,提取所述測試指令攜帶的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號;

將所述測試指令發(fā)送至提取的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號所對應的被測移動終端執(zhí)行。

可選地,所述預設替換條件還包括:

選中的被測移動終端的實際產(chǎn)品序列號的復雜度達到預設復雜度,且選中的被測移動終端的實際產(chǎn)品序列號與未被選中的被測移動終端的實際產(chǎn)品序列號不同。

可選地,所述預設替換規(guī)則包括:

根據(jù)各滿足所述預設替換條件的實際產(chǎn)品序列號,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,為各對應的被測移動終端分配字符長度短于實際產(chǎn)品序列號字符長度且依序增加的數(shù)字編號,并將分配的數(shù)字編號作為待替換的虛擬產(chǎn)品序列號;

或者,根據(jù)各滿足所述預設替換條件的實際產(chǎn)品序列號,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,按照字母排列順序依次為各對應的被測移動終端分配字符長度短于實際產(chǎn)品序列號字符長度的字母編號,并將分配的字母編號作為待替換的虛擬產(chǎn)品序列號。

本發(fā)明的產(chǎn)品序列號處理裝置及方法,通過對連接的各被測移動終端的實際產(chǎn)品序列號進行識別,以確定是否存在至少兩個實際產(chǎn)品序列號相同的被測移動終端,若是則將實際產(chǎn)品序列號相同的被測移動終端的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,從而使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號,進而實現(xiàn)基于產(chǎn)品序列號的移動終端精確定位。

附圖說明

圖1為本發(fā)明產(chǎn)品序列號處理裝置第一實施例的模塊示意圖;

圖2為本發(fā)明產(chǎn)品序列號處理裝置第一實施例中手機的自動化測試的架構(gòu)示例圖;

圖3為本發(fā)明產(chǎn)品序列號處理裝置第一實施例中測試指令走向的邏輯示意圖;

圖4為本發(fā)明產(chǎn)品序列號處理裝置第一實施例中產(chǎn)品序列號處理裝置的設置示例圖;

圖5為本發(fā)明產(chǎn)品序列號處理方法第一實施例的流程示意圖。

具體實施方式

應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互任意結(jié)合。

參照圖1,在本發(fā)明產(chǎn)品序列號處理裝置的第一實施例中,該產(chǎn)品序列號處理裝置包括:

識別模塊10,用于獲取連接的各被測移動終端的實際產(chǎn)品序列號,依次選中并識別獲取的各被測移動終端的實際產(chǎn)品序列號是否滿足預設替換條件,其中,預設替換條件包括有未被選中的被測移動終端的實際產(chǎn)品序列號與選中的被測移動終端的實際產(chǎn)品序列號相同;

替換模塊20,用于在有被測移動終端的實際產(chǎn)品序列號滿足所述預設替換條件時,按照預設替換規(guī)則將滿足所述預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,以使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號。

需要說明的是,以下以被測移動終端為手機對本實施例提供的產(chǎn)品序列號處理裝置的功能實現(xiàn)進行說明。

首先,請參照圖2,如圖2所示,在手機的自動化測試中,我們將負責下發(fā)測試任務的電腦和有著眾多端口的服務器,抽象并稱之為工作站。其中,電腦負責編輯測試腳本和下發(fā)測試腳本(包括多個測試指令),是整個自動化測試的控制樞紐,它通過路由器與有眾多端口的服務器集線器連接。服務器集線器的每個端口則是通過ADB連接手機,服務器集線器其實就是多端口的PC。每個服務器集線器只能啟動一個ADBServer(安卓調(diào)試橋服務器)進程,并綁定5037的端口,這個過程中,服務器集線器就是ADBClient;手機系統(tǒng)自帶的ADBd進程(安卓調(diào)試橋守護進程)作為守護進程,為電腦的ADBServer提供服務,響應電腦下發(fā)的測試指令,其邏輯示意圖如圖3所示。

結(jié)合參照圖3,在這個過程中,ADBd可以讀取手機的信息,并和電腦的ADBServer進行通訊和數(shù)據(jù)傳輸。但是,由于一個ADBServer可同時連接多個devices,Client(客戶端)在下發(fā)測試指令時,必須明確給出執(zhí)行測試指令device(設備)的產(chǎn)品序列號(后續(xù)簡稱為SN碼),即在命令的前方加上-s devices_sn,以明確給出需要執(zhí)行測試指令的device。

目前,手機采用的SN碼通常是16位字母+數(shù)字的組合方式,當下發(fā)測試指令時候,編程人員需要認清并準確識別device的SN碼,一旦測試手機的數(shù)目增多時,這將是一件非常困難的事情;此外,也有部分手機廠商使用內(nèi)部項目名作為SN碼,當測試手機數(shù)目超過2臺的時候,則無法定位識別手機;而且,還存在人為root手機,并覆蓋手機自帶的屬性文件修改SN碼的情況,但這樣容易讓手機不穩(wěn)定。為克服上述問題,本實施例將產(chǎn)品序列號處理裝置內(nèi)嵌在電腦的ADB內(nèi),如圖4所示。

具體的,結(jié)合參照圖2至圖4,識別模塊10首先通過預置的命令,獲取到連接的各手機的各種信息,至少包括實際SN碼,連接的時間戳和連接的端口號,并根據(jù)獲取到的這些信息建立對應各手機的devices_SN碼表,將時間戳或端口號作為碼表的關(guān)鍵字(后續(xù)簡稱為KEY)。其中,由于電腦的工作機制,對應各手機的時間戳或者端口號均是唯一的,即使存在SN碼相同的兩個手機,也可根據(jù)SN碼相同的兩個手機的時間戳或端口號進行區(qū)分。

然后,識別模塊10依次選中已生成的對應各手機的devices_SN碼表,判斷是否有手機的實際SN碼滿足預設替換條件,其中,預設替換條件包括有未被選中的被測移動終端的實際SN碼與選中的被測移動終端的實際SN碼相同。

當識別到有手機的實際SN碼滿足前述預設條件時(即至少存在實際SN碼相同的兩個手機),識別模塊10指示替換模塊20將滿足預設替換條件的實際SN碼替換為虛擬SN碼。

在接收到識別模塊10指示進行替換操作的指示信息時,替換模塊20按照預設替換規(guī)則將滿足預設替換條件的實際SN碼替換為虛擬SN碼,例如,預設替換規(guī)則為“將實際SN碼替換為簡單的數(shù)字編號或字母編號,且用于替換實際SN碼的數(shù)字編號和字母均相同”,替換模塊20將兩個滿足預設替換條件的實際SN碼的手機所對應的,devices_SN碼表中的實際SN碼分別修改為“1”和“2”,作為其虛擬SN碼,從而使得各手機分別對應唯一的實際SN碼或虛擬SN碼。

在完成替換后,替換模塊20將各手機和實際SN碼或虛擬SN碼的映射關(guān)系輸出至Client。

至此,Client呈現(xiàn)給用戶的各手機的SN碼(包括實際SN碼和虛擬SN碼)均不相同,用戶可以使用實際SN碼或虛擬SN碼唯一指定devices,實現(xiàn)測試指令的精確下發(fā)。

本實施例提出的產(chǎn)品序列號處理裝置,通過對連接的各被測移動終端的實際產(chǎn)品序列號進行識別,以確定是否存在至少兩個實際產(chǎn)品序列號相同的被測移動終端,若是則將實際產(chǎn)品序列號相同的被測移動終端的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,從而使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號,進而實現(xiàn)基于產(chǎn)品序列號的移動終端精確定位。

進一步地,基于第一實施例,提出本發(fā)明產(chǎn)品序列號處理裝置的第二實施例,本實施例與第一實施例的區(qū)別在于,在本實施例中,替換模塊20還用于在有被測移動終端的實際產(chǎn)品序列號滿足預設替換條件時,顯示產(chǎn)品序列號的替換界面;替換模塊20還用于在預設時間段內(nèi)未基于顯示的替換界面接收到輸入的虛擬產(chǎn)品序列號時,按照預設替換規(guī)則將滿足預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號;替換模塊20還用于在預設時間段內(nèi)基于顯示的替換界面接收到輸入的虛擬產(chǎn)品序列號時,識別輸入的虛擬產(chǎn)品序列號是否唯一,是則將滿足預設替換條件的實際產(chǎn)品序列號替換為輸入的虛擬產(chǎn)品序列號。

需要說明的是,本實施例與第一實施例的區(qū)別在于,本實施例除了能夠由產(chǎn)品序列號處理裝置自動進行實際SN碼的替換之外,還提供給用戶替換實際SN碼的權(quán)限。以下僅針對該區(qū)別進行說明,其他可參照前述第一實施例,此處不再贅述。

具體的,在本發(fā)明實施例中,替換模塊20在接收到識別模塊10指示進行替換操作的指示信息時,首先在其所在電腦顯示SN碼的替換界面,以供用戶輸入用于替換滿足預設替換條件的實際SN碼的虛擬SN碼,同時,啟動內(nèi)部定時器開始計時。可選地,顯示的替換界面還可以包括提示用戶輸入簡單的數(shù)字編號或者單個字母作為虛擬SN碼,用于替換實際SN碼的提示信息。

當計時到達預設時間段時,若未在預設時間段內(nèi)接收到用戶輸入的虛擬SN碼,則替換模塊20自動將滿足預設替換條件的實際SN碼替換為虛擬SN碼,具體可參照前述第一實施例,此處不再贅述。

若在預設時間段內(nèi)接收到用戶輸入的虛擬SN碼,首先識別用戶輸入的虛擬SN碼是否唯一,即識別用戶輸入的虛擬SN碼與當前對應各手機的devices_SN碼表中的實際SN碼或虛擬SN碼是否相同,在不存在與用戶輸入的虛擬SN碼相同的實際SN碼或虛擬SN碼時,用戶輸入的虛擬SN碼唯一;在識別到用戶輸入的虛擬SN碼唯一時,替換模塊20將滿足預設替換條件的實際SN碼替換為用戶輸入虛擬SN碼,即將滿足預設替換條件的實際SN碼的手機所對應的,devices_SN碼表中的實際SN碼替換為用戶輸入虛擬SN碼。

其中,本實施例不限制前述預設時間段的具體設置,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要進行設置,例如,可將其設置5秒。

進一步地,基于第一實施例,提出本發(fā)明產(chǎn)品序列號處理裝置的第三實施例,本實施例與第一實施例的區(qū)別在于,在本實施例中,產(chǎn)品序列號處理裝置還包括轉(zhuǎn)發(fā)模塊,用于在偵測到待執(zhí)行的測試指令時,提取偵測到的測試指令攜帶的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號;轉(zhuǎn)發(fā)模塊還用于將偵測到的測試指令發(fā)送至提取的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號所對應的被測移動終端執(zhí)行。

需要說明的是,本實施例在第一實施例的基礎上,增加了測試指令的發(fā)送操作。以下僅針對該區(qū)別進行說明,其他可參照前述實施例,此處不再贅述。

基于上述各實施例的描述,本領(lǐng)域技術(shù)人員可以理解的是,前述替換模塊20在完成實際SN碼的替換操作之后,各手機均對應有唯一的實際SN碼或虛擬SN碼。相應的,當用戶操作電腦下發(fā)測試指令至手機時,下發(fā)的測試指令中將攜帶唯一存在的實際SN碼或虛擬SN碼。

在偵測到用戶下發(fā)的待執(zhí)行的測試指令時,轉(zhuǎn)發(fā)模塊拆箱該測試指令,提取出該測試指令攜帶的實際SN碼或虛擬SN碼,進而查找到提取出的實際SN碼或虛擬SN碼所在的devices_SN碼表,根據(jù)其中的時間戳或端口號,精確定位到用戶指定的手機(即提取出的實際SN碼或虛擬SN碼所對應的手機),將該測試指令下發(fā)給該手機執(zhí)行。該手機接收到測試指令后,調(diào)用相關(guān)資源,執(zhí)行接收的測試指令,其中,若本地服務無法滿足該測試指令請求,則調(diào)用相應的虛擬機進程等。

本實施例能夠基于被測移動終端的實際SN碼或虛擬SN碼,實現(xiàn)了測試指令的精確下發(fā),進而可實現(xiàn)大規(guī)模的批量自動化測試。

進一步地,基于前述任一實施例,提出本發(fā)明產(chǎn)品序列號處理裝置的第四實施例,本實施例與前述實施例的區(qū)別在于,本實施例還提供另一種可選地預設替換條件,在本實施例中,前述預設替換條件還包括:

選中的被測移動終端的實際產(chǎn)品序列號的復雜度達到預設復雜度,且選中的被測移動終端的實際產(chǎn)品序列號與未被選中的被測移動終端的實際產(chǎn)品序列號不同。

需要說明的是,目前,手機的SN碼常用的是16位字母+數(shù)字的組合方式,當下發(fā)測試指令時候,編程人員(即用戶)需要認清并準確識別不同手機的SN碼,一旦手機數(shù)目增多時,這將是一件非常困難的事情。因此,為便于編程人員識別,在本實施例中,觸發(fā)替換模塊20執(zhí)行替換操作的預設替換條件還包括:選中的被測移動終端的實際SN碼的復雜度達到預設復雜度,且選中的被測移動終端的實際SN碼與未被選中的被測移動終端的實際SN碼不同。通俗的說,即替換模塊20除了替換相同的實際SN碼之外,還在不存在相同的實際SN碼且識別模塊10識別到手機的實際SN碼較復雜時,將較復雜的實際SN碼替換為虛擬SN碼。

本領(lǐng)域技術(shù)人員可以理解的是,越復雜的數(shù)據(jù)在壓縮后的數(shù)據(jù)量越大,即可通過數(shù)據(jù)在壓縮后的數(shù)據(jù)量大小,在一定程度上表征數(shù)據(jù)的復雜程度??蛇x地,識別模塊10在識別選中的手機的實際SN碼是否“復雜”時,可以采用數(shù)據(jù)壓縮算法對選中的手機的實際SN碼進行壓縮,并判斷壓縮后的實際SN碼的數(shù)據(jù)量是否大于預設數(shù)據(jù)量,若達到預設數(shù)據(jù)量則識別選中的手機的實際SN碼“復雜”。其中,具體采用何種數(shù)據(jù)壓縮算法,本領(lǐng)域技術(shù)人員可根據(jù)實際需要進選取,本實施例不做具體限制。

進一步地,在本實施例中,為實現(xiàn)實際SN碼的簡化,替換模塊20采用的預設替換規(guī)則包括:

根據(jù)各滿足預設替換條件的實際SN碼,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,為各對應的被測移動終端分配字符長度短于實際SN碼字符長度且依序增加的數(shù)字編號,并將分配的數(shù)字編號作為待替換的虛擬SN碼;

或者,根據(jù)各滿足預設替換條件的實際SN碼,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,按照字母排列順序依次為各對應的被測移動終端分配字符長度短于實際SN碼字符長度的字母編號,并將分配的字母編號作為待替換的虛擬SN碼。

在具體實施時,本領(lǐng)域技術(shù)人員可根據(jù)實際需要選取用作虛擬SN碼的數(shù)字編號和字母編號的字符字符長度,例如,可以選取兩位的數(shù)字編號,如依次增加的“00”、“01”、“02”、“03”;也可以選取單個的字母編號,如按字母排列順序依次排列的“a”、“b”、“c”、“d”等。

進一步的,本發(fā)明還提供了一種產(chǎn)品序列號處理方法,結(jié)合參照圖1和圖5,對應于本發(fā)明產(chǎn)品序列號處理裝置的第一實施例,在本發(fā)明產(chǎn)品序列號處理方法的第一實施例中,該產(chǎn)品序列號處理方法包括:

步驟S10,獲取連接的各被測移動終端的實際產(chǎn)品序列號,依次選中并識別獲取的各被測移動終端的實際產(chǎn)品序列號是否滿足預設替換條件,其中,預設替換條件包括有未被選中的被測移動終端的實際產(chǎn)品序列號與選中的被測移動終端的實際產(chǎn)品序列號相同;

步驟S20,在有被測移動終端的實際產(chǎn)品序列號滿足預設替換條件時,按照預設替換規(guī)則將滿足預設替換條件的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,以使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號。

需要說明的是,本實施例提出的產(chǎn)品序列號處理方法由圖1所示的產(chǎn)品序列號處理裝置執(zhí)行,以下以產(chǎn)品序列號處理方法的執(zhí)行主體為產(chǎn)品序列號處理裝置,被測移動終端為手機對本實施例提供的產(chǎn)品序列號處理方法的實現(xiàn)進行說明。

首先,請參照圖2,如圖2所示,在手機的自動化測試中,我們將負責下發(fā)測試任務的電腦和有著眾多端口的服務器,抽象并稱之為工作站。其中,電腦負責編輯測試腳本和下發(fā)測試腳本(包括多個測試指令),是整個自動化測試的控制樞紐,它通過路由器與有眾多端口的服務器集線器連接。服務器集線器的每個端口則是通過ADB連接手機,服務器集線器其實就是多端口的PC。每個服務器集線器只能啟動一個ADBServer進程(安卓調(diào)試橋服務器進程),并綁定5037的端口,這個過程中,服務器集線器就是ADBClient;手機系統(tǒng)自帶的ADBd進程(安卓調(diào)試橋守護進程)作為守護進程,為電腦的ADBServer提供服務,響應電腦下發(fā)的測試指令,其邏輯示意圖如圖3所示。

結(jié)合參照圖3,在這個過程中,ADBd可以讀取手機的信息,并和電腦的ADBServer進行通訊和數(shù)據(jù)傳輸。但是,由于一個ADBServer可同時連接多個devices,Client(客戶端)在下發(fā)測試指令時,必須明確給出執(zhí)行測試指令device(設備)的產(chǎn)品序列號(后續(xù)簡稱為SN碼),即在命令的前方加上-s devices_sn,以明確給出需要執(zhí)行測試指令的device。

目前,手機采用的SN碼通常是16位字母+數(shù)字的組合方式,當下發(fā)測試指令時候,編程人員需要認清并準確識別device的SN碼,一旦測試手機的數(shù)目增多時,這將是一件非常困難的事情;此外,也有部分手機廠商使用內(nèi)部項目名作為SN碼,當測試手機數(shù)目超過2臺的時候,則無法定位識別手機;而且,還存在人為root手機,并覆蓋手機自帶的屬性文件修改SN碼的情況,但這樣容易讓手機不穩(wěn)定。為克服上述問題,本實施例將產(chǎn)品序列號處理裝置內(nèi)嵌在電腦的ADB內(nèi),如圖4所示。

具體的,結(jié)合參照圖2至圖4,識別模塊10首先通過預置的命令,獲取到連接的各手機的各種信息,至少包括實際SN碼,連接的時間戳和連接的端口號,并根據(jù)獲取到的這些信息建立對應各手機的devices_SN碼表,將時間戳或端口號作為碼表的關(guān)鍵字(后續(xù)簡稱為KEY)。其中,由于電腦的工作機制,對應各手機的時間戳或者端口號均是唯一的,即使存在SN碼相同的兩個手機,也可根據(jù)SN碼相同的兩個手機的時間戳或端口號進行區(qū)分。

然后,識別模塊10依次選中已生成的對應各手機的devices_SN碼表,判斷是否有手機的實際SN碼滿足預設替換條件,其中,預設替換條件包括有未被選中的被測移動終端的實際SN碼與選中的被測移動終端的實際SN碼相同。

當識別到有手機的實際SN碼滿足前述預設條件時(即至少存在實際SN碼相同的兩個手機),識別模塊10指示替換模塊20將滿足預設替換條件的實際SN碼替換為虛擬SN碼。

在接收到識別模塊10指示進行替換操作的指示信息時,替換模塊20按照預設替換規(guī)則將滿足預設替換條件的實際SN碼替換為虛擬SN碼,例如,預設替換規(guī)則為“將實際SN碼替換為簡單的數(shù)字編號或字母編號,且用于替換實際SN碼的數(shù)字編號和字母均相同”,替換模塊20將兩個滿足預設替換條件的實際SN碼的手機所對應的,devices_SN碼表中的實際SN碼分別修改為“1”和“2”,作為其虛擬SN碼,從而使得各手機分別對應唯一的實際SN碼或虛擬SN碼。

在完成替換后,替換模塊20將各手機和實際SN碼或虛擬SN碼的映射關(guān)系輸出至Client。

至此,Client呈現(xiàn)給用戶的各手機的SN碼(包括實際SN碼和虛擬SN碼)均不相同,用戶可以使用實際SN碼或虛擬SN碼唯一指定devices,實現(xiàn)測試指令的精確下發(fā)。

本實施例提出的產(chǎn)品序列號處理方法,通過對連接的各被測移動終端的實際產(chǎn)品序列號進行識別,以確定是否存在至少兩個實際產(chǎn)品序列號相同的被測移動終端,若是則將實際產(chǎn)品序列號相同的被測移動終端的實際產(chǎn)品序列號替換為虛擬產(chǎn)品序列號,從而使得各被測移動終端分別對應唯一的實際產(chǎn)品序列號或虛擬產(chǎn)品序列號,進而實現(xiàn)基于產(chǎn)品序列號的移動終端精確定位。

進一步地,基于第一實施例,提出本發(fā)明產(chǎn)品序列號處理方法的第二實施例,對應于前述產(chǎn)品序列號處理裝置的第二實施例,本實施例與第一實施例的區(qū)別在于,在本實施例中,步驟S20之前,還包括:

在有被測移動終端的實際產(chǎn)品序列號滿足預設替換條件時,顯示產(chǎn)品序列號的替換界面;

在預設時間段內(nèi)未基于顯示的替換界面接收到輸入的虛擬產(chǎn)品序列號時,轉(zhuǎn)入執(zhí)行步驟S20;

在預設時間段內(nèi)基于顯示的替換界面接收到輸入的虛擬產(chǎn)品序列號時,識別輸入的虛擬產(chǎn)品序列號是否唯一,是則將滿足預設替換條件的實際產(chǎn)品序列號替換為輸入的虛擬產(chǎn)品序列號。

需要說明的是,本實施例與第一實施例的區(qū)別在于,本實施例除了能夠由產(chǎn)品序列號處理裝置自動進行實際SN碼的替換之外,還提供給用戶替換實際SN碼的權(quán)限。以下僅針對該區(qū)別進行說明,其他可參照前述第一實施例,此處不再贅述。

具體的,在本發(fā)明實施例中,替換模塊20在接收到識別模塊10指示進行替換操作的指示信息時,首先在其所在電腦顯示SN碼的替換界面,以供用戶輸入用于替換滿足預設替換條件的實際SN碼的虛擬SN碼,同時,啟動內(nèi)部定時器開始計時??蛇x地,顯示的替換界面還可以包括提示用戶輸入簡單的數(shù)字編號或者單個字母作為虛擬SN碼,用于替換實際SN碼的提示信息。

當計時到達預設時間段時,若未在預設時間段內(nèi)接收到用戶輸入的虛擬SN碼,則替換模塊20自動將滿足預設替換條件的實際SN碼替換為虛擬SN碼,具體可參照前述第一實施例,此處不再贅述。

若在預設時間段內(nèi)接收到用戶輸入的虛擬SN碼,首先識別用戶輸入的虛擬SN碼是否唯一,即識別用戶輸入的虛擬SN碼與當前對應各手機的devices_SN碼表中的實際SN碼或虛擬SN碼是否相同,在不存在與用戶輸入的虛擬SN碼相同的實際SN碼或虛擬SN碼時,用戶輸入的虛擬SN碼唯一;在識別到用戶輸入的虛擬SN碼唯一時,替換模塊20將滿足預設替換條件的實際SN碼替換為用戶輸入虛擬SN碼,即將滿足預設替換條件的實際SN碼的手機所對應的,devices_SN碼表中的實際SN碼替換為用戶輸入虛擬SN碼。

其中,本實施例不限制前述預設時間段的具體設置,本領(lǐng)域技術(shù)人員可以根據(jù)實際需要進行設置,例如,可將其設置5秒。

進一步地,基于第一實施例,提出本發(fā)明產(chǎn)品序列號處理方法的第三實施例,對應于前述產(chǎn)品序列號處理裝置的第三實施例,本實施例與第一實施例的區(qū)別在于,在本實施例中,步驟S20之后,還包括:

在偵測到待執(zhí)行的測試指令時,提取偵測到的測試指令攜帶的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號;

將偵測到的測試指令發(fā)送至提取的虛擬產(chǎn)品序列號或?qū)嶋H產(chǎn)品序列號所對應的被測移動終端執(zhí)行。

需要說明的是,本實施例在第一實施例的基礎上,增加了測試指令的發(fā)送操作,相應的,產(chǎn)品序列號處理裝置還包括轉(zhuǎn)發(fā)模塊。以下僅針對該區(qū)別進行說明,其他可參照前述實施例,此處不再贅述。

基于上述各實施例的描述,本領(lǐng)域技術(shù)人員可以理解的是,前述替換模塊20在完成實際SN碼的替換操作之后,各手機均對應有唯一的實際SN碼或虛擬SN碼。相應的,當用戶操作電腦下發(fā)測試指令至手機時,下發(fā)的測試指令中將攜帶唯一存在的實際SN碼或虛擬SN碼。

在偵測到用戶下發(fā)的待執(zhí)行的測試指令時,轉(zhuǎn)發(fā)模塊拆箱該測試指令,提取出該測試指令攜帶的實際SN碼或虛擬SN碼,進而查找到提取出的實際SN碼或虛擬SN碼所在的devices_SN碼表,根據(jù)其中的時間戳或端口號,精確定位到用戶指定的手機(即提取出的實際SN碼或虛擬SN碼所對應的手機),將該測試指令下發(fā)給該手機執(zhí)行。該手機接收到測試指令后,調(diào)用相關(guān)資源,執(zhí)行接收的測試指令,其中,若本地服務無法滿足該測試指令請求,則調(diào)用相應的虛擬機進程等。

本實施例能夠基于被測移動終端的實際SN碼或虛擬SN碼,實現(xiàn)了測試指令的精確下發(fā),進而可實現(xiàn)大規(guī)模的批量自動化測試。

進一步地,基于前述任一實施例,提出本發(fā)明產(chǎn)品序列號處理方法的第四實施例,對應于前述產(chǎn)品序列號處理裝置的第四實施例,本實施例與前述實施例的區(qū)別在于,本實施例還提供另一種可選地預設替換條件,在本實施例中,前述預設替換條件還包括:

選中的被測移動終端的實際產(chǎn)品序列號的復雜度達到預設復雜度,且選中的被測移動終端的實際產(chǎn)品序列號與未被選中的被測移動終端的實際產(chǎn)品序列號不同。

需要說明的是,目前,手機的SN碼常用的是16位字母+數(shù)字的組合方式,當下發(fā)測試指令時候,編程人員(即用戶)需要認清并準確識別不同手機的SN碼,一旦手機數(shù)目增多時,這將是一件非常困難的事情。因此,為便于編程人員識別,在本實施例中,觸發(fā)替換模塊20執(zhí)行替換操作的預設替換條件還包括:選中的被測移動終端的實際SN碼的復雜度達到預設復雜度,且選中的被測移動終端的實際SN碼與未被選中的被測移動終端的實際SN碼不同。通俗的說,即替換模塊20除了替換相同的實際SN碼之外,還在不存在相同的實際SN碼且識別模塊10識別到手機的實際SN碼較復雜時,將較復雜的實際SN碼替換為虛擬SN碼。

本領(lǐng)域技術(shù)人員可以理解的是,越復雜的數(shù)據(jù)在壓縮后的數(shù)據(jù)量越大,即可通過數(shù)據(jù)在壓縮后的數(shù)據(jù)量大小,在一定程度上表征數(shù)據(jù)的復雜程度。可選地,識別模塊10在識別選中的手機的實際SN碼是否“復雜”時,可以采用數(shù)據(jù)壓縮算法對選中的手機的實際SN碼進行壓縮,并判斷壓縮后的實際SN碼的數(shù)據(jù)量是否大于預設數(shù)據(jù)量,若達到預設數(shù)據(jù)量則識別選中的手機的實際SN碼“復雜”。其中,具體采用何種數(shù)據(jù)壓縮算法,本領(lǐng)域技術(shù)人員可根據(jù)實際需要進選取,本實施例不做具體限制。

進一步地,在本實施例中,為實現(xiàn)實際SN碼的簡化,替換模塊20采用的預設替換規(guī)則包括:

根據(jù)各滿足預設替換條件的實際SN碼,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,為各對應的被測移動終端分配字符長度短于實際SN碼字符長度且依序增加的數(shù)字編號,并將分配的數(shù)字編號作為待替換的虛擬SN碼;

或者,根據(jù)各滿足預設替換條件的實際SN碼,所對應的被測移動終端的連接端口號的大小關(guān)系或連接時的時間戳的先后關(guān)系,按照字母排列順序依次為各對應的被測移動終端分配字符長度短于實際SN碼字符長度的字母編號,并將分配的字母編號作為待替換的虛擬SN碼。

在具體實施時,本領(lǐng)域技術(shù)人員可根據(jù)實際需要選取用作虛擬SN碼的數(shù)字編號和字母編號的字符字符長度,例如,可以選取兩位的數(shù)字編號,如依次增加的“00”、“01”、“02”、“03”;也可以選取單個的字母編號,如按字母排列順序依次排列的“a”、“b”、“c”、“d”等。

需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其它變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其它要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。

上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。

通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,空調(diào)器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述的方法。

出于解釋的目的,前面的描述使用了特定的術(shù)語,以提供對本發(fā)明的透徹理解。然而,對本領(lǐng)域的技術(shù)人員來說顯而易見的是,為了實踐本發(fā)明并不需要具體的細節(jié)。本發(fā)明的具體實施例的前述描述是為了圖示和說明的目的而呈現(xiàn)。它們并不意在詳盡的或?qū)⒈景l(fā)明限于所公開的準確形式。鑒于上面的教義,許多修改和變化是可能的。為了最好地解釋本發(fā)明的原理及其實際應用而示出并描述了這些實施例,從而使本領(lǐng)域的其他技術(shù)人員能夠最好地利用本發(fā)明和具有適于預期的特定使用的各種修改的各種實施例。意在本發(fā)明的范圍由隨后的權(quán)利要求和其等同物來限定。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
青海省| 大连市| 和政县| 龙泉市| 即墨市| 巴彦县| 双牌县| 镇巴县| 翁牛特旗| 眉山市| 万年县| 施甸县| 祥云县| 秀山| 格尔木市| 体育| 高邮市| 平塘县| 海南省| 大厂| 临湘市| 防城港市| 卢湾区| 凤冈县| 随州市| 德化县| 奈曼旗| 改则县| 兰州市| 西充县| 淮阳县| 昭觉县| 保靖县| 大洼县| 开江县| 洪雅县| 南郑县| 苗栗市| 扎赉特旗| 邢台县| 西贡区|