本發(fā)明涉及自動測試技術領域,尤其涉及一種用于測試版本更新系統(tǒng)的客戶端、該系統(tǒng)及方法。
背景技術:
目前的自動測試領域中,往往需要測試人員手動對測試版本進行一些操作,包括去服務器下載測試版本、打開下載軟件、加載需要下載的軟件包以及對被測移動終端進行刷機操作等,上述過程可能會重復多次,這對于手動操作而言非常繁瑣并且枯燥,提升了自動測試過程中的人力成本。
同時,測試版本的發(fā)布時間并不固定,有些測試版本可能會在測試人員下班后發(fā)布,甚至有些會在深夜發(fā)布測試版本,這就需要測試人員加班等待測試版本的發(fā)布,并且會導致測試版本的下載和更新不及時,從而降低自動測試的效率。
技術實現(xiàn)要素:
根據(jù)現(xiàn)有技術中存在的上述問題,現(xiàn)提供一種用于測試版本更新系統(tǒng)的客戶端、該系統(tǒng)及方法的技術方案,旨在避免需要測試人員手動更新測試版本的問題,降低人力成本,提升自動測試的效率。
上述技術方案具體包括:
一種用于測試版本更新系統(tǒng)的客戶端,其中,連接一服務端,所述服務端用于保存關聯(lián)于不同的測試設備的測試版本并對所述測試版本進行實時更新;
所述客戶端還連接所述測試設備,并用于更新所述測試設備的所述測試版本;
所述客戶端包括:
設備選擇單元,預設有所述測試設備的信息,并用于根據(jù)外部輸入的指 令選擇關聯(lián)于所述信息的多個所述測試設備中的一個作為被測設備并輸出;
模式選擇單元,預設有用于表示所述測試版本的更新方式的更新模式,并根據(jù)外部輸入的指令選擇一個所述更新模式作為測試模式并輸出;
監(jiān)控單元,分別連接所述設備選擇單元和所述模式選擇單元,用于在所述測試模式為一預設的第一模式時,監(jiān)控所述服務端中保存的所述測試版本是否與所述被測設備的所述測試版本相同,輸出監(jiān)控結果;
第一更新單元,連接所述監(jiān)控單元,用于在所述監(jiān)控結果表示不相同時向所述服務端請求下載所述測試版本,并依照被下載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該客戶端,其中,還包括:
第二更新單元,分別連接所述設備選擇單元和所述模式選擇單元,用于在所述測試模式為一預設的第二模式時,根據(jù)外部輸入的指令向所述服務端請求下載所述測試版本,并依照被下載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該客戶端,其中,所述第二更新單元中包括:
第一選擇模塊,用于選擇關聯(lián)于所述被測設備的一個測試項目,并作為被測項目輸出;
第二選擇模塊,連接所述第一選擇模塊,用于選擇關聯(lián)于所述被測項目的一個描述文件,并作為被測文件輸出;
所述第二更新單元根據(jù)所述被測文件,向所述服務端請求下載對應的所述測試版本。
優(yōu)選的,該客戶端,其中,所述服務端中保存有對應每個所述客戶端的版本下載記錄;
所述客戶端還包括:
查詢單元,分別連接所述設備選擇單元和所述模式選擇單元,用于在所述測試模式為一預設的第三模式時,查詢得到所述服務端中保存的關聯(lián)于所述被測設備的所述版本下載記錄并輸出;
第三更新單元,連接所述查詢單元,用于在查詢得到的所述版本下載記錄中選擇一個所述測試版本并進行下載,依照被下載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該客戶端,其中,所述第三更新單元包括:
第三選擇模塊,用于根據(jù)外部輸入的指令,根據(jù)所述版本下載記錄選擇一個關聯(lián)于所述被測設備的一個測試項目,并作為被測項目輸出;
第四選擇模塊,連接所述第三選擇模塊,用于根據(jù)外部輸入的指令選擇一個關聯(lián)于所述被測項目的一個描述文件,并作為被測文件輸出;
所述第三更新單元根據(jù)所述被測文件,向所述服務端請求下載對應的所述測試版本。
優(yōu)選的,該客戶端,其中,所述客戶端還包括:
終止單元,連接所述第一更新單元,用于根據(jù)外部輸入的指令終止所述版本更新的過程。
優(yōu)選的,該客戶端,其中,所述客戶端還包括:
終止單元,連接所述第二更新單元,用于根據(jù)外部輸入的指令終止所述版本更新的過程。
優(yōu)選的,該客戶端,其中,所述客戶端還包括:
終止單元,連接所述第三更新單元,用于根據(jù)外部輸入的指令終止所述版本更新的過程。
一種測試版本更新系統(tǒng),其中,包括上述的用于測試版本更新系統(tǒng)的客戶端。
一種測試版本更新方法,其中,設置一連接服務端的客戶端,所述服務端用于保存關聯(lián)于不同的測試設備的測試版本并對所述測試版本進行實時更新,所述客戶端還連接所述測試設備,并用于更新所述測試設備的所述測試版本;
所述測試版本更新方法包括:
步驟S1,所述客戶端根據(jù)外部輸入的指令選擇一個更新模式作為測試模式,并在所述測試模式為一預設的第一模式時轉向步驟S2;
步驟S2,所述客戶端根據(jù)外部輸入的指令選擇一個所述測試設備,并作為被測設備輸出;
步驟S3,所述客戶端監(jiān)控所述服務端中保存的所述測試版本是否與所述被測設備的所述測試版本相同,并在監(jiān)控結果表示不相同時轉向步驟S4;
步驟S4,所述客戶端向所述服務端請求下載所述測試版本,并依照被下 載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該測試版本更新方法,其中,所述步驟S1中,若所述測試模式為一預設的第二模式,則執(zhí)行下述步驟:
步驟A1,所述客戶端根據(jù)外部輸入的指令向所述服務端請求下載所述測試版本;
步驟A2,所述客戶端下載所述測試版本,并依照被下載的所述測試版本對所述測試設備進行版本更新。
優(yōu)選的,該測試版本更新方法,其中,所述步驟A1包括:
步驟A11,所述客戶端選擇關聯(lián)于所述被測設備的一個測試項目,并作為被測項目輸出;
步驟A12,所述客戶端選擇關聯(lián)于所述被測項目的一個描述文件,并作為被測文件輸出;
步驟A13,所述客戶端根據(jù)所述被測文件,向所述服務端請求下載對應的所述測試版本。
優(yōu)選的,該測試版本更新方法,其中,所述服務端中保存有對應每個所述測試設備的版本下載記錄;
所述步驟S1中,若所述測試模式為一預設的第三模式,則執(zhí)行下述步驟:
步驟B1,所述客戶端查詢得到所述服務端中保存的關聯(lián)于所述被測設備的所述版本下載記錄并輸出;
步驟B2,所述客戶端在查詢得到的所述版本下載記錄中選擇一個所述測試版本并進行下載,依照被下載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該測試版本更新方法,其中,所述步驟B2具體包括:
步驟B21,所述客戶端根據(jù)外部輸入的指令,根據(jù)所述版本下載記錄選擇關聯(lián)于所述被測設備的一個測試項目,并作為被測項目輸出;
步驟B22,所述客戶端根據(jù)外部輸入的指令選擇關聯(lián)于所述被測項目的一個描述文件,并作為被測文件輸出;
步驟B23,所述客戶端根據(jù)所述被測文件,向所述服務端請求下載對應的所述測試版本;
步驟B24,所述客戶端下載所述測試版本,并依照被下載的所述測試版本對所述被測設備進行版本更新。
優(yōu)選的,該測試版本更新方法,其中,于所述客戶端進行所述版本更新時,所述客戶端根據(jù)外部輸入的指令終止所述版本更新。
上述技術方案的有益效果是:
1)提供一種測試版本更新系統(tǒng)及其客戶端,能夠避免需要測試人員手動更新測試版本的問題,降低人力成本,提升自動測試的效率;
2)提供一種測試版本更新方法,能夠支持上述測試版本更新系統(tǒng)及其客戶端的正常運行。
附圖說明
圖1是本發(fā)明的較佳的實施例中,一種測試版本更新系統(tǒng)及其客戶端的總體結構示意圖;
圖2-3是本發(fā)明的較佳的實施例中,于圖1的基礎上,測試版本更新系統(tǒng)中的客戶端的分模塊結構示意圖;
圖4是本發(fā)明的較佳的實施例中,一種測試版本更新方法的流程示意圖;
圖5-8是本發(fā)明的較佳的實施例中,當選擇不同的更新模式時,測試版本更新方法的流程示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。
下面結合附圖和具體實施例對本發(fā)明作進一步說明,但不作為本發(fā)明的限定。
本發(fā)明的較佳的實施例中,基于現(xiàn)有技術中存在的問題,現(xiàn)提供一種用于測試版本更新系統(tǒng)的客戶端,其結構如圖1所示,該客戶端A與一服務端 B遠程連接,服務端B用于保存關聯(lián)于不同的測試設備的測試版本并對測試版本進行實時更新。
客戶端A還連接測試設備(未示出),并用于更新測試設備的測試版本。本發(fā)明的較佳的實施例中,連接同一個客戶端A的測試設備可以設置有多個。
則仍然如圖1所示,客戶端A具體包括:
設備選擇單元1,其中預設有關聯(lián)于每個測試設備的信息,并用于根據(jù)外部輸入的指令選擇關聯(lián)于上述信息的多個測試設備中的一個作為被測設備(Product)并輸出,測試設備預設有多個;
模式選擇單元2,其中預設有用于表示測試版本的更新方式的更新模式,并根據(jù)外部輸入的指令選擇一個更新模式作為測試模式并輸出,更新模式預設有多個;
監(jiān)控單元3,分別連接設備選擇單元1和模式選擇單元2,用于在測試模式為一預設的第一模式時,監(jiān)控服務端B中保存的測試版本是否與被測設備的測試版本相同,輸出監(jiān)控結果;
第一更新單元4,連接監(jiān)控單元3,用于在監(jiān)控結果表示不相同時向服務端請求下載測試版本,并依照被下載的測試版本對被測設備進行版本更新。
在一個具體實施例中,上述系統(tǒng)包括客戶端A以及服務端B。服務端B與客戶端A遠程連接并能夠互相傳輸數(shù)據(jù)。在服務端B中保存有多個關聯(lián)于不同的測試設備的的測試版本,并且服務端B對關聯(lián)于每個測試設備的測試版本均進行實時更新,以保證在服務端B保存的測試版本是該測試設備的最新版本。
該實施例中,對于每個客戶端A而言:
設備選擇單元1可供使用者從多個預設的測試設備選擇一個作為被測設備(本發(fā)明技術方案中為了便于描述,將被選擇的測試設備稱為被測設備)輸出。同樣地,模式選擇單元2可供使用者從多個預設的更新模式中選擇一個作為測試模式(同樣將被選擇的更新模式稱為測試模式)輸出。所謂更新模式,是指對用于表示被測設備進行版本更新的不同的方式的工作模式。
則該實施例中,若上述測試模式為一預設的第一模式時,采用一個監(jiān)控單元3監(jiān)控上述服務端B中保存的關聯(lián)于被測設備的測試版本是否與客戶端A中的被測設備的測試版本相同,即用于監(jiān)控客戶端A是否需要下載測試版 本,并輸出監(jiān)控結果。
該實施例中,上述第一更新單元4根據(jù)上述監(jiān)控結果,在上述服務端B中保存的關聯(lián)于被測設備的測試版本與客戶端A中的被測設備的測試版本不相同時,向服務端B請求下載該測試版本(即向服務端B發(fā)送下載請求)。服務端B接受到請求后將該測試版本開放給客戶端A下載,客戶端A下載完成后根據(jù)該被下載的測試版本對被測設備進行版本更新。具體地,所謂版本更新,是指采用該被下載的測試版本進行刷機,從而更新被測設備的測試版本。
在該實施例中,上述預設的第一模式可以為自動更新模式,即選擇該第一模式后,客戶端A可以監(jiān)控服務端B是否存在更新后的測試版本并自動下載和刷機更新客戶端的測試版本。
現(xiàn)有技術中,測試設備往往無法訪問保存有測試版本的服務器的外部地址,因此需要設置一個中間服務器以下載需要的測試版本并保存,測試設備再訪問中間服務器并下載測試版本。這樣做非常繁瑣,在下載過程中會不必要地占用作為接口服務器的內存資源。
因此,本發(fā)明的較佳的實施例中,采用下述方法實現(xiàn)客戶端A從服務端B直接下載測試版本的功能,即從通過端口命令直接執(zhí)行下載版本的操作,并直接根據(jù)測試版本對連接的相應的測試設備進行版本更新:
獲取包括各個測試版本所在文件目錄的所有文件信息。
設定匹配值:matcher,并且依序對上述文件目錄內的每個測試版本進行匹配:若匹配成功,則將其最后修改日期放入一第一表格dateList中,并且將其文件信息(包括文件名稱和最后修改日期)放入一第二表格list中。作為優(yōu)選的實施方式,可檢測文件名稱中是否包含匹配值matcher,如包含則認為匹配成功,否則認為匹配不成功。
完成上述步驟后,判斷l(xiāng)ist中是否有內容,并在list表格有內容時首先從dateList中取出一個數(shù)值最大(也就是最接近當前時刻)的最后修改日期,隨后判斷l(xiāng)ist中是否存在與該被取出的最后修改日期的數(shù)值相匹配的最后修改日期,并最終輸出該相匹配的最后修改日期對應的測試版本的文件信息,具體為輸出該測試版本的文件名。則該文件名就為更新所依賴的測試版本的文件名。
本發(fā)明技術方案中所述的測試版本下載,均可以采用上述函數(shù)代碼,透過執(zhí)行端口命令的方式實現(xiàn),下文中不再贅述。
本發(fā)明的較佳的實施例中,仍然如圖1所示,上述客戶端A中還包括:
第二更新單元5,分別連接設備選擇單元1和模式選擇單元2,用于在測試模式為一預設的第二模式時,根據(jù)外部輸入的指令向服務端B請求下載測試版本,并依照被下載的測試版本對被測設備進行版本更新。
具體地,本發(fā)明的較佳的實施例中,上述預設的第二模式可以為手動更新的模式,即客戶端A根據(jù)使用者輸入的更新指令,直接從服務端B下載相應的測試版本并進行版本更新。
進一步地,本發(fā)明的較佳的實施例中,如圖2所示,上述第二更新單元5中包括:
第一選擇模塊51,用于選擇關聯(lián)于被測設備的一個測試項目,并作為被測項目輸出;
第二選擇模塊52,連接第一選擇模塊51,用于選擇關聯(lián)于被測項目的一個描述文件,并作為被測文件輸出;
則本發(fā)明的較佳的實施例中,上述第二更新單元5根據(jù)被測文件,向服務端B請求下載對應的測試版本。
具體地,本發(fā)明的較佳的實施例中,第二更新單元5提供使用者首先選擇上述被測設備中的一個測試項目,以作為被測項目(Project);隨后根據(jù)該被測項目,選擇其中某一個描述文件作為被測文件(Pac文件)輸出。最終,第二更新單元5根據(jù)該被測文件,從服務端B下載相應的測試版本。
本發(fā)明的較佳的實施例中,上述服務端B中保存有對應每個測試設備的版本下載記錄;
則仍然如圖1所示,上述客戶端A中還包括:
查詢單元6,分別連接設備選擇單元1和模式選擇單元2,用于在測試模式為一預設的第三模式時,查詢得到服務端B中保存的關聯(lián)于被測設備的版本下載記錄并輸出;
第三更新單元7,連接查詢單元6,用于在查詢得到的版本下載記錄中選擇一個測試版本并進行下載,依照被下載的測試版本對被測設備進行版本更新。
具體地,本發(fā)明的較佳的實施例中,上述預設的第三模式可以為歷史版本回退的模式,即在第三模式下,使用者可以選擇某個之前已經安裝過的測試版本并進行版本回退操作。
進一步地,本發(fā)明的較佳的實施例中,如圖3所示,上述第三更新單元7包括:
第三選擇模塊71,用于根據(jù)外部輸入的指令,根據(jù)版本下載記錄選擇一個關聯(lián)于被測設備的一個測試項目,并作為被測項目輸出;
第四選擇模塊72,連接第三選擇模塊71,用于根據(jù)外部輸入的指令選擇一個關聯(lián)于被測項目的一個描述文件,并作為被測文件輸出;
則第三更新單元7根據(jù)被測文件,向服務端B請求下載對應的測試版本。
具體地,本發(fā)明的較佳的實施例中,上述服務端B中可以保存有對應于不同的測試設備的不同的版本下載記錄。版本下載記錄可以為數(shù)據(jù)表式的存儲方式,即在服務端B中保存有對應不同的測試設備的版本列表。
則上述查詢單元6采用版本列表表示上述查詢結果并輸出。
因此,本發(fā)明的較佳的實施例中,上述第三選擇模塊71根據(jù)上述版本列表,選擇一個被測項目,并進而選擇一個被測文件,隨后第三更新單元7根據(jù)被選擇的被測文件向服務端B請求下載對應的測試版本。
綜上所述,本發(fā)明技術方案中,提供三種不同的更新模式:
1)自動更新的模式,即預設的第一模式。在這種模式下,客戶端A可以直接監(jiān)控服務端B中相應的測試版本,并在測試版本發(fā)生更新后直接下載并對相應的被測設備進行刷機安裝;
2)手動更新的模式,即預設的第二模式。在這種模式下,客戶端A根據(jù)使用者輸入的指令直接從服務端B中找到相應的測試版本并直接下載并對相應的被測設備進行刷機安裝;
3)歷史版本回退的模式,即預設的第三模式。在這種模式下,客戶端A根據(jù)使用者輸入的指令選擇服務端B中保存的之前進行過下載的版本并進行再次下載和刷機安裝,以將被測設備回退到之前的測試版本。
本發(fā)明的較佳的實施例中,可以根據(jù)實際情況應用多個包括上述結構的客戶端A,每個客戶端A分別連接上述服務端B,并且每個客戶端A分別連接有多個測試設備,以增加自動測試的規(guī)模。
本發(fā)明的較佳的實施例中,仍然如圖1所示,上述客戶端A中還包括:
終止單元8,分別連接上述第一更新單元4、第二更新單元5以及第三更新單元7,用于根據(jù)外部輸入的指令終止對于被測設備的版本更新過程,即上述終止單元8可以提供使用者隨時終止對被測設備的版本更新過程。
本發(fā)明的較佳的實施例中,根據(jù)上述客戶端A的構成,還提供一種測試版本更新系統(tǒng),其中包括上文中所述的客戶端A,即該測試版本更新系統(tǒng)的總體結構也如圖1所示。
本發(fā)明的較佳的實施例中,基于上文中所述的測試版本更新系統(tǒng)及其客戶端的構成,還提供一種測試版本更新方法,具體如圖4所示,包括:
步驟S1,客戶端根據(jù)外部輸入的指令選擇一個更新模式作為測試模式,并在測試模式為一預設的第一模式時轉向步驟S2;
步驟S2,客戶端根據(jù)外部輸入的指令選擇一個測試設備,并作為被測設備輸出;
步驟S3,客戶端監(jiān)控服務端中保存的測試版本是否與被測設備的測試版本相同,并在監(jiān)控結果表示不相同時轉向步驟S4;
步驟S4,客戶端向服務端請求下載測試版本,并依照被下載的測試版本對被測設備進行版本更新。
本發(fā)明的較佳的實施例中,上述步驟S1中,若測試模式為一預設的第二模式,則執(zhí)行如圖5所示的下述步驟:
步驟A1,客戶端根據(jù)外部輸入的指令向服務端請求下載測試版本;
步驟A2,客戶端下載測試版本,并依照被下載的測試版本對測試設備進行版本更新。
進一步地,本發(fā)明的較佳的實施例中,如圖6所示,上述步驟A1包括:
步驟A11,客戶端選擇關聯(lián)于被測設備的一個測試項目,并作為被測項目輸出;
步驟A12,客戶端選擇關聯(lián)于被測項目的一個描述文件,并作為被測文件輸出;
步驟A13,客戶端根據(jù)被測文件,向服務端請求下載對應的測試版本。
本發(fā)明的較佳的實施例中,在上述服務端中保存有對應每個測試設備的版本下載記錄。
則步驟S1中,若測試模式為一預設的第三模式,則執(zhí)行如圖7所示的下述步驟:
步驟B1,客戶端查詢得到服務端中保存的關聯(lián)于被測設備的版本下載記錄并輸出;
步驟B2,客戶端在查詢得到的版本下載記錄中選擇一個測試版本并進行下載,依照被下載的測試版本對被測設備進行版本更新。
本發(fā)明的較佳的實施例中,上述步驟B1中,若客戶端未查詢到服務端中保存的關聯(lián)于被測設備的版本下載記錄,則表示關聯(lián)于該被測設備之前未下載過測試版本,因此重新選擇另一個測試設備作為被測設備并重新執(zhí)行上述步驟B1。
進一步地,本發(fā)明的較佳的實施例中,如圖8所示,上述步驟B2具體包括:
步驟B21,客戶端根據(jù)外部輸入的指令,根據(jù)版本下載記錄選擇關聯(lián)于被測設備的一個測試項目,并作為被測項目輸出;
步驟B22,客戶端根據(jù)外部輸入的指令選擇關聯(lián)于被測項目的一個描述文件,并作為被測文件輸出;
步驟B23,客戶端根據(jù)被測文件,向服務端請求下載對應的測試版本;
步驟B24,客戶端下載測試版本,并依照被下載的測試版本對被測設備進行版本更新。
本發(fā)明的較佳的實施例中,如上文中,在客戶端進行版本更新時,客戶端可以根據(jù)外部輸入的指令終止版本更新。
以上所述僅為本發(fā)明較佳的實施例,并非因此限制本發(fā)明的實施方式及保護范圍,對于本領域技術人員而言,應當能夠意識到凡運用本發(fā)明說明書及圖示內容所作出的等同替換和顯而易見的變化所得到的方案,均應當包含在本發(fā)明的保護范圍內。