2013-07-05 88 views
0

我試圖用watir web驅動程序測試highchart餅圖。我遇到了找到一小塊餡餅的問題。用Watir測試Highcharts餅圖

#Get the pie 
series1 = browser.element(:css => 'g.highcharts-tracker') 

#Get the pieces 
all_path_elements = series1.elements(:css => 'path') 
#get the second to last 
points = all_path_elements[-2..-2] 

範圍-1到-1它將能夠得到最後一塊。 -2至-2仍然是最後一塊。 -3至-3將獲得倒數第三名。它會跳過第二個到最後一個。我認爲,因爲它是最小的。但我可以用我的鼠標找到它。 是否有另一種方法來查找路徑元素?所以也許另一種方法可以解決我的問題。 我做了一個紅色的小圓點的地方跳過。 http://i.stack.imgur.com/tDAaH.png

+0

@justinko對不起justin,我已經爲此發佈了一個問題。 – PeterZDE

+1

如果您創建精確圖表的js-fiddle,它會非常有幫助(請轉至http://www.highcharts.com/demo/pie-basic並單擊jsFiddle中的編輯)。同樣,你想用這小塊餡餅做什麼? –

回答

0

我自己找出解決方案。而不是懸停在每個路徑元素上。我做了每個路徑元素的onmouseover的火災事件。

series1 = browser.element(:css => 'g.highcharts-tracker') 
all_path_elements = series1.elements(:css => 'path') 
points = all_path_elements[0..-1] 
point = points.find do |p| 
p.fire_event "onmouseover" 
puts browser.elements(:css => 'g.highcharts-tooltip tspan')[3].text 
end