新四季網

測試方法及系統、操作端的製作方法

2023-09-17 05:41:35

測試方法及系統、操作端的製作方法
【專利摘要】本發明提供一種測試方法及系統、操作端。本發明實施例只需要使用操作端的一個操作人員在一個瀏覽器即第一瀏覽器所展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動其他瀏覽器即第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人員在不同瀏覽器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確率高,從而提高了測試操作的效率和可靠性。
【專利說明】測試方法及系統、操作端 【【技術領域】】
[0001] 本發明涉及測試技術,尤其涉及一種測試方法及系統、操作端。 【【背景技術】】
[0002] 在軟體測試過程例如,用戶界面(User interface,UI)測試中,為了避免程序的風 險,需要利用設計的測試用例,自動運行測試操作。目前,有一些頁面展示與頁面交互的測 試操作,無法利用測試用例,自動運行測試操作。而是,需要操作人員在不同瀏覽器所展現 的待測試頁面,手動執行多次相同的測試操作。
[0003] 然而,現有的測試操作的操作複雜,而且容易出錯,從而導致了測試操作的效率和 可靠性的降低。 【
【發明內容】

[0004] 本發明的多個方面提供一種測試方法及系統、操作端,用以提高測試操作的效率 和可靠性。
[0005] 本發明的一方面,提供一種測試方法,包括:
[0006] 操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所述操作行 為包括操作的頁面元素信息和操作的行為信息;
[0007] 所述操作端根據所述操作行為,生成操作指令;
[0008] 所述操作端向至少一個測試端中每個測試端發送測試指示和所述操作指令,以使 得所述每個測試端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所述操 作指令。
[0009] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 向至少一個測試端中每個測試端發送測試指示和所述操作指令,包括:
[0010] 所述操作端通過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所 述操作指令。
[0011] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 通過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所述操作指令之前,還 包括:
[0012] 所述操作端向所述分發伺服器發送觸發信息;
[0013] 所述操作端接收所述分發伺服器發送的所述測試指示,以使得所述用戶確定所述 每個測試端,所述測試指示為所述分發伺服器根據所述觸發信息,為本次測試啟動服務實 例,生成;
[0014] 所述操作端向所述分發伺服器發送所述測試指示、所述待測試頁面的標識信息和 所述每個測試端的標識信息,以使得所述分發伺服器根據所述每個測試端的標識信息,向 所述每個測試端發送所述測試指示和所述待測試頁面的標識信息,以使得所述每個測試端 驅動所述第二瀏覽器展現所述待測試頁面。
[0015] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述方法還 包括:
[0016] 代理伺服器接收第一候選HTTP請求,所述第一候選HTTP請求為所述第一瀏覽器 根據所述操作行為的操作結果,生成;
[0017] 所述代理伺服器接收第二候選HTTP請求,所述第二候選HTTP請求為所述第二瀏 覽器根據所述測試端執行所述操作指令的操作結果,生成;
[0018] 所述代理伺服器向Web伺服器發送所述第一候選HTTP請求,以及接收所述Web服 務器根據所述第一候選HTTP請求,發送的第一候選HTTP響應;所述代理伺服器向Web服務 器發送所述第二候選HTTP請求,以及接收所述Web伺服器根據所述第二候選HTTP請求,發 送的第二候選HTTP響應;所述代理伺服器向所述第一瀏覽器發送所述第一候選HTTP響應, 向所述第二瀏覽器發送所述第二候選HTTP響應;或者
[0019] 所述代理伺服器根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成目 標HTTP請求,向Web伺服器發送所述目標HTTP請求,以及接收所述Web伺服器根據所述目 標HTTP請求,發送的目標HTTP響應;所述代理伺服器向所述第一瀏覽器和所述第二瀏覽 器,發送所述目標HTTP響應。
[0020] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 與所述第一瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所 述第一瀏覽器的內部。
[0021] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述每個測 試端與對應的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形 式,設置在所述第二瀏覽器的內部。
[0022] 本發明的另一方面,提供一種測試系統,包括操作端和至少一個測試端;其中,
[0023] 所述操作端,用於採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為, 所述操作行為包括操作的頁面元素信息和操作的行為信息;根據所述操作行為,生成操作 指令;以及向所述至少一個測試端中每個測試端發送測試指示和所述操作指令;
[0024] 所述每個測試端,用於根據所述測試指示,在第二瀏覽器展現的所述待測試頁面 上執行所述操作指令。
[0025] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述系統還 包括分發伺服器;所述操作端,具體用於
[0026] 通過所述分發伺服器,向所述每個測試端發送測試指示和所述操作指令。
[0027] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,
[0028] 所述操作端,還用於向所述分發伺服器發送觸發信息;
[0029] 所述分發伺服器,還用於根據所述觸發信息,為本次測試啟動服務實例,以生成所 述本次測試的所述測試指示;向所述操作端發送所述測試指示,以使得所述用戶確定所述 每個測試端;
[0030] 所述操作端,還用於向所述分發伺服器發送所述測試指示、所述待測試頁面的標 識信息和所述每個測試端的標識信息;
[0031] 所述分發伺服器,還用於根據所述每個測試端的標識信息,向所述每個測試端發 送所述測試指示和所述待測試頁面的標識信息;
[0032] 所述每個測試端,還用於驅動所述第二瀏覽器展現所述待測試頁面。
[0033] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述系統還 包括代理伺服器,用於
[0034] 接收第一候選HTTP請求,所述第一候選HTTP請求為所述第一瀏覽器根據所述操 作行為的操作結果,生成;接收第二候選HTTP請求,所述第二候選HTTP請求為所述第二瀏 覽器根據所述測試端執行所述操作指令的操作結果,生成;
[0035] 向Web伺服器發送所述第一候選HTTP請求,以及接收所述Web伺服器根據所述第 一候選HTTP請求,發送的第一候選HTTP響應;向Web伺服器發送所述第二候選HTTP請求, 以及接收所述Web伺服器根據所述第二候選HTTP請求,發送的第二候選HTTP響應;向所述 第一瀏覽器發送所述第一候選HTTP響應,向所述第二瀏覽器發送所述第二候選HTTP響應; 或者
[0036] 根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成目標HTTP請求;向 Web伺服器發送所述目標HTTP請求;接收所述Web伺服器根據所述目標HTTP請求,發送的 目標HTTP響應;向所述第一瀏覽器和所述第二瀏覽器,發送所述目標HTTP響應。
[0037] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 與所述第一瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所 述第一瀏覽器的內部。
[0038] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述每個測 試端與對應的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形 式,設置在所述第二瀏覽器的內部。
[0039] 本發明的另一方面,提供一種操作端,包括
[0040] 採集單元,用於採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所 述操作行為包括操作的頁面元素信息和操作的行為信息;
[0041] 生成單元,用於根據所述操作行為,生成操作指令;
[0042] 發送單元,用於向至少一個測試端中每個測試端發送測試指示和所述操作指令, 以使得所述每個測試端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所 述操作指令。
[0043] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述發送單 元,具體用於
[0044] 通過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所述操作指 令。
[0045] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 還包括接收單元;其中,
[0046] 所述發送單元,還用於向所述分發伺服器發送觸發信息;
[0047] 所述接收單元,用於接收所述分發伺服器發送的所述測試指示,以使得所述用戶 確定所述每個測試端,所述測試指示為所述分發伺服器根據所述觸發信息,為本次測試啟 動服務實例,生成;
[0048] 所述發送單元,還用於向所述分發伺服器發送所述測試指示、所述待測試頁面的 標識信息和所述每個測試端的標識信息,以使得所述分發伺服器根據所述每個測試端的標 識信息,向所述每個測試端發送所述測試指示和所述待測試頁面的標識信息,以使得所述 每個測試端驅動所述第二瀏覽器展現所述待測試頁面。
[0049] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述操作端 與所述第一瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所 述第一瀏覽器的內部。
[0050] 如上所述的方面和任一可能的實現方式,進一步提供一種實現方式,所述每個測 試端與對應的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形 式,設置在所述第二瀏覽器的內部。
[0051] 由上述技術方案可知,本發明實施例通過操作端採集輸入設備在第一瀏覽器展現 的待測試頁面上的操作行為,所述操作行為包括操作的頁面元素信息和操作的行為信息, 進而,根據所述操作行為,生成操作指令,使得所述操作端能夠向至少一個測試端中每個測 試端發送測試指示和所述操作指令,這樣,所述每個測試端則可以根據所述測試指示,在第 二瀏覽器展現的所述待測試頁面上執行所述操作指令,只需要使用操作端的一個操作人員 在一個瀏覽器即第一瀏覽器所展現的待測試頁面上,手動執行一次測試操作,就可以實時 通過測試端驅動其他瀏覽器即第二瀏覽器所展現的待測試頁面上自動執行相同的測試操 作,而無需操作人員在不同瀏覽器所展現的待測試頁面,手動執行多次相同的測試操作,操 作簡單,而且正確率高,從而提高了測試操作的效率和可靠性。
[0052] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而且第二瀏覽器的種類沒有數量 限制,因此,能夠有效提高測試過程中瀏覽器的覆蓋率。
[0053] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,因此,能夠實時對比各個測試操 作的操作結果,從而實現了實時監控的目的。
[0054] 另外,採用本發明提供的技術方案,通過分發伺服器為本次測試啟動服務實例,以 生成所述本次測試的測試指示,使得每次測試都可以對應不同的測試指示,因此,分發服務 器則可以同時為多個操作端提供測試服務,能夠有效提高測試操作的效率。 【【專利附圖】

