Selenium - 消失的 HTML Comment

  • 5334
  • 0

Selenium - 消失的 HTML Comment

測試 Web 的時候,最討厭的就是跨瀏覽器的測試:Internet Explorer、Chrome、Firefox…等

最近,使用的時候,不知道是艾小克人品不好還是怎樣,同樣的程式碼卻在 IE 上碰到問題…

本來以為是瀏覽器對於是因為 AJAX 的問題,後來才發現原來只是 HTML Comment ( <!-- --> ) 消失了…

 

艾小克的環境是 Windows 7 x64 Enterprise

使用 Visual Studio 2010 撰寫一個簡單的 ASP.Net 4.0 Web Form,畫面簡單畫一個加法的測試…

image

 

看一下 markup,艾小克只是在很多標籤的前後加上很多 HTML Comment:

image

 

如果直接使用 Internet Explorer 9 瀏覽:

image

 

原始碼:

image

 

簡單地使用 python 配合 selenium rc 進行測試:

image

 

同樣瀏覽 WebForm1.aspx 並且印出 html source code :

image

 

仔細觀察一下 HTML Comment 位置,與 ASP.Net markup 的位置:

只有 <!—hidden content 6 –> 與 <!—hidden content 8  –> 的相對位置正確:

6 在 <title> 標籤之後,8 在 <body> 標籤之後

其餘 4、5、6、7、9、10 相對位置都被改變了;1 -  3 甚至不見了!!

 

同樣的情況使用 selenium WebDriver 來測試 IE9, 也只是得到相同的情況…

image

 

如果,使用 selenium rc 來測試 chrome:

image

1 – 3 一樣會消失,4 - 8 相對位置正確,9 – 10 相對位置改變:

9 原 </body> 之後,10 原 </html> 之後,都變成在 </body> 之前

 

如果是使用 selenium WebDriver 來測試 chrome:

image

1-3 沒有消失,1 – 8 的相對位置正確,只有 9 – 10 相對位置改變:

9 原 </body> 之後,10 原 </html> 之後,都變成在 </body> 之前

 

這是目前艾小克的測試結果,至於 HTML Comment 為什麼消失、為什麼相對位置改變、要怎樣解決?目前沒有答案…

而且,很少人會拿 HTML Comment 來隱藏一些資訊並且擷取出來應用吧… Smile with tongue out

把結果整理一下,給大家做一下參考:

selenium/HTML RC-IE WebDriver-IE RC-Chrome WebDriver-Chrome
1 NA NA NA O
2 NA NA NA O
3 NA NA NA O
4 X X O O
5 X X O O
6 O O O O
7 X X O O
8 O O O O
9 X X X X
10 X X X X