2011-04-10 27 views
0

我有一個使用SVG測量儀的Web應用程序。該儀表顯示我的電網(多臺機器)的健康狀況。Selenium和SVG

測量儀有3種顏色:綠色,黃色和紅色。

我希望能夠編寫一個測試,以確保此測量儀正確表示數據。也就是說,我的測試將計算預期的網格健康值,並確保量表指向適當的區域。

這可能使用Selenium 2.0嗎?

回答

1

硒可以讓你使用的JavaScript,得到在DOM任何元素的屬性,所以像

var gaugeFill = document.getElementById('mygauge').getAttribute('fill'); 

將讓你填充顏色,但它可能會回來,如:「RGB (255,0,0)「爲紅色。你必須檢查它,並相應地設置你的比較邏輯。

另外,你沒有說你是如何渲染SVG的。有很多方法......我描述的是現代瀏覽器中的SCV元素直接屬於DOM的一部分,但對於較老的瀏覽器或者如果您使用的是Raphael,情況並非如此。

+0

即時通訊測試鉻和Firefox最新......所以瀏覽器版本不應該是一個問題。 – Eli 2011-04-13 14:09:13

+0

也,我想得到箭頭方向...不是顏色。 (箭頭指向一定顏色的特定範圍)。我結束了這樣的事情:String arrowDegrees = driver.findElementById(「myGuage).getAttribute(」tranform「); – Eli 2011-04-13 14:11:49

0

所以我想通了,我認爲,沒有測試它呢... svg元素出現在圓頂上,就像 ,所以我可以走過去,直到我找到我需要的屬性..開關是在我的情況下變形。這個屬性是使用GWT生成的。你也可以分配ID的使用GWT女巫使整個過程變得更簡單