【附圖說明】】
[0055] 為了更清楚地說明本發明實施例中的技術方案,下面將對實施例或現有技術描述 中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實 施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附 圖獲得其他的附圖。
[0056] 圖1為本發明一實施例提供的測試方法的流程示意圖;
[0057] 圖2為本發明另一實施例提供的測試系統的結構示意圖;
[0058] 圖3為本發明另一實施例提供的測試系統的結構示意圖;
[0059] 圖4為本發明另一實施例提供的測試系統的結構示意圖;
[0060] 圖5為本發明另一實施例提供的操作端的結構示意圖;
[0061] 圖6為本發明另一實施例提供的操作端的結構示意圖。 【【具體實施方式】】
[0062] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員 在沒有作出創造性勞動前提下所獲得的全部其他實施例,都屬於本發明保護的範圍。
[0063] 需要說明的是,本發明實施例中所述的操作指令可以包括但不限於C語言代碼編 譯的程序、C++語言代碼編譯的程序或java語言代碼編譯的程序,其他任何可實現編譯的 程序語言均在本發明保護範圍之內,本發明對此並不做特別限定。
[0064] 另外,本文中術語"和/或",僅僅是一種描述關聯對象的關聯關係,表示可以存在 三種關係,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情 況。另外,本文中字符"/",一般表示前後關聯對象是一種"或"的關係。
[0065] 全球資訊網(World Wide Web, Web)頁面可以包括由一個或者多個頁面標籤即超文本 標記語言(HyperText Markup Language, HTML)標籤組成的一個顯示區塊,稱為頁面元素, 例如,文本、標籤、超連結、按鈕、輸入框、下拉框等。在用戶界面(User interface,UI)測試 中,需要對指定頁面元素進行操作,以執行測試操作等。
[0066] 圖1為本發明一實施例提供的測試方法的流程示意圖,應用於測試系統中,該測 試系統可以包括操作端和至少一個測試端。如圖1所示。
[0067] 101、操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所述操 作行為包括操作的頁面元素信息和操作的行為信息。
[0068] 102、所述操作端根據所述操作行為,生成操作指令。
[0069] 103、所述操作端向至少一個測試端中每個測試端發送測試指示和所述操作指令, 以使得所述每個測試端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所 述操作指令。
[0070] 可選地,在本實施例的一個可能的實現方式中,操作端與每個測試端之間的交互 可以採用基於多種套接字(Socket)協議的方式。例如,基於傳輸控制協議(Transmission Control Protocol, TCP)的標準Socket協議。或者,再例如,基於超文本傳輸協議 (HyperText Transfer Protocol,HTTP)的Web Socket協議,以達到在HTTP 下模擬基於TCP 的通信方式。這樣,可以實現操作端與每個測試端之間,不間斷的有狀態的通信連接,從而 保證了順序傳輸消息的可靠性。
[0071] 其中,第二瀏覽器與第一瀏覽器,為不同瀏覽器;第二瀏覽器的數量與測試端的數 量相同,且第二瀏覽器與測試端一一對應,所述每個測試端所對應的第二瀏覽器,為不同瀏 Π/Γ PLP jAL-nlr 〇
[0072] 可以理解的是,所謂的不同瀏覽器,可以為在相同作業系統中運行的不同的瀏覽 器,或者還可以為在不同作業系統中運行的相同的瀏覽器,或者還可以為在不同作業系統 中運行的不同的瀏覽器,本實施例對此不進行特別限定。
[0073] 例如,第二瀏覽器為Wind〇ws7作業系統中運行的Firefox瀏覽器,第一瀏覽器為 WindowsS作業系統中運行的Firefox瀏覽器,二者為不同瀏覽器。
[0074] 或者,再例如,第二瀏覽器為Wind〇ws7作業系統中運行的IE瀏覽器,第一瀏覽器 為Wind 〇ws7作業系統中運行的Firefox瀏覽器,二者為不同瀏覽器。
[0075] 或者,再例如,一個測試端所對應的第二瀏覽器為Wind〇ws7作業系統中運行的IE 瀏覽器,另一個測試端所對應的第二瀏覽器為WindowsS作業系統中運行的IE瀏覽器,二者 為不同瀏覽器。
[0076] 需要說明的是,所述操作端與所述第一瀏覽器,可以獨立運行在第一終端上;或 者,所述操作端還可以以軟體開發工具包(Software Development Kit, SDK)形式或插件形 式,設置在所述第一瀏覽器的內部;本實施例對此不進行特別限定。
[0077] 需要說明的是,所述每個測試端與對應的所述第二瀏覽器,可以獨立運行在第二 終端上;或者,所述測試端還可以以SDK形式或插件形式,設置在所述第二瀏覽器的內部; 本實施例對此不進行特別限定。
[0078] 可以理解的是,本發明所涉及的頁面,可以是基於HTML編寫的網頁(Web Page), 也可以稱為Web頁面。
[0079] 這樣,通過操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為, 所述操作行為包括操作的頁面元素信息和操作的行為信息,進而,根據所述操作行為,生成 操作指令,使得所述操作端能夠向至少一個測試端中每個測試端發送測試指示和所述操作 指令,這樣,所述每個測試端則可以根據所述測試指示,在第二瀏覽器展現的所述待測試頁 面上執行所述操作指令,只需要使用操作端的一個操作人員在一個瀏覽器即第一瀏覽器所 展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動其他瀏覽器即 第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人員在不同瀏覽 器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確率高,從而提 高了測試操作的效率和可靠性。
[0080] 可選地,在本實施例的一個可能的實現方式中,操作端與每個測試端之間的交互 可以採用基於多種套接字(Socket)協議的方式。例如,基於傳輸控制協議(Transmission Control Protocol, TCP)的標準Socket協議。或者,再例如,基於超文本傳輸協議 (HyperText Transfer Protocol,HTTP)的Web Socket協議,以達到在HTTP 下模擬基於TCP 的通信方式。這樣,可以實現操作端與每個測試端之間,不間斷的有狀態的通信連接,從而 保證了順序傳輸消息的可靠性。
[0081] 可選地,在本實施例的一個可能的實現方式中,在101中,所述操作端具體可以通 過監聽方式,採集輸入設備例如鍵盤、滑鼠或觸控螢幕等在第一瀏覽器展現的待測試頁面上 的操作行為。其中,所述操作行為可以包括但不限於操作的頁面元素信息和操作的行為信 息,例如,滑鼠滾動、滑鼠點擊、滑鼠經過、信息輸入等。其中,鍵盤可以為物理鍵盤,或者還 可以虛擬鍵盤,本實施例對此不進行特別限定。
[0082] 具體地,所述操作端具體可以監聽光標事件,以獲得在第一瀏覽器展現的待測試 頁面上的操作行為。
[0083] 如果所述輸入設備為滑鼠,那麼,所述光標事件,可以稱為滑鼠事件,則可以包括 滑鼠左鍵點擊事件、滑鼠右鍵點擊事件或滑鼠滾動事件。
[0084] 如果所述輸入設備為鍵盤,那麼,可以稱為鍵盤事件,所述光標事件則可以包括回 車確認事件或菜單彈出事件。
[0085] 如果所述輸入設備為觸控螢幕,那麼,可以稱為觸控螢幕事件,所述光標事件則可以包 括短時間觸碰事件或長時間觸碰事件。
[0086] 例如,可以在待測試頁面中注入JavaScript代碼的方式,以實現監聽光標事件。
[0087] 或者,再例如,當進行跨頁面操作時,即第一瀏覽器或第二瀏覽器當前所展現的頁 面不是原始的待測試頁面,而是一個新的頁面,可以在新的頁面中注入JavaScript代碼的 方式,以實現監聽光標事件。
[0088] 以JavaScript滑鼠事件為例。通常,作業系統中都綁定有JavaScript滑鼠事件, 當終端上發生滑鼠操作行為時,就會觸發作業系統生成相應的JavaScript滑鼠事件,因 此,所述操作端可以對JavaScript滑鼠事件進行監聽。當監聽到有JavaScript滑鼠事件 被觸發時,操作端則可以根據被觸發的JavaScript滑鼠事件、以及JavaScript滑鼠事件與 滑鼠操作行為的對應關係,確定與JavaScript滑鼠事件對應的滑鼠操作行為。例如,當單 擊滑鼠時,onClick事件會被觸發,操作端則可以確定是滑鼠單擊行為;同時,MouseDown事 件也會被觸發,可以從該MouseDown事件的參數類型中獲得X值和y值,該X值和y值就是 滑鼠點擊位置。操作端則可以根據滑鼠點擊位置,獲得當前頁面上與該滑鼠點擊位置對應 的頁面元素,則可以確定該頁面元素的頁面元素信息。這樣,操作端就獲得了滑鼠在頁面上 的操作行為,即操作的頁面元素信息和操作的行為信息。
[0089] 可選地,在本實施例的一個可能的實現方式中,在102中,操作端具體可以將所採 集的操作行為翻譯為一些列機器語言即操作指令,以模擬出所述操作行為。
[0090] 可選地,在本實施例的一個可能的實現方式中,本實施例所提供的測試方法所適 用的測試系統中,還可以進一步包括分發伺服器。具體地,分發伺服器可以為採用node, js語言、java語言、C++語言實現的伺服器端,通過埠監聽方式與操作端、每個測試 端,進行通信。具體地,分發伺服器與操作端之間的交互、以及分發伺服器與每個測試端 之間的交互可以採用基於多種套接字(Socket)協議的方式。例如,基於傳輸控制協議 (Transmission Control Protocol,TCP)的標準Socket協議。或者,再例如,基於超文本 傳輸協議(HyperText Transfer Protocol,HTTP)的 Web Socket 協議,以達到在 HTTP 下模 擬基於TCP的通信方式。這樣,可以實現分發伺服器與操作端之間、以及分發伺服器與每個 測試端之間,不間斷的有狀態的通信連接,從而保證了順序傳輸消息的可靠性。
[0091] 相應地,在103中,所述操作端具體可以通過分發伺服器,向至少一個測試端中每 個測試端發送測試指示和所述操作指令。
[0092] 進一步地,在103之前,操作端可以觸發操作端與分發伺服器建立通信連接,開始 進行測試。例如,可以在待測試頁面中注入JavaScript代碼的方式,以實現觸發操作。所 述分發伺服器接收所述操作端發送的觸發信息,進而根據所述觸發信息,為本次測試啟動 服務實例,以生成所述本次測試的所述測試指示,例如,實例ID(Case ID)、會話ID(Session ID)等。然後,所述分發伺服器則可以向所述操作端發送所述測試指示,以使得所述用戶確 定所述每個測試端。接著,所述分發伺服器接收所述操作端發送的所述測試指示、所述待測 試頁面的標識信息和所述每個測試端的標識信息,這樣,所述分發伺服器則可以根據所述 每個測試端的標識信息,向所述每個測試端發送所述測試指示和所述待測試頁面的標識信 息,以使得所述每個測試端驅動所述第二瀏覽器展現所述待測試頁面。
[0093] 例如,同一個操作端,不管進行頁面內操作,還是進行跨頁面操作,都屬於本次測 試的範圍之內,因此,分發伺服器只需要為同一次測試啟動一個服務實例,無需啟動多個服 務實例,一次測試中的測試指示都相同。
[0094] 這樣,通過分發伺服器為本次測試啟動服務實例,以生成所述本次測試的測試指 示,使得每次測試都可以對應不同的測試指示,因此,分發伺服器則可以同時為多個操作端 提供測試服務,能夠有效提高測試操作的效率。
[0095] 可選地,在本實施例的一個可能的實現方式中,本實施例所提供的測試方法所適 用的測試系統中,還可以進一步包括代理伺服器。具體地,代理伺服器具體可以接收第一候 選HTTP請求,所述第一候選HTTP請求為所述第一瀏覽器根據所述操作行為的操作結果,生 成;以及接收第二候選HTTP請求,所述第二候選HTTP請求為所述第二瀏覽器根據所述測 試端執行所述操作指令的操作結果,生成。然後,所述代理伺服器則可以根據所述第一候選 HTTP請求和所述第二候選HTTP請求,生成目標HTTP請求,進而向Web伺服器發送所述目標 HTTP請求。接著,所述代理伺服器接收所述Web伺服器根據所述目標HTTP請求,發送的目 標HTTP響應,所述代理伺服器則可以向所述第一瀏覽器和所述第二瀏覽器,發送所述目標 HTTP響應。
[0096] 其中,由於第一瀏覽器根據其對應的操作端執行操作指令的操作結果,生成並發 送第一候選HTTP請求,以及多個第二瀏覽器實時根據各自對應的測試端執行相同的操作 指令的操作結果,生成並發送相同的第二候選HTTP請求,對於用於提交數據的HTTP請求來 說,例如,新建一個表單後提交等,勢必會出現只有一個HTTP請求提交成功,例如,第一候 選HTTP請求或任意一個第二候選HTTP請求,而其他HTTP請求均提交失敗。因此,代理服務 器需要根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成唯一的一個目標HTTP 請求。
[0097] 具體地,代理伺服器具體可以對第一候選HTTP請求,以及每個測試端所對應的第 二瀏覽器發送的第二候選HTTP請求,利用預先配置的白名單對所提交的數據進行一致性 校驗。例如,白名單可以包括部分欄位如時間戳、瀏覽器的用戶代理(User Agent,UA)等。 然後,所述代理伺服器對通過一致性校驗的HTTP請求進行融合處理,以生成目標HTTP請求 並發送給Web伺服器,對沒有通過一致性校驗的HTTP請求進行告警處理。
[0098] 接著,代理伺服器在進一步接收Web伺服器根據所述目標HTTP請求返回的目標 HTTP響應之後,將目標HTTP響應複製若干份,分別向通過一致性校驗的操作端和測試端發 送目標HTTP響應。
[0099] 對於一些簡單的HTTP請求來說,例如,不涉及數據的提交的HTTP請求等,本實施 例所提供的測試方法所適用的測試系統中,無需包括代理伺服器,操作端和每個測試端可 以分別直接與Web伺服器進行通信。即第一瀏覽器向Web伺服器發送第一候選HTTP請求 以及接收Web伺服器根據第一候選HTTP請求返回的第一候選HTTP響應,第二瀏覽器向Web 伺服器發送第二候選HTTP請求以及接收Web伺服器根據第二候選HTTP請求返回的第二候 選HTTP響應。
[0100] 因此,為了能夠處理所有的HTTP請求,代理伺服器可以配置兩種工作模式,一種 是透傳模式,另一種是融合模式。
[0101] 定義對於一些簡單的HTTP請求,代理伺服器採用透傳模式,進行處理。即在請求 階段,直接將第一候選HTTP請求和若干個第二候選HTTP請求分別發送給Web伺服器,不進 行任何處理;在響應階段,直接將Web伺服器根據第一候選HTTP請求返回的第一候選HTTP 響應,發送給操作端即操作端所對應的第一瀏覽器,直接將Web伺服器根據第二候選HTTP 請求返回的第二候選HTTP響應,分部發送給每個測試端即測試端所對應的第二瀏覽器。
[0102] 定義對於用於提交數據的HTTP請求代理伺服器採用融合模式,進行處理。即在請 求階段,將第一候選HTTP請求和若干個第二候選HTTP請求進行融合處理,以生成目標HTTP 請求,發送給Web伺服器;在響應階段,將Web伺服器根據目標HTTP請求返回的目標HTTP 響應,複製若干份,分別發送給操作端即操作端所對應的第一瀏覽器和每個測試端即測試 端所對應的第二瀏覽器。
[0103] 需要說明的是,本實施例中,測試系統所包括的操作端、測試端、分發伺服器和代 理伺服器可以部署在同一個終端上,或者也可以分別部署在不同終端上,或者也可以一部 分部署在一個終端上,另一部分部署在另一個終端上,在一部分部署在再一個終端上,本實 施例對此不進行特別限定。進一步地,如果測試端都部署在同一個終端上,具體可以利用虛 擬機技術實現,每一個測試端就可以為一個虛擬機的實例。
[0104] 一種較為優選的部署方式為,操作端部署在終端A上,分發伺服器和代理伺服器 部署在終端B上,每個測試端都分別部署在不同的終端上即終端隊上,i為大於或等於1, 且小於或等於η的整數,η為測試端的數量。
[0105] 本實施例中,通過操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作 行為,所述操作行為包括操作的頁面元素信息和操作的行為信息,進而,根據所述操作行 為,生成操作指令,使得所述操作端能夠向至少一個測試端中每個測試端發送測試指示和 所述操作指令,這樣,所述每個測試端則可以根據所述測試指示,在第二瀏覽器展現的所述 待測試頁面上執行所述操作指令,只需要使用操作端的一個操作人員在一個瀏覽器即第一 瀏覽器所展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動其他 瀏覽器即第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人員在 不同瀏覽器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確率 高,從而提高了測試操作的效率和可靠性。
[0106] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而且第二瀏覽器的種類沒有數量 限制,因此,能夠有效提高測試過程中瀏覽器的覆蓋率。
[0107] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,因此,能夠實時對比各個測試操 作的操作結果,從而實現了實時監控的目的。
[0108] 另外,採用本發明提供的技術方案,通過分發伺服器為本次測試啟動服務實例,以 生成所述本次測試的測試指示,使得每次測試都可以對應不同的測試指示,因此,分發服務 器則可以同時為多個操作端提供測試服務,能夠有效提高測試操作的效率。
[0109] 需要說明的是,對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列 的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為 依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知 悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本發明 所必須的。
[0110] 在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部 分,可以參見其他實施例的相關描述。
[0111] 圖2為本發明另一實施例提供的測試系統的結構示意圖,如圖2所示。本實施例 的測試系統可以包括操作端21和至少一個測試端22^2?……22 n。其中,η為大於或等於 1的整數。其中,所述操作端21,用於採集輸入設備在第一瀏覽器展現的待測試頁面上的操 作行為,所述操作行為包括操作的頁面元素信息和操作的行為信息;根據所述操作行為,生 成操作指令;以及向所述至少一個測試端22^2?……22 n中每個測試端22,發送測試指示 和所述操作指令其中,i為大於或等於1,且小於或等於η的整數;所述每個測試端22^用 於根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所述操作指令。
[0112] 其中,第二瀏覽器與第一瀏覽器,為不同瀏覽器;第二瀏覽器的數量與測試端的數 量相同,且第二瀏覽器與測試端一一對應,所述每個測試端22,所對應的第二瀏覽器,為不 同瀏覽器。
[0113] 可以理解的是,所謂的不同瀏覽器,可以為在相同作業系統中運行的不同的瀏覽 器,或者還可以為在不同作業系統中運行的相同的瀏覽器,或者還可以為在不同作業系統 中運行的不同的瀏覽器,本實施例對此不進行特別限定。
[0114] 例如,第二瀏覽器為Wind〇ws7作業系統中運行的Firefox瀏覽器,第一瀏覽器為 WindowsS作業系統中運行的Firefox瀏覽器,二者為不同瀏覽器。
[0115] 或者,再例如,第二瀏覽器為Wind〇ws7作業系統中運行的IE瀏覽器,第一瀏覽器 為Wind 〇ws7作業系統中運行的Firefox瀏覽器,二者為不同瀏覽器。
[0116] 或者,再例如,一個測試端所對應的第二瀏覽器為Wind〇ws7作業系統中運行的IE 瀏覽器,另一個測試端所對應的第二瀏覽器為WindowsS作業系統中運行的IE瀏覽器,二者 為不同瀏覽器。
[0117] 需要說明的是,所述操作端21與所述第一瀏覽器,可以獨立運行在第一終端上; 或者,所述操作端21還可以以軟體開發工具包(Software Development Kit, SDK)形式或 插件形式,設置在所述第一瀏覽器的內部;本實施例對此不進行特別限定。
[0118] 需要說明的是,所述每個測試端22i與對應的所述第二瀏覽器,可以獨立運行在 第二終端上;或者,所述測試端還可以以SDK形式或插件形式,設置在所述第二瀏覽器的內 部;本實施例對此不進行特別限定。
[0119] 可以理解的是,本發明所涉及的頁面,可以是基於HTML編與的網頁(Web Page), 也可以稱為Web頁面。
[0120] 這樣,通過操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為, 所述操作行為包括操作的頁面元素信息和操作的行為信息,進而,根據所述操作行為,生成 操作指令,使得所述操作端能夠向至少一個測試端中每個測試端發送測試指示和所述操作 指令,這樣,所述每個測試端則可以根據所述測試指示,在第二瀏覽器展現的所述待測試頁 面上執行所述操作指令,只需要使用操作端的一個操作人員在一個瀏覽器即第一瀏覽器所 展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動其他瀏覽器即 第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人員在不同瀏覽 器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確率高,從而提 高了測試操作的效率和可靠性。
[0121] 可選地,在本實施例的一個可能的實現方式中,操作端21與每個測試端22ii 間的交互可以採用基於多種套接字(Socket)協議的方式。例如,基於傳輸控制協議 (Transmission Control Protocol,TCP)的標準Socket協議。或者,再例如,基於超文本 傳輸協議(HyperText Transfer Protocol,HTTP)的 Web Socket 協議,以達到在 HTTP 下模 擬基於TCP的通信方式。這樣,可以實現操作端與每個測試端之間,不間斷的有狀態的通信 連接,從而保證了順序傳輸消息的可靠性。
[0122] 可選地,在本實施例的一個可能的實現方式中,如圖3所示,本實施例提供的測 試系統還可以進一步包括分發伺服器31。具體地,分發伺服器31可以為採用node, js語 言、java語言、C++語言實現的伺服器端,通過埠監聽方式與操作端21、每個測試端22p 進行通信。具體地,分發伺服器與操作端21之間的交互、以及分發伺服器與每個測試端 之間的交互可以採用基於多種套接字(Socket)協議的方式。例如,基於傳輸控制協議 (Transmission Control Protocol,TCP)的標準Socket協議。或者,再例如,基於超文本 傳輸協議(HyperText Transfer Protocol,HTTP)的 Web Socket 協議,以達到在 HTTP 下模 擬基於TCP的通信方式。這樣,可以實現分發伺服器與操作端之間、以及分發伺服器與每個 測試端之間,不間斷的有狀態的通信連接,從而保證了順序傳輸消息的可靠性。
[0123] 相應地,所述操作端21,具體可以用於通過所述分發伺服器,向所述每個測試端 22i發送測試指示和所述操作指令。
[0124] 進一步地,所述操作端21,還可以進一步用於向所述分發伺服器31發送觸發信 息。所述分發伺服器31,還可以進一步用於根據所述觸發信息,為本次測試啟動服務實例, 以生成所述本次測試的所述測試指示;向所述操作端21發送所述測試指示,以使得所述用 戶確定所述每個測試端22i。所述操作端21,還可以進一步用於向所述分發伺服器31發送 所述測試指示、所述待測試頁面的標識信息和所述每個測試端22,的標識信息。所述分發服 務器31,還可以進一步用於根據所述每個測試端22i的標識信息,向所述每個測試端22i發 送所述測試指示和所述待測試頁面的標識信息。所述每個測試端22,,還可以進一步用於驅 動所述第二瀏覽器展現所述待測試頁面。
[0125] 例如,同一個操作端21,不管進行頁面內操作,還是進行跨頁面操作,都屬於本次 測試的範圍之內,因此,分發伺服器31隻需要為同一次測試啟動一個服務實例,無需啟動 多個服務實例,一次測試中的測試指示都相同。
[0126] 這樣,通過分發伺服器為本次測試啟動服務實例,以生成所述本次測試的測試指 示,使得每次測試都可以對應不同的測試指示,因此,分發伺服器則可以同時為多個操作端 提供測試服務,能夠有效提高測試操作的效率。
[0127] 可選地,在本實施例的一個可能的實現方式中,如圖4所示,本實施例提供的測試 系統還可以進一步包括代理伺服器41。
[0128] 具體地,具體可以用於接收第一候選HTTP請求,所述第一候選HTTP請求為所述 第一瀏覽器根據所述操作行為的操作結果,生成;接收第二候選HTTP請求,所述第二候選 HTTP請求為所述第二瀏覽器根據所述測試端執行所述操作指令的操作結果,生成;以及根 據所述第一候選HTTP請求和所述第二候選HTTP請求,生成目標HTTP請求;向Web伺服器 發送所述目標HTTP請求;接收所述Web伺服器根據所述目標HTTP請求,發送的目標HTTP 響應;向所述第一瀏覽器和所述第二瀏覽器,發送所述目標HTTP響應
[0129] 其中,由於第一瀏覽器根據其對應的操作端21執行操作指令的操作結果,生成並 發送第一候選HTTP請求,以及多個第二瀏覽器實時根據各自對應的測試端執行相同的操 作指令的操作結果,生成並發送相同的第二候選HTTP請求,對於用於提交數據的HTTP請求 來說,例如,新建一個表單後提交等,勢必會出現只有一個HTTP請求提交成功,例如,第一 候選HTTP請求或任意一個第二候選HTTP請求,而其他HTTP請求均提交失敗。因此,代理 伺服器41需要根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成唯一的一個目 標HTTP請求。
[0130] 具體地,代理伺服器41具體可以對第一候選HTTP請求,以及每個測試端22i所對 應的第二瀏覽器發送的第二候選HTTP請求,利用預先配置的白名單對所提交的數據進行 一致性校驗。例如,白名單可以包括部分欄位如時間戳、瀏覽器的用戶代理(User Agent, UA)等。然後,所述代理伺服器41對通過一致性校驗的HTTP請求進行融合處理,以生成目 標HTTP請求並發送給Web伺服器,對沒有通過一致性校驗的HTTP請求進行告警處理。
[0131] 接著,代理伺服器41在進一步接收Web伺服器根據所述目標HTTP請求返回的目 標HTTP響應之後,將目標HTTP響應複製若干份,分別向通過一致性校驗的操作端21和測 試端發送目標HTTP響應。
[0132] 對於一些簡單的HTTP請求來說,例如,不涉及數據的提交的HTTP請求等,本實施 例所提供的測試方法所適用的測試系統中,無需包括代理伺服器41,操作端21和每個測試 端22i可以分別直接與Web伺服器進行通信。即第一瀏覽器向Web伺服器發送第一候選 HTTP請求以及接收Web伺服器根據第一候選HTTP請求返回的第一候選HTTP響應,第二瀏 覽器向Web伺服器發送第二候選HTTP請求以及接收Web伺服器根據第二候選HTTP請求返 回的第二候選HTTP響應。
[0133] 因此,為了能夠處理所有的HTTP請求,代理伺服器41可以配置兩種工作模式,一 種是透傳模式,另一種是融合模式。
[0134] 定義對於一些簡單的HTTP請求,代理伺服器41採用透傳模式,進行處理。即在請 求階段,直接將第一候選HTTP請求和若干個第二候選HTTP請求分別發送給Web伺服器, 不進行任何處理;在響應階段,直接將Web伺服器根據第一候選HTTP請求返回的第一候選 HTTP響應,發送給操作端即操作端所對應的第一瀏覽器,直接將Web伺服器根據第二候選 HTTP請求返回的第二候選HTTP響應,分部發送給每個測試端22,即測試端所對應的第二瀏 Π/Γ PLP jAL-nlr 〇
[0135] 定義對於用於提交數據的HTTP請求代理伺服器41採用融合模式,進行處理。即 在請求階段,將第一候選HTTP請求和若干個第二候選HTTP請求進行融合處理,以生成目標 HTTP請求,發送給Web伺服器;在響應階段,將Web伺服器根據目標HTTP請求返回的目標 HTTP響應,複製若干份,分別發送給操作端即操作端所對應的第一瀏覽器和每個測試端22i 即測試端所對應的第二瀏覽器。
[0136] 需要說明的是,本實施例中,測試系統所包括的操作端21、至少一個測試端22^ 2?……22 n、分發伺服器31和代理伺服器41可以部署在同一個終端上,或者也可以分別部 署在不同終端上,或者也可以一部分部署在一個終端上,另一部分部署在另一個終端上,在 一部分部署在再一個終端上,本實施例對此不進行特別限定。進一步地,如果測試端都部署 在同一個終端上,具體可以利用虛擬機技術實現,每一個測試端就可以為一個虛擬機的實 例。
[0137] -種較為優選的部署方式為,操作端21部署在終端A上,分發伺服器31和代理服 務器41部署在終端B上,每個測試端22i都分別部署在不同的終端上即終端Ni上,i為大 於或等於1,且小於或等於η的整數,η為測試端的數量。
[0138] 需要說明的是,圖1對應的實施例中操作端的功能,均可以由本實施例提供的測 試系統中操作端21實現;圖1對應的實施例中至少一個測試端的功能,均可以由本實施例 提供的測試系統中至少一個測試端22^2?……22 n實現;圖1對應的實施例中分發伺服器 的功能,均可以由本實施例提供的測試系統中分發伺服器31實現;圖1對應的實施例中分 發伺服器的功能,均可以由本實施例提供的測試系統中代理伺服器41實現。詳細描述可以 參見圖1對應的實施例中的相關內容,此處不再贅述。
[0139] 本實施例中,通過操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作 行為,所述操作行為包括操作的頁面元素信息和操作的行為信息,進而,根據所述操作行 為,生成操作指令,使得所述操作端能夠向至少一個測試端中每個測試端發送測試指示和 所述操作指令,這樣,所述每個測試端則可以根據所述測試指示,在第二瀏覽器展現的所述 待測試頁面上執行所述操作指令,只需要使用操作端的一個操作人員在一個瀏覽器即第一 瀏覽器所展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動其他 瀏覽器即第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人員在 不同瀏覽器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確率 高,從而提高了測試操作的效率和可靠性。
[0140] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而且第二瀏覽器的種類沒有數量 限制,因此,能夠有效提高測試過程中瀏覽器的覆蓋率。
[0141] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,因此,能夠實時對比各個測試操 作的操作結果,從而實現了實時監控的目的。
[0142] 另外,採用本發明提供的技術方案,通過分發伺服器為本次測試啟動服務實例,以 生成所述本次測試的測試指示,使得每次測試都可以對應不同的測試指示,因此,分發服務 器則可以同時為多個操作端提供測試服務,能夠有效提高測試操作的效率。
[0143] 圖5為本發明另一實施例提供的操作端的結構示意圖,如圖5所示。本實施例的操 作端可以包括採集單元51、生成單元52和發送單元53。其中,採集單元51,用於採集輸入 設備在第一瀏覽器展現的待測試頁面上的操作行為,所述操作行為包括操作的頁面元素信 息和操作的行為信息;生成單元52,用於根據所述操作行為,生成操作指令;發送單元53, 用於向至少一個測試端中每個測試端發送測試指示和所述操作指令,以使得所述每個測試 端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所述操作指令。
[0144] 其中,第二瀏覽器與第一瀏覽器,為不同瀏覽器;第二瀏覽器的數量與測試端的數 量相同,且第二瀏覽器與測試端一一對應,所述每個測試端所對應的第二瀏覽器,為不同瀏 Π/Γ PLP jAL-nlr 〇
[0145] 可以理解的是,所謂的不同瀏覽器,可以為在相同作業系統中運行的不同的瀏覽 器,或者還可以為在不同作業系統中運行的相同的瀏覽器,或者還可以為在不同作業系統 中運行的不同的瀏覽器,本實施例對此不進行特別限定。
[0146] 需要說明的是,所述操作端與所述第一瀏覽器,可以獨立運行在第一終端上;或 者,所述操作端還可以以軟體開發工具包(Software Development Kit, SDK)形式或插件形 式,設置在所述第一瀏覽器的內部;本實施例對此不進行特別限定。
[0147] 需要說明的是,所述每個測試端與對應的所述第二瀏覽器,可以獨立運行在第二 終端上;或者,所述測試端還可以以SDK形式或插件形式,設置在所述第二瀏覽器的內部; 本實施例對此不進行特別限定。
[0148] 可選地,在本實施例的一個可能的實現方式中,所述發送單元53,具體可以用於通 過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所述操作指令。
[0149] 可選地,在本實施例的一個可能的實現方式中,如圖6所示,本實施例所提供的操 作端還可以進一步包括接收單元61。其中,所述發送單元53,還可以進一步用於向所述分 發伺服器發送觸發信息。所述接收單元61,用於接收所述分發伺服器發送的所述測試指 示,以使得所述用戶確定所述每個測試端,所述測試指示為所述分發伺服器根據所述觸發 信息,為本次測試啟動服務實例,生成。相應地,所述發送單元53,則還可以進一步用於向所 述分發伺服器發送所述測試指示、所述待測試頁面的標識信息和所述每個測試端的標識信 息,以使得所述分發伺服器根據所述每個測試端的標識信息,向所述每個測試端發送所述 測試指示和所述待測試頁面的標識信息,以使得所述每個測試端驅動所述第二瀏覽器展現 所述待測試頁面。
[0150] 需要說明的是,圖1對應的實施例中操作端的功能,均可以由本實施例提供的測 試系統所提供的操作端實現。詳細描述可以參見圖1對應的實施例中的相關內容,此處不 再贅述。
[0151] 這樣,通過採集單元採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行 為,所述操作行為包括操作的頁面元素信息和操作的行為信息,進而,由生成單元根據所述 操作行為,生成操作指令,使得發送單元能夠向至少一個測試端中每個測試端發送測試指 示和所述操作指令,這樣,所述每個測試端則可以根據所述測試指示,在第二瀏覽器展現的 所述待測試頁面上執行所述操作指令,只需要使用操作端的一個操作人員在一個瀏覽器即 第一瀏覽器所展現的待測試頁面上,手動執行一次測試操作,就可以實時通過測試端驅動 其他瀏覽器即第二瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而無需操作人 員在不同瀏覽器所展現的待測試頁面,手動執行多次相同的測試操作,操作簡單,而且正確 率高,從而提高了測試操作的效率和可靠性。
[0152] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,而且第二瀏覽器的種類沒有數量 限制,因此,能夠有效提高測試過程中瀏覽器的覆蓋率。
[0153] 另外,採用本發明提供的技術方案,由於實時通過測試端驅動其他瀏覽器即第二 瀏覽器所展現的待測試頁面上自動執行相同的測試操作,因此,能夠實時對比各個測試操 作的操作結果,從而實現了實時監控的目的。
[0154] 另外,採用本發明提供的技術方案,通過分發伺服器為本次測試啟動服務實例,以 生成所述本次測試的測試指示,使得每次測試都可以對應不同的測試指示,因此,分發服務 器則可以同時為多個操作端提供測試服務,能夠有效提高測試操作的效率。
[0155] 所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統, 裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0156] 在本發明所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以 通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或頁面 組件可以結合或者可以集成到另一個系統,或一些特徵可以忽略,或不執行。另一點,所顯 示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間 接耦合或通信連接,可以是電性,機械或其它的形式。
[0157] 所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個 網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目 的。
[0158] 另外,在本發明各個實施例中的各功能單元可以集成在一個處理單元中,也可以 是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單 元既可以採用硬體的形式實現,也可以採用硬體加軟體功能單元的形式實現。
[0159] 上述以軟體功能單元的形式實現的集成的單元,可以存儲在一個計算機可讀取存 儲介質中。上述軟體功能單元存儲在一個存儲介質中,包括若干指令用以使得一個計算 機設備(可以是個人計算機,伺服器,或者網絡設備等)或處理器(processor)執行本發 明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬碟、只讀存儲器 (Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光碟 等各種可以存儲程序代碼的介質。
[0160] 最後應說明的是:以上實施例僅用以說明本發明的技術方案,而非對其限制;盡 管參照前述實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然 可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特徵進行等同替 換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各實施例技術方案的精 神和範圍。
【權利要求】
1. 一種測試方法,其特徵在於,包括: 操作端採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所述操作行為包 括操作的頁面元素信息和操作的行為信息; 所述操作端根據所述操作行為,生成操作指令; 所述操作端向至少一個測試端中每個測試端發送測試指示和所述操作指令,以使得所 述每個測試端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所述操作指 令。
2. 根據權利要求1所述的方法,其特徵在於,所述操作端向至少一個測試端中每個測 試端發送測試指示和所述操作指令,包括: 所述操作端通過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所述操 作指令。
3. 根據權利要求2所述的方法,其特徵在於,所述操作端通過分發伺服器,向至少一個 測試端中每個測試端發送測試指示和所述操作指令之前,還包括: 所述操作端向所述分發伺服器發送觸發信息; 所述操作端接收所述分發伺服器發送的所述測試指示,以使得所述用戶確定所述每個 測試端,所述測試指示為所述分發伺服器根據所述觸發信息,為本次測試啟動服務實例,生 成; 所述操作端向所述分發伺服器發送所述測試指示、所述待測試頁面的標識信息和所述 每個測試端的標識信息,以使得所述分發伺服器根據所述每個測試端的標識信息,向所述 每個測試端發送所述測試指示和所述待測試頁面的標識信息,以使得所述每個測試端驅動 所述第二瀏覽器展現所述待測試頁面。
4. 根據權利要求1所述的方法,其特徵在於,所述方法還包括: 代理伺服器接收第一候選HTTP請求,所述第一候選HTTP請求為所述第一瀏覽器根據 所述操作行為的操作結果,生成; 所述代理伺服器接收第二候選HTTP請求,所述第二候選HTTP請求為所述第二瀏覽器 根據所述測試端執行所述操作指令的操作結果,生成; 所述代理伺服器向Web伺服器發送所述第一候選HTTP請求,以及接收所述Web伺服器 根據所述第一候選HTTP請求,發送的第一候選HTTP響應;所述代理伺服器向Web伺服器發 送所述第二候選HTTP請求,以及接收所述Web伺服器根據所述第二候選HTTP請求,發送的 第二候選HTTP響應;所述代理伺服器向所述第一瀏覽器發送所述第一候選HTTP響應,向所 述第二瀏覽器發送所述第二候選HTTP響應;或者 所述代理伺服器根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成目標 HTTP請求,向Web伺服器發送所述目標HTTP請求,以及接收所述Web伺服器根據所述目標 HTTP請求,發送的目標HTTP響應;所述代理伺服器向所述第一瀏覽器和所述第二瀏覽器, 發送所述目標HTTP響應。
5. 根據權利要求1?4任一權利要求所述的方法,其特徵在於,所述操作端與所述第一 瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所述第一瀏覽 器的內部。
6. 根據權利要求1?4任一權利要求所述的方法,其特徵在於,所述每個測試端與對應 的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形式,設置在所 述第二瀏覽器的內部。
7. -種測試系統,其特徵在於,包括操作端和至少一個測試端;其中, 所述操作端,用於採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所述 操作行為包括操作的頁面元素信息和操作的行為信息;根據所述操作行為,生成操作指令; 以及向所述至少一個測試端中每個測試端發送測試指示和所述操作指令; 所述每個測試端,用於根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執 行所述操作指令。
8. 根據權利要求7所述的系統,其特徵在於,所述系統還包括分發伺服器;所述操作 端,具體用於 通過所述分發伺服器,向所述每個測試端發送測試指示和所述操作指令。
9. 根據權利要求8所述的系統,其特徵在於, 所述操作端,還用於向所述分發伺服器發送觸發信息; 所述分發伺服器,還用於根據所述觸發信息,為本次測試啟動服務實例,以生成所述本 次測試的所述測試指示;向所述操作端發送所述測試指示,以使得所述用戶確定所述每個 測試端; 所述操作端,還用於向所述分發伺服器發送所述測試指示、所述待測試頁面的標識信 息和所述每個測試端的標識信息; 所述分發伺服器,還用於根據所述每個測試端的標識信息,向所述每個測試端發送所 述測試指示和所述待測試頁面的標識信息; 所述每個測試端,還用於驅動所述第二瀏覽器展現所述待測試頁面。
10. 根據權利要求7所述的系統,其特徵在於,所述系統還包括代理伺服器,用於 接收第一候選HTTP請求,所述第一候選HTTP請求為所述第一瀏覽器根據所述操作行 為的操作結果,生成;接收第二候選HTTP請求,所述第二候選HTTP請求為所述第二瀏覽器 根據所述測試端執行所述操作指令的操作結果,生成; 向Web伺服器發送所述第一候選HTTP請求,以及接收所述Web伺服器根據所述第一候 選HTTP請求,發送的第一候選HTTP響應;向Web伺服器發送所述第二候選HTTP請求,以及 接收所述Web伺服器根據所述第二候選HTTP請求,發送的第二候選HTTP響應;向所述第一 瀏覽器發送所述第一候選HTTP響應,向所述第二瀏覽器發送所述第二候選HTTP響應;或者 根據所述第一候選HTTP請求和所述第二候選HTTP請求,生成目標HTTP請求;向Web 伺服器發送所述目標HTTP請求;接收所述Web伺服器根據所述目標HTTP請求,發送的目標 HTTP響應;向所述第一瀏覽器和所述第二瀏覽器,發送所述目標HTTP響應。
11. 根據權利要求7?10任一權利要求所述的系統,其特徵在於,所述操作端與所述第 一瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所述第一瀏 覽器的內部。
12. 根據權利要求7?10任一權利要求所述的系統,其特徵在於,所述每個測試端與對 應的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形式,設置在 所述第二瀏覽器的內部。
13. -種操作端,其特徵在於, 採集單元,用於採集輸入設備在第一瀏覽器展現的待測試頁面上的操作行為,所述操 作行為包括操作的頁面元素信息和操作的行為信息; 生成單元,用於根據所述操作行為,生成操作指令; 發送單元,用於向至少一個測試端中每個測試端發送測試指示和所述操作指令,以使 得所述每個測試端根據所述測試指示,在第二瀏覽器展現的所述待測試頁面上執行所述操 作指令。
14. 根據權利要求13所述的操作端,其特徵在於,所述發送單元,具體用於 通過分發伺服器,向至少一個測試端中每個測試端發送測試指示和所述操作指令。
15. 根據權利要求14所述的操作端,其特徵在於,所述操作端還包括接收單元;其中, 所述發送單元,還用於向所述分發伺服器發送觸發信息; 所述接收單元,用於接收所述分發伺服器發送的所述測試指示,以使得所述用戶確定 所述每個測試端,所述測試指示為所述分發伺服器根據所述觸發信息,為本次測試啟動服 務實例,生成; 所述發送單元,還用於向所述分發伺服器發送所述測試指示、所述待測試頁面的標識 信息和所述每個測試端的標識信息,以使得所述分發伺服器根據所述每個測試端的標識信 息,向所述每個測試端發送所述測試指示和所述待測試頁面的標識信息,以使得所述每個 測試端驅動所述第二瀏覽器展現所述待測試頁面。
16. 根據權利要求13?15任一權利要求所述的操作端,其特徵在於,所述操作端與所 述第一瀏覽器,獨立運行在第一終端上;所述操作端以SDK形式或插件形式,設置在所述第 一瀏覽器的內部。
17. 根據權利要求13?15任一權利要求所述的操作端,其特徵在於,所述每個測試端 與對應的所述第二瀏覽器,獨立運行在第二終端上;所述測試端以SDK形式或插件形式,設 置在所述第二瀏覽器的內部。
【文檔編號】G06F11/36GK104102578SQ201410301283
【公開日】2014年10月15日 申請日期:2014年6月27日 優先權日:2014年6月27日
【發明者】張立理, 李義冬, 沈彬, 梁丹 申請人:百度在線網絡技術(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