2017-04-13 15 views
1

我有一個使用角度js構建的圖形。這是當我檢查圖形元素時得到的結果。如何從selenium webdriver c#使用angular JS構建的線圖獲取值?

<canvas 
ng-reflect-datasets="[object Object]" 
ng-reflect-labels="blahblah" 
ng-reflect-options="[object Object]" 
ng-reflect-chart-type="line" 
ng-reflect-colors="[object Object]" 
ng-reflect-legend="true"> 
</canvas> 

圖中的行具有正確的數據提示。 有人可以請指導我如何獲取值/工具提示值?

回答

2

CANVAS標籤就像頁面中的小程序,不包含顯示在其中的HTML,所以它不能與正常交互。您可以使用.MoveToElement(element, offsetX, offsetY)來執行諸如移動光標,點擊和懸停等操作,但這不是確定性的。如果內容發生變化,您就不會有任何想法,因爲它都是基於位置的,而不是基於元素的。您最好的選擇是與開發人員交談,如果您有權訪問這些開發人員,並讓他們爲您構建一個API,以便訪問CANVAS的內部並以此方式進行測試。

+0

感謝@JeffC的答覆 – NRT

0

我剛開始使用ngWebDriver for Java,我知道你可以在C#中使用Protractor.NET。

您可以使用ngWebDriver「ByAngular」定位器獲取您提到的ng- *元素。

例如,這是它的樣子像一個元素:

<select ng-model="operator" class="bla bla"/> 

driver.findElement(ByAngular.model("operator")) 
相關問題