頁面對比方法和裝置制造方法
【專利摘要】本申請公開了一種頁面對比方法和裝置,其中,該方法包括:記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作以及記錄與執行該動作產生的頁面對應的第一圖像集合;向第二瀏覽器發送指示該第二瀏覽器執行該動作的信息;在該第二瀏覽器響應該網頁地址所顯示的第二頁面上執行該動作,并記錄與執行該動作產生的頁面對應的第二圖像集合;根據該第一圖像集合與該第二圖像集合的對比結果判斷在該第一頁面上執行該動作所產生的頁面與在該第二頁面上執行該動作所產生的頁面是否相同。本申請解決了相關技術中頁面對比方案需要花費大量時間、頁面對比效率較低的問題。
【專利說明】頁面對比方法和裝置
【技術領域】
[0001]本申請涉及互聯網領域,具體而言,涉及一種頁面對比方法和裝置。
【背景技術】
[0002]目前,在進行頁面對比測試的過程中,通常采用以下步驟:多個瀏覽器接收用戶輸入的網頁地址(URL),截取不同的瀏覽器響應該網頁地址顯示的初始頁面,并將這些初始頁面進行對比。然而,上述截取操作只針對響應上述網頁地址所打開的初始頁面,而對于初始頁面上需要執行某些動作之后才能展示出來的控件頁面,通過上述截取操作所得到的截圖無法顯示這些控件頁面。
[0003]例如,瀏覽器響應該網頁地址顯示的初始頁面如圖1所示,該初始頁面上包括“寶貝詳情”頁面,而沒有顯示“評價詳情”頁面和“成交記錄”頁面。在這種情況下,對該初始頁面進行截圖,則僅能得到“寶貝詳情”頁面,而無法得到“評價詳情”頁面和“成交記錄”頁面。若需要對比“評價詳情”頁面或“成交記錄”頁面,則需要用戶在上述不同的瀏覽器中執行點擊動作,以觸發顯示如圖2所示的“評價詳情”頁面或“成交記錄”頁面。這種依靠用戶在不同的瀏覽器中執行點擊動作來展示對應的控件頁面的方式,大大降低了頁面對比的效率。當在初始頁面上需要執行某些動作之后才能展示出來的控件頁面的個數超過一定閾值時,對比這些控件頁面的過程將花費非常多的時間,甚至無法完成。此外,由于需要用戶在不同的瀏覽器中按順序執行相同的動作的原因,因此,用戶可能由于粗心而導致在不同的瀏覽器中執行的動作的順序不同或執行的動作的內容不同,從而使得無法在不同的瀏覽器中針對相同的動作對對應的頁面進行截圖,導致頁面對比結果的準確性下降。
[0004]也就是說,目前的頁面對比方案在對比初始頁面上需要執行某些動作之后才能展示出來的控件頁面時需要花費大量的時間,導致頁面對比效率較低,而且準確性不高。
【發明內容】
[0005]本申請的主要目的在于提供一種頁面對比方法和裝置,以至少解決現有技術中頁面對比效率較低的問題。
[0006]根據本申請的一個方面,提供了一種頁面對比方法,該方法包括:記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作以及記錄與執行該動作產生的頁面對應的第一圖像集合;向第二瀏覽器發送指示該第二瀏覽器執行該動作的信息;在該第二瀏覽器響應該網頁地址所顯示的第二頁面上執行該動作,并記錄與執行該動作產生的頁面對應的第二圖像集合;根據該第一圖像集合與該第二圖像集合的對比結果判斷在該第一頁面上執行該動作所產生的頁面與在該第二頁面上執行該動作所產生的頁面是否相同。
[0007]優選的,上述動作包括N組頁面操作指令,N大于等于1,其中,上述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,上述記錄與執行上述動作產生的頁面對應的第一圖像集合包括:對在上述第一頁面上執行上述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行上述第一截圖操作所得到的截圖記錄為上述第一圖像集合;上述記錄與執行上述動作產生的頁面對應的第二圖像集合包括:對在上述第二頁面上執行上述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行上述第二截圖操作所得到的截圖記錄為上述第二圖像集口 ο
[0008]優選的,上述動作包括N組頁面操作指令,N大于等于1,其中,上述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,上述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括:記錄上述每一組頁面操作指令中的每個上述頁面操作指令以及分別與每個上述頁面操作指令對應的上述第一頁面上的第一控件的路徑,其中,在上述第一控件中的每一個控件上執行一個或多個上述頁面操作指令;上述在上述第二瀏覽器響應上述網頁地址所顯示的第二頁面上執行上述動作包括:根據上述路徑在上述第二頁面上查找第二控件,并在上述第二控件中的每一個控件上執行一個或多個上述頁面操作指令。
[0009]優選的,在記錄每一組頁面操作指令中的每個上述頁面操作指令以及分別與每個上述頁面操作指令對應的上述第一頁面上的第一控件的路徑之后,上述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括:根據記錄的每個上述頁面操作指令以及分別與每個上述頁面操作指令對應的上述第一頁面上的第一控件的路徑,生成動作序列,其中,上述動作序列按照執行的順序記錄有每個上述頁面操作指令與對應的第一控件的路徑之間的映射關系。
[0010]優選的,上述向第二瀏覽器發送指示上述第二瀏覽器執行上述動作的信息包括:將上述動作序列發送給上述第二瀏覽器;在上述第二瀏覽器響應上述網頁地址所顯示的第二頁面上執行上述動作包括:將上述動作序列生成腳本程序,并在上述第二瀏覽器響應上述網頁地址所顯示的第二頁面上執行上述腳本程序。
[0011]根據本申請的另一方面,提供了一種頁面對比裝置,該裝置包括:第一接收單元,用于接收在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作以及與執行該動作產生的頁面對應的第一圖像集合;發送單元,用于向第二瀏覽器發送指示該第二瀏覽器執行該動作的信息;第二接收單元,用于接收與在該第二瀏覽器響應該網頁地址所顯示的第二頁面上執行該動作所產生的頁面對應的第二圖像集合;對比單元,用于根據該第一圖像集合與該第二圖像集合的對比結果判斷在該第一頁面上執行該動作所產生的頁面與在該第二頁面上執行該動作所產生的頁面是否相同。
[0012]優選的,上述動作包括N組頁面操作指令,N大于等于1,其中,上述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,上述裝置還包括:第一記錄單元,用于對在上述第一頁面上執行上述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行上述第一截圖操作所得到的截圖記錄為上述第一圖像集合;第二記錄單元,用于對在上述第二頁面上執行上述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行上述第二截圖操作所得到的截圖記錄為上述第二圖像集合。
[0013]優選的,上述第一記錄單元還用于記錄上述每一組頁面操作指令中的每個上述頁面操作指令以及分別與每個上述頁面操作指令對應的上述第一頁面上的第一控件的路徑,其中,在上述第一控件中的每一個控件上執行一個或多個上述頁面操作指令;上述裝置還包括:執行單元,用于根據上述路徑在上述第二頁面上查找第二控件,并在上述第二控件中的每一個控件上執行一個或多個上述頁面操作指令;上述第二記錄單元包括:記錄模塊,用于對在上述第二頁面上的上述第二控件上執行上述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行上述第二截圖操作,將執行上述第二截圖操作所得到的截圖記錄為上述第二圖像集合。
[0014]優選的,上述第一記錄單元還用于根據記錄的每個上述頁面操作指令以及分別與每個上述頁面操作指令對應的上述第一頁面上的第一控件的路徑,生成動作序列,其中,上述動作序列按照執行的順序記錄有每個上述頁面操作指令與對應的第一控件的路徑之間的映射關系。
[0015]優選的,上述指示上述第二瀏覽器執行上述動作的信息包括上述動作序列,上述執行單元包括:執行模塊,用于將上述動作序列生成腳本程序,并通過執行上述腳本程序來根據上述路徑在上述第二頁面上查找第二控件,并在上述第二控件中的每一個控件上執行一個或多個上述頁面操作指令。
[0016]通過本申請的技術方案,能夠達到以下有益效果:在本申請中,將用戶在一個瀏覽器中打開初始頁面后的動作記錄下來,并將記錄下來的動作傳輸給其他瀏覽器,使得在其他瀏覽器中打開該初始頁面之后可以執行記錄下來的動作,并對執行記錄下來的動作之后所產生的頁面進行截圖,根據這些截圖對在不同瀏覽器上需要執行動作后才能展示出來的控件頁面進行對比,而不需要用戶在不同的瀏覽器中執行點擊動作,大大減少了頁面對比的時間,提高了頁面對比的效率。此外,由于在不同瀏覽器中執行的動作是系統記錄下來的動作,因此,避免了由于用戶的粗心導致的在不同的瀏覽器中執行的動作的順序不同或執行的動作的內容不同,使得在不同的瀏覽器中能夠針對相同的動作對對應的頁面進行截圖,提高了頁面對比的準確性。
【專利附圖】
【附圖說明】
[0017]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0018]圖1是根據相關技術的初始頁面的一種示意圖;
[0019]圖2是根據相關技術的控件頁面的另一種示意圖;
[0020]圖3是根據本申請實施例的頁面對比裝置的一種優選的結構示意圖;
[0021]圖4是根據本申請實施例的頁面對比裝置的另一種優選的結構示意圖;
[0022]圖5是根據本申請實施例的頁面對比裝置的又一種優選的結構示意圖;
[0023]圖6是根據本申請實施例的頁面對比裝置的又一種優選的結構示意圖;以及
[0024]圖7是根據本申請實施例的頁面對比方法的一種優選的流程圖。
【具體實施方式】
[0025]下文中將參考附圖并結合實施例來詳細說明本申請。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0026]在以下描述中,除非另外指明,否則將參考由一個或多個計算機執行的動作和操作的符號表示來描述本申請的各實施例。由此,可以理解,有時被稱為計算機執行的這類動作和操作包括計算機的處理單元對以結構化形式表示數據的電信號的操縱。這一操縱轉換了數據或在計算機的存儲器系統中的位置上維護它,這以本領域的技術人員都理解的方式重配置或改變了計算機的操作。維護數據的數據結構是具有數據的格式所定義的特定屬性的存儲器的物理位置。然而,盡管在上述上下文中描述本申請,但它并不意味著限制性的,如本領域的技術人員所理解的,后文所描述的動作和操作的各方面也可用硬件來實現。
[0027]如本申請所使用的,術語“模塊”或“單元”可以指在執行相應功能的硬件或者在硬件上執行的軟件對象或例程。
[0028]轉向附圖,其中相同的參考標號指代相同的元素,本申請的原理被示為在一個合適的計算環境中實現。以下描述基于所述的本申請的實施例,并且不應認為是關于此處未明確描述的替換實施例而限制本申請。
[0029]圖3示出了可用于這些設備的一個示例計算機體系結構的示意圖。出于描述的目的,所繪的體系結構僅為合適環境的一個示例,并非對本申請的使用范圍或功能提出任何局限。也不應將該計算系統解釋為對圖3所示的任一組件或其組合具有任何依賴或需求。
[0030]本申請的原理可以使用其它通用或專用計算或通信環境或配置來操作。適用于本申請的眾所周知的計算系統、環境和配置的示例包括但不限于,個人計算機、服務器,多處理器系統、基于微處理的系統、小型機、大型計算機、以及包括任一上述系統或設備的分布式計算環境。
[0031]實施例1
[0032]如圖3所示,頁面對比裝置302與瀏覽器304和瀏覽器306通信。當然,這只是一個示例,本申請并不僅限于此,頁面對比裝置302可以與三個或三個以上瀏覽器通信。
[0033]在本實施例中,頁面對比裝置302通過以下步驟與瀏覽器304和瀏覽器306通信,以實現頁面對比:
[0034]SI,記錄在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合。優選的,可以由瀏覽器304中的JS(JavaScript)錄制功能插件記錄在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合。當然,作為一種可選的方式,上述JS錄制功能插件可以實現在頁面對比裝置302中,在這種場景下,JS錄制功能插件通過與瀏覽器304通信可以獲得在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及與執行所述動作產生的頁面對應的第一圖像集合。需要說明的是,JS錄制功能插件僅是本申請的一個示例,其他能夠記錄用戶在瀏覽器304所顯示的第一頁面上所執行的動作的軟件和硬件,均應被理解為屬于本申請的保護范圍之內。
[0035]例如,網頁地址指向網站上的商品A的展示頁面,該展示頁面如圖1所示,其可以被認為是上述的第一頁面,如圖1所示。在該展示頁面上,用戶首先點擊“評價詳情”按鈕,出現了如圖2所示的控件頁面,對該控件頁面進行截圖,得到“評價詳情”截圖1 ;然后,用戶點擊了 “成交記錄”按鈕,出現了展示“成交記錄”的控件頁面,對該控件頁面進行截圖,得到“成交記錄”截圖1。此時,記錄的第一圖像集合包括:“評價詳情”截圖1和“成交記錄”截圖1 ;記錄的動作采用JS動作序列的方式來表示,其中,所述JS動作序列按執行的順序記錄有所述每個頁面操作指令與對應的控件的路徑之間的映射關系,例如,JS動作序列包括:1)[控件I的路徑,點擊“評價詳情”按鈕];2)[控件2的路徑,點擊“成交記錄”按鈕]。上述采用記錄有[控件的路徑,操作指令]的JS動作序列的方式來描述所執行的動作,這僅是本申請的一個示例,本申請不僅限于此,其他能夠指示動作的表述方式也應當被理解為屬于本申請的保護范圍之內。優選的,上述控件的路徑可以但不限于是與該控件所在的網頁的網頁代碼對應的xpath路徑。
[0036]例如,控件所在的網頁的網頁代碼如下所示:
[0037]
<htini>
<body>
<div id=
<div class= “div]Class”〉
<a href= "www.baidL1.com">baidu</a>
<a href= “www’hao 123.com” id= “hao 1231d”>hao 123</a>
</div>
</div>
<div>
<div>
〈input id= “ipu” name= “input” type= “text,,></input>
〈input name= “input” type = “text,,></input>
</d iv>
</div>
</body>
</html>
[0038]在上述網頁代碼中對應有四個控件(最底層控件):1)鏈接控件1,對應的網頁代碼為:〈a href= “www.baidu.com” >baidu〈/a>,用于指向網址 www.baidu.com ;2)鏈接控件 2,對應的網頁代碼為:<a href= “www.haol23.com” id= “haol23Id” >haol23〈/a>,用于指向網址www.haol23.com ;3)輸入框控件I,對應的網頁代碼為:<input id= “ipu^name= “input”type= “text”X/input> ;4)輸入框控件 2,對應的網頁代碼為:〈inputname= “ input,,type= “text,,>〈/input>。
[0039]上述鏈接控件I 的 xpath 路徑為://div[id= ‘divl’ ]//div[class= ‘divlClass, ]//a[l]
[0040]上述鏈接控件2 的 xpath 路徑為:a[id= ‘haol23Id’ ]或者 #haol23Id
[0041]上述鏈接控件3的xpath路徑為:input [id= ‘ipu’ ]或者#ipu
[0042]上述鏈接控件4 的 xpath 路徑為;//body//div [2]//div [I]//input [2]
[0043]在本實施例中,上述動作可以包括N組頁面操作指令,N大于等于I,其中,該N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令。在動作包括N組頁面操作指令的情況下,可以但不限于采用以下方式之一來進行截圖:
[0044]I)在上述第一頁面上每執行一個頁面操作指令之后,即對所產生的頁面截一次圖;
[0045]2)在上述第一頁面上每執行一組頁面操作指令之后,即對所產生的頁面截一次圖。例如,當用戶在上述第一頁面上執行兩個頁面操作指令(如兩個頁面操作指令包括:選擇“評價詳情”按鈕和點擊“確定”按鈕)之后,第一頁面才能跳轉到“評價詳情”所對應的控件頁面,這時,對執行完上述兩個頁面操作指令之后產生的“評價詳情”所對應的控件頁面進行截圖,而不是分別在執行完“選擇“評價詳情”按鈕”頁面操作指令之后和在執行完“點擊“確定”按鈕”頁面操作指令之后進行截圖。通過每執行一組頁面操作指令之后對所產生的頁面截一次圖的方式,可以進一步減少所截圖的個數,使得需要傳輸的截圖的個數和需要比較的截圖的個數減少,提高了傳輸和比對的效率。
[0046]優選的,在本實施例中,若一個或多個頁面操作指令的組合使得當前頁面發生變化,則將該一個或多個頁面操作指令設置為上述一組頁面操作指令。
[0047]S2,頁面對比裝置302接收指示上述動作的信息以及與每個動作對應的截圖。例如,頁面對比裝置302接收的信息包括:1)[控件I的路徑,點擊“評價詳情”按鈕,“評價詳情”截圖1] ;2)[控件2的路徑,點擊“成交記錄”按鈕,“成交記錄”截圖1]。
[0048]S3,頁面對比裝置302將指示上述動作的信息發送給瀏覽器306。
[0049]S4,在瀏覽器306響應所述網頁地址所顯示的第二頁面上執行上述動作,并記錄執行上述動作產生的第二圖像集合。優選的,將JS動作序列生成JS腳本程序,并在瀏覽器306響應上述網頁地址所顯示的第二頁面上執行該JS腳本程序。例如,該網頁地址同樣為指向網站上的商品A的展示頁面,執行該JS腳本程序的過程包括:在瀏覽器306所顯示的展示頁面上根據控件I的路徑查找對應的控件1’,在該控件I’上執行點擊“評價詳情”按鈕,并對執行完點擊“評價詳情”按鈕之后的出現的頁面進行截圖,得到“評價詳情”截圖2 ;然后根據控件2的路徑查找對應的控件2’,在該控件2’上執行點擊“成交記錄”按鈕的動作,并對執行完點擊“成交記錄”按鈕之后的出現的頁面進行截圖,得到“成交記錄”截圖2。此時,記錄的第二圖像集合包括:“評價詳情”截圖2和“成交記錄”截圖2。
[0050]同樣,在本實施例中,上述動作可以包括N組頁面操作指令,N大于等于I,其中,該N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令。在動作包括N組頁面操作指令的情況下,可以但不限于采用以下方式之一來進行截圖:
[0051]I)在上述第二頁面上每執行一個頁面操作指令之后,即對所產生的頁面截一次圖;
[0052]2)在上述第二頁面上每執行一組頁面操作指令之后,即對所產生的頁面截一次圖。
[0053]優選的,在本實施例中,若一個或多個頁面操作指令的組合使得當前頁面發生變化,則將該一個或多個頁面操作指令設置為上述一組頁面操作指令。
[0054]S5,頁面對比裝置302接收上述第二圖像集合,并將第一圖像集合與第二圖像集合進行對比。例如,將“評價詳情”截圖1與“評價詳情”截圖2進行對比,將“成交記錄”截圖1與“成交記錄”截圖2進行對比。本申請可以采用現有技術中的方案來實現上述的對比操作,在此本申請不再贅述。
[0055]S6,頁面對比裝置302根據所述第一圖像集合與所述第二圖像集合的對比結果判斷在所述第一頁面上執行所述動作所產生的頁面與在所述第二頁面上執行所述動作所產生的頁面是否相同。例如,當“評價詳情”截圖1與“評價詳情”截圖2相同時,則判斷出在第一頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面與在第二頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面相同,否則,則判斷出兩者不同。
[0056]在上述實施例中,將用戶在一個瀏覽器中打開初始頁面后的動作記錄下來,并將記錄下來的動作傳輸給其他瀏覽器,使得在其他瀏覽器中打開該初始頁面之后可以執行記錄下來的動作,并對執行記錄下來的動作之后所產生的頁面進行截圖,根據這些截圖對在不同瀏覽器上需要執行動作后才能展示出來的控件頁面進行對比,而不需要用戶在不同的瀏覽器中執行點擊動作,大大減少了頁面對比的時間,提高了頁面對比的效率。此外,由于在不同瀏覽器中執行的動作是系統記錄下來的動作,因此,避免了由于用戶的粗心導致的在不同的瀏覽器中執行的動作的順序不同或執行的動作的內容不同,使得在不同的瀏覽器中能夠針對相同的動作對對應的頁面進行截圖,提高了頁面對比的準確性。
[0057]下面結合附圖來進一步描述上述的頁面對比裝置302。如圖4所示,本實施例中的頁面對比裝置302包括但不限于:
[0058]I)第一接收單元402,用于接收在瀏覽器302響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及與執行所述動作產生的頁面對應的第一圖像集合。
[0059]優選的,可以由瀏覽器304中的JS錄制功能插件記錄在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合。當然,作為一種可選的方式,上述JS錄制功能插件可以實現在頁面對比裝置302中,例如,JS錄制功能插件實現在頁面對比裝置302中的第一記錄單元502中(如圖5所示),在這種場景下,具有JS錄制功能插件的第一記錄單元502通過與瀏覽器304通信可以獲得在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及與執行所述動作產生的頁面對應的第一圖像集合。需要說明的是,JS錄制功能插件僅是本申請的一個示例,其他能夠記錄用戶在瀏覽器304所顯示的第一頁面上所執行的動作的軟件和硬件,均應被理解為屬于本申請的保護范圍之內。
[0060]例如,網頁地址指向網站上的商品A的展示頁面,該展示頁面如圖1所示,其可以被認為是上述的第一頁面,如圖1所示。在該展示頁面上,用戶首先點擊“評價詳情”按鈕,出現了如圖2所示的控件頁面,對該控件頁面進行截圖,得到“評價詳情”截圖1 ;然后,用戶點擊了 “成交記錄”按鈕,出現了展示“成交記錄”的控件頁面,對該控件頁面進行截圖,得到“成交記錄”截圖1。此時,記錄的第一圖像集合包括:“評價詳情”截圖1和“成交記錄”截圖1 ;記錄的動作采用JS動作序列的方式來表示,其中,所述JS動作序列按執行的順序記錄有所述每個頁面操作指令與對應的控件的路徑之間的映射關系,例如,JS動作序列包括:1)[控件I的路徑,點擊“評價詳情”按鈕];2)[控件2的路徑,點擊“成交記錄”按鈕]。上述采用記錄有[控件的路徑,操作指令]的JS動作序列的方式來描述所執行的動作,這僅是本申請的一個示例,本申請不僅限于此,其他能夠指示動作的表述方式也應當被理解為屬于本申請的保護范圍之內。優選的,上述控件的路徑可以但不限于是與該控件所在的網頁的網頁代碼對應的xpath路徑,xpath路徑的具體示例如上所示,在此不再贅述。
[0061]在本實施例中,上述動作可以包括N組頁面操作指令,N大于等于I,其中,該N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令。在動作包括N組頁面操作指令的情況下,可以但不限于采用以下方式之一來進行截圖:
[0062]I)在上述第一頁面上每執行一個頁面操作指令之后,即對所產生的頁面截一次圖;
[0063]2)在上述第一頁面上每執行一組頁面操作指令之后,即對所產生的頁面截一次圖。例如,當用戶在上述第一頁面上執行兩個頁面操作指令(如兩個頁面操作指令包括:選擇“評價詳情”按鈕和點擊“確定”按鈕)之后,第一頁面才能跳轉到“評價詳情”所對應的控件頁面,這時,對執行完上述兩個頁面操作指令之后產生的“評價詳情”所對應的控件頁面進行截圖,而不是分別在執行完“選擇“評價詳情”按鈕”頁面操作指令之后和在執行完“點擊“確定”按鈕”頁面操作指令之后進行截圖。通過每執行一組頁面操作指令之后對所產生的頁面截一次圖的方式,可以進一步減少所截圖的個數,使得需要傳輸的截圖的個數和需要比較的截圖的個數減少,提高了傳輸和比對的效率。
[0064]優選的,在本實施例中,若一個或多個頁面操作指令的組合使得當前頁面發生變化,則將該一個或多個頁面操作指令設置為上述一組頁面操作指令。
[0065]在記錄了上述動作和對應的第一圖像集合之后,將上述動作和對應的第一圖像集合發送給上述第一接收單元402。
[0066]2)發送單元404,用于向瀏覽器304發送指示所述瀏覽器304執行所述動作的信息;
[0067]3)第二接收單元406,用于接收與在所述瀏覽器304響應所述網頁地址所顯示的第二頁面上執行所述動作所產生的頁面對應的第二圖像集合。
[0068]優選的,在瀏覽器306響應所述網頁地址所顯示的第二頁面上執行上述動作,并記錄執行上述動作產生的第二圖像集合。優選的,將JS動作序列生成JS腳本程序,并在瀏覽器306響應上述網頁地址所顯示的第二頁面上執行該JS腳本程序。例如,該網頁地址同樣為指向網站上的商品A的展示頁面,執行該JS腳本程序的過程包括:在瀏覽器306所顯示的展示頁面上根據控件I的路徑查找對應的控件I’,在該控件I’上執行點擊“評價詳情”按鈕,并對執行完點擊“評價詳情”按鈕之后的出現的頁面進行截圖,得到“評價詳情”截圖2 ;然后根據控件2的路徑查找對應的控件2’,在該控件2’上執行點擊“成交記錄”按鈕的動作,并對執行完點擊“成交記錄”按鈕之后的出現的頁面進行截圖,得到“成交記錄”截圖
2。此時,記錄的第二圖像集合包括:“評價詳情”截圖2和“成交記錄”截圖2。
[0069]同樣,在本實施例中,上述動作可以包括N組頁面操作指令,N大于等于I,其中,該N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令。在動作包括N組頁面操作指令的情況下,可以但不限于采用以下方式之一來進行截圖:
[0070]I)在上述第二頁面上每執行一個頁面操作指令之后,即對所產生的頁面截一次圖;
[0071]2)在上述第二頁面上每執行一組頁面操作指令之后,即對所產生的頁面截一次圖。
[0072]優選的,在本實施例中,若一個或多個頁面操作指令的組合使得當前頁面發生變化,則將該一個或多個頁面操作指令設置為上述一組頁面操作指令。
[0073]在記錄了第二圖像集合之后,將上述第二圖像集合發送給上述第二接收單元406。
[0074]在本實施例中,第一接收單元402和第二接收單元406可以由一個硬件裝置實現,或者,可以兩個硬件裝置實現,本申請對此不做限定。
[0075]4)對比單元408,與第一接收單元402、發送單元404和第二接收單元406連接,用于根據所述第一圖像集合與所述第二圖像集合的對比結果判斷在所述第一頁面上執行所述動作所產生的頁面與在所述第二頁面上執行所述動作所產生的頁面是否相同。
[0076]例如,將“評價詳情”截圖1與“評價詳情”截圖2進行對比,將“成交記錄”截圖1與“成交記錄”截圖2進行對比。本申請可以采用現有技術中的方案來實現上述的對比操作,在此本申請不再贅述。當“評價詳情”截圖1與“評價詳情”截圖2相同時,則判斷出在第一頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面與在第二頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面相同,否則,則判斷出兩者不同。
[0077]在上述實施例中,將用戶在一個瀏覽器中打開初始頁面后的動作記錄下來,并將記錄下來的動作傳輸給其他瀏覽器,使得在其他瀏覽器中打開該初始頁面之后可以執行記錄下來的動作,并對執行記錄下來的動作之后所產生的頁面進行截圖,根據這些截圖對在不同瀏覽器上需要執行動作后才能展示出來的控件頁面進行對比,而不需要用戶在不同的瀏覽器中執行點擊動作,大大減少了頁面對比的時間,提高了頁面對比的效率。此外,由于在不同瀏覽器中執行的動作是系統記錄下來的動作,因此,避免了由于用戶的粗心導致的在不同的瀏覽器中執行的動作的順序不同或執行的動作的內容不同,使得在不同的瀏覽器中能夠針對相同的動作對對應的頁面進行截圖,提高了頁面對比的準確性。
[0078]進一步,假設動作包括N組頁面操作指令,N大于等于1,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,如圖5所示,頁面對比裝置302還包括:
[0079]5)第一記錄單元502,與第一接收單元402連接,用于對在所述第一頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行所述第一截圖操作所得到的截圖記錄為所述第一圖像集合;
[0080]6)第二記錄單元504,與第二接收單元406連接,用于對在所述第二頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集合。
[0081]優選的,所述第一記錄單元502還用于記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,其中,在所述第一控件中的每一個控件上執行一個或多個所述頁面操作指令。如圖6所示,頁面對比裝置還包括:執行單元602,用于根據所述路徑在所述第二頁面上查找第二控件,并在所述第二控件中的每一個控件上執行一個或多個所述頁面操作指令。所述第二記錄單元504包括:記錄模塊,用于對在所述第二頁面上的所述第二控件上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行所述第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集合。
[0082]優選的,所述第一記錄單元還用于根據記錄的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,生成動作序列,其中,所述動作序列按照執行的順序記錄有每個所述頁面操作指令與對應的第一控件的路徑之間的映射關系。例如,第一記錄單元記錄以下內容:1)[控件I的路徑,點擊“評價詳情”按鈕];2)[控件2的路徑,點擊“成交記錄”按鈕]。上述采用[控件的路徑,操作指令]的方式來描述所執行的動作,這僅是本申請的一個示例,本申請不僅限于此,其他能夠指示動作的表述方式也應當被理解為屬于本申請的保護范圍之內。優選的,上述控件的路徑可以但不限于是與該控件所在的網頁的網頁代碼對應的xpath路徑,xpath路徑的具體示例如上所示,在此不再贅述。
[0083]實施例2
[0084]下面將結合附圖來描述本申請的實施例中的頁面對比方法,如圖7所示,本實施例中的頁面對比方法包括:
[0085]S702,記錄在第一瀏覽器(如圖3-圖6中的瀏覽器304)響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合;
[0086]優選的,可以由瀏覽器304中的JS (JavaScript)錄制功能插件記錄在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合。當然,作為一種可選的方式,上述JS錄制功能插件可以實現在頁面對比裝置302中,在這種場景下,JS錄制功能插件通過與瀏覽器304通信可以獲得在瀏覽器304響應網頁地址所顯示的第一頁面(如圖1所示)上所執行的動作以及與執行所述動作產生的頁面對應的第一圖像集合。需要說明的是,JS錄制功能插件僅是本申請的一個示例,其他能夠記錄用戶在瀏覽器304所顯示的第一頁面上所執行的動作的軟件和硬件,均應被理解為屬于本申請的保護范圍之內。
[0087]例如,網頁地址指向網站上的商品A的展示頁面,該展示頁面如圖1所示,其可以被認為是上述的第一頁面,如圖1所示。在該展示頁面上,用戶首先點擊“評價詳情”按鈕,出現了如圖2所示的控件頁面,對該控件頁面進行截圖,得到“評價詳情”截圖1 ;然后,用戶點擊了“成交記錄”按鈕,出現了展示“成交記錄”的控件頁面,對該控件頁面進行截圖,得到“成交記錄”截圖1。此時,記錄的第一圖像集合包括:“評價詳情”截圖1和“成交記錄”截圖1 ;記錄的動作采用JS動作序列的方式來表示,其中,所述JS動作序列按執行的順序記錄有所述每個頁面操作指令與對應的控件的路徑之間的映射關系,例如,JS動作序列包括:1)[控件I的路徑,點擊“評價詳情”按鈕];2)[控件2的路徑,點擊“成交記錄”按鈕]。上述采用記錄有[控件的路徑,操作指令]的JS動作序列的方式來描述所執行的動作,這僅是本申請的一個示例,本申請不僅限于此,其他能夠指示動作的表述方式也應當被理解為屬于本申請的保護范圍之內。優選的,上述控件的路徑可以但不限于是與該控件所在的網頁的網頁代碼對應的xpath路徑,xpath路徑的具體示例如上所示,在此不再贅述。
[0088]在本實施例中,上述動作可以包括N組頁面操作指令,N大于等于I,其中,該N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令。在動作包括N組頁面操作指令的情況下,可以但不限于采用以下方式之一來進行截圖:
[0089]I)在上述第一頁面上每執行一個頁面操作指令之后,即對所產生的頁面截一次圖;
[0090]2)在上述第一頁面上每執行一組頁面操作指令之后,即對所產生的頁面截一次圖。例如,當用戶在上述第一頁面上執行兩個頁面操作指令(如兩個頁面操作指令包括:選擇“評價詳情”按鈕和點擊“確定”按鈕)之后,第一頁面才能跳轉到“評價詳情”所對應的控件頁面,這時,對執行完上述兩個頁面操作指令之后產生的“評價詳情”所對應的控件頁面進行截圖,而不是分別在執行完“選擇“評價詳情”按鈕”頁面操作指令之后和在執行完“點擊“確定”按鈕”頁面操作指令之后進行截圖。通過每執行一組頁面操作指令之后對所產生的頁面截一次圖的方式,可以進一步減少所截圖的個數,使得需要傳輸的截圖的個數和需要比較的截圖的個數減少,提高了傳輸和比對的效率。
[0091]優選的,在本實施例中,若一個或多個頁面操作指令的組合使得當前頁面發生變化,則將該一個或多個頁面操作指令設置為上述一組頁面操作指令。
[0092]S704,向第二瀏覽器(如圖3-圖6中的瀏覽器306)發送指示所述第二瀏覽器執行所述動作的信息;
[0093]S706,在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作,并記錄與執行所述動作產生的頁面對應的第二圖像集合;
[0094]優選的,將JS動作序列生成JS腳本程序,并在瀏覽器306響應上述網頁地址所顯示的第二頁面上執行該JS腳本程序。例如,該網頁地址同樣為指向網站上的商品A的展示頁面,執行該JS腳本程序的過程包括:在瀏覽器306所顯示的展示頁面上根據控件I的路徑查找對應的控件1’,在該控件I’上執行點擊“評價詳情”按鈕,并對執行完點擊“評價詳情”按鈕之后的出現的頁面進行截圖,得到“評價詳情”截圖2 ;然后根據控件2的路徑查找對應的控件2’,在該控件2’上執行點擊“成交記錄”按鈕的動作,并對執行完點擊“成交記錄”按鈕之后的出現的頁面進行截圖,得到“成交記錄”截圖2。此時,記錄的第二圖像集合包括:“評價詳情”截圖2和“成交記錄”截圖2。
[0095]S708,根據所述第一圖像集合與所述第二圖像集合的對比結果判斷在所述第一頁面上執行所述動作所產生的頁面與在所述第二頁面上執行所述動作所產生的頁面是否相同。
[0096]例如,將“評價詳情”截圖1與“評價詳情”截圖2進行對比,將“成交記錄”截圖1與“成交記錄”截圖2進行對比。本申請可以采用現有技術中的方案來實現上述的對比操作,在此本申請不再贅述。當“評價詳情”截圖1與“評價詳情”截圖2相同時,則判斷出在第一頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面與在第二頁面上執行點擊“評價詳情”按鈕的動作后產生的頁面相同,否則,則判斷出兩者不同。
[0097]在上述實施例中,將用戶在一個瀏覽器中打開初始頁面后的動作記錄下來,并將記錄下來的動作傳輸給其他瀏覽器,使得在其他瀏覽器中打開該初始頁面之后可以執行記錄下來的動作,并對執行記錄下來的動作之后所產生的頁面進行截圖,根據這些截圖對在不同瀏覽器上需要執行動作后才能展示出來的控件頁面進行對比,而不需要用戶在不同的瀏覽器中執行點擊動作,大大減少了頁面對比的時間,提高了頁面對比的效率。此外,由于在不同瀏覽器中執行的動作是系統記錄下來的動作,因此,避免了由于用戶的粗心導致的在不同的瀏覽器中執行的動作的順序不同或執行的動作的內容不同,使得在不同的瀏覽器中能夠針對相同的動作對對應的頁面進行截圖,提高了頁面對比的準確性。
[0098]優選的,所述動作包括N組頁面操作指令,N大于等于1,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,所述記錄與執行所述動作產生的頁面對應的第一圖像集合包括:對在所述第一頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行所述第一截圖操作所得到的截圖記錄為所述第一圖像集合;所述記錄與執行所述動作產生的頁面對應的第二圖像集合包括:對在所述第二頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集口 ο
[0099]優選的,所述動作包括N組頁面操作指令,N大于等于1,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,其中,所述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括:記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,其中,在所述第一控件中的每一個控件上執行一個或多個所述頁面操作指令。所述在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作包括:根據所述路徑在所述第二頁面上查找第二控件,并在所述第二控件中的每一個控件上執行一個或多個所述頁面操作指令。
[0100]在所述記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑之后,所述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括:根據記錄的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,生成動作序列,其中,所述動作序列按照執行的順序記錄有每個所述頁面操作指令與對應的第一控件的路徑之間的映射關系。
[0101]優選的,所述向第二瀏覽器發送指示所述第二瀏覽器執行所述動作的信息包括:將所述動作序列發送給所述第二瀏覽器。在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作包括:將所述動作序列生成腳本程序,并在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述腳本程序。
[0102]上述實施例所描述的頁面對比方法和裝置可以但不限于應用于xbrowser工具/平臺(基于多/單瀏覽器和/或多/單環境的圖片對比平臺)。
[0103]顯然,本領域的技術人員應該明白,上述的本申請的各模塊或各步驟可以用通用的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執行的程序代碼來實現,從而,可以將它們存儲在存儲裝置中由計算裝置來執行,并且在某些情況下,可以以不同于此處的順序執行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本申請不限制于任何特定的硬件和軟件結合。
[0104]以上所述僅為本申請的優選實施例而已,并不用于限制本申請,對于本領域的技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本申請的保護范圍之內。
【權利要求】
1.一種頁面對比方法,其特征在于,包括: 記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作以及記錄與執行所述動作產生的頁面對應的第一圖像集合; 向第二瀏覽器發送指示所述第二瀏覽器執行所述動作的信息; 在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作,并記錄與執行所述動作產生的頁面對應的第二圖像集合; 根據所述第一圖像集合與所述第二圖像集合的對比結果判斷在所述第一頁面上執行所述動作所產生的頁面與在所述第二頁面上執行所述動作所產生的頁面是否相同。
2.根據權利要求1所述的方法,其特征在于,所述動作包括N組頁面操作指令,N大于等于I,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令, 所述記錄與執行所述動作產生的頁面對應的第一圖像集合包括:對在所述第一頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行所述第一截圖操作所得到的截圖記錄為所述第一圖像集合; 所述記錄與執行所述動作產生的頁面對應的第二圖像集合包括:對在所述第二頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集合。
3.根據權利要求 1所述的方法,其特征在于,所述動作包括N組頁面操作指令,N大于等于I,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令, 所述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括:記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,其中,在所述第一控件中的每一個控件上執行一個或多個所述頁面操作指令; 所述在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作包括:根據所述路徑在所述第二頁面上查找第二控件,并在所述第二控件中的每一個控件上執行一個或多個所述頁面操作指令。
4.根據權利要求3所述的方法,其特征在于,在所述記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑之后,所述記錄在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作包括: 根據記錄的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,生成動作序列,其中,所述動作序列按照執行的順序記錄有每個所述頁面操作指令與對應的第一控件的路徑之間的映射關系。
5.根據權利要求4所述的方法,其特征在于, 所述向第二瀏覽器發送指示所述第二瀏覽器執行所述動作的信息包括:將所述動作序列發送給所述第二瀏覽器; 在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作包括:將所述動作序列生成腳本程序,并在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述腳本程序。
6.一種頁面對比裝置,其特征在于,包括: 第一接收單元,用于接收在第一瀏覽器響應網頁地址所顯示的第一頁面上所執行的動作以及與執行所述動作產生的頁面對應的第一圖像集合; 發送單元,用于向第二瀏覽器發送指示所述第二瀏覽器執行所述動作的信息; 第二接收單元,用于接收與在所述第二瀏覽器響應所述網頁地址所顯示的第二頁面上執行所述動作所產生的頁面對應的第二圖像集合; 對比單元,用于根據所述第一圖像集合與所述第二圖像集合的對比結果判斷在所述第一頁面上執行所述動作所產生的頁面與在所述第二頁面上執行所述動作所產生的頁面是否相同。
7.根據權利要求6所述的裝置,其特征在于,所述動作包括N組頁面操作指令,N大于等于I,其中,所述N組頁面操作指令中的每一組頁面操作指令包括一個或多個頁面操作指令,所述裝置還包括: 第一記錄單元,用于對在所述第一頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第一截圖操作,將執行所述第一截圖操作所得到的截圖記錄為所述第一圖像集合; 第二記錄單元,用于對在所述第二頁面上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集合。
8.根據權利要求7所述的裝置,其特征在于, 所述第一記錄單元還用于記錄所述每一組頁面操作指令中的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,其中,在所述第一控件中的每一個控件上執行一個或多個所述頁面操作指令; 所述裝置還包括:執行單元,用于根據所述路徑在所述第二頁面上查找第二控件,并在所述第二控件中的每一個控件上執行一個或多個所述頁面操作指令; 所述第二記錄單元包括:記錄模塊,用于對在所述第二頁面上的所述第二控件上執行所述N組頁面操作指令中的每一組頁面操作指令后得到的頁面執行所述第二截圖操作,將執行所述第二截圖操作所得到的截圖記錄為所述第二圖像集合。
9.根據權利要求8所述的裝置,其特征在于,所述第一記錄單元還用于根據記錄的每個所述頁面操作指令以及分別與每個所述頁面操作指令對應的所述第一頁面上的第一控件的路徑,生成動作序列,其中,所述動作序列按照執行的順序記錄有每個所述頁面操作指令與對應的第一控件的路徑之間的映射關系。
10.根據權利要求9所述的裝置,其特征在于,所述指示所述第二瀏覽器執行所述動作的信息包括所述動作序列,所述執行單元包括:執行模塊,用于將所述動作序列生成腳本程序,并通過執行所述腳本程序來根據所述路徑在所述第二頁面上查找第二控件,并在所述第二控件中的每一個控件上執行一個或多個所述頁面操作指令。
【文檔編號】G06F9/44GK104077119SQ201310109440
【公開日】2014年10月1日 申請日期:2013年3月29日 優先權日:2013年3月29日
【發明者】李海靜, 鄒燃 申請人:阿里巴巴集團控股有限公司